NAV Navbar
  • บทนำ
  • เงื่อนไขในการเชื่อมต่อ
  • API Specifications (Payment)
  • API Specifications (After Payment)
  • ภาคผนวก
  • บทนำ

    บทนี้อธิบายเกี่ยวกับหน้าที่ของ LINE Pay

    การแนะนำเกี่ยวกับ LINE Pay

    เอกสารนี้สำหรับผู้พัฒนาที่ต้องการเชื่อมต่อกับ LINE Pay

    Line pay overview offline

    เงื่อนไขในการเชื่อมต่อ

    บทนี้อธิบายเกี่ยวกับสิ่งที่จำเป็นและการเตรียมความพร้อมสำหรับการเชื่อมต่อกับ LINE Pay

    ความต้องการของระบบ

    การเชื่อมต่อ API กับ LINE Pay เป็นการสื่อสารเบื้องต้นระหว่าง LINE Pay กับระบบของร้านค้า ดังนั้นจึงจำเป็นที่ต้องทำการเชื่อมต่อกับระบบการชำระเงินที่ร้านค้าเตรียมไว้ต่างหาก

    การเตรียมความพร้อมก่อนการเชื่อมต่อ

    ก่อนทำการเชื่อมต่อ API ของการชำระเงิน LINE Pay ร้านค้าต้องสมัครเพื่อจะเป็นร้านค้า LINE Pay และตรวจสอบข้อมูลที่สำคัญสำหรับการเชื่อมต่อก่อน

    การลงทะเบียนร้านค้า

    ร้านค้าต้องลงทะเบียนเป็นร้านค้า LINE Pay เพื่อทำการเชื่อมต่อระบบการชำระเงินของ LINE Pay หากต้องการดูขั้นตอนการลงทะเบียน ร้านค้าสามารถดาวน์โหลดคู่มือการลงทะเบียนร้านค้า LINE Pay ได้ที่หน้าเว็บ (Location: https://pay.line.me/developers/documentation/download/tech?locale=th_TH – คู่มือการลงทะเบียนร้านค้า LINE Pay)

    ขั้นตอนการเชื่อมต่อ

    1. การลงทะเบียน White list ใน Payment Server ของร้านค้า a. LINE Pay จำกัดการเข้าถึงเซิร์ฟเวอร์ ด้วย channel ID ที่ออกให้เฉพาะสำหรับแต่ละร้านค้า โดยการลงทะเบียน IP ใน Payment Server ของร้านค้า b. การลงทะเบียน IP สามารถทำได้ที่นี่ - "ล็อกอินเข้าสู่ Merchant Center (http://pay.line.me) - การจัดการการเชื่อมต่อระบบชำระเงิน - IP สำหรับจัดการ Payment Server"
    2. การยืนยัน Channel ID และ Channel Secret a. นี่เป็นข้อมูลสำคัญสำหรับการเชื่อมต่อ API และสามารถดูได้ที่นี่ - "ล็อกอินเข้าสู่ Merchant Center (http://pay.line.me) - การจัดการการเชื่อมต่อระบบชำระเงิน - จัดการ Link Key". b. ข้อมูลนี้จะไม่ถูกแสดงในที่ต่างๆ เนื่องจากเป็นข้อมูลเฉพาะสำหรับแต่ละร้านค้า
    3. การตรวจสอบสกุลเงินที่ใช้ได้ สำหรับการเชื่อมต่อการชำระเงิน a. ร้านค้า LINE Pay สามารถใช้ได้เพียงสกุลเงินเดียวเท่านั้นสำหรับการเชื่อมต่อ API และสกุลเงินที่ใช้ได้เป็นตามด้านล่างนี้ สามารถดูได้ที่นี่ - "ล็อกอินเข้าสู่ Merchant Center (http://pay.line.me) - จัดการข้อมูลทั่วไป - ข้อมูลร้านค้า"
    4. JPY
    5. USD
    6. THB
    7. TWD

    ขั้นตอนการเชื่อมต่อ

    Payment Sequence diagram

    อธิบายเกี่ยวกับขั้นตอนวิธีการชำระเงิน

    เป้าหมายของ API

    Payment sequence diagram offline

    ภาพประกอบ 2 Payment Sequence diagram

    คำอธิบายเกี่ยวกับ Payment Sequence

    1. ผู้ใช้บริการ LINE Pay แสดง MyCode (Barcode/QR Code) ต่ออุปกรณ์ของร้านค้า
    2. อุปกรณ์ของร้านค้าอ่าน MyCode (Barcode/QR Code)
    3. อุปกรณ์ของร้านค้าร้องขอการชำระเงินการ Payment Server ของร้านค้า
    4. Payment Server ของร้านค้า เรียก Payment API
    5. ตรวจสอบข้อมูลการตอบสนองของ API และยืนยันว่าการชำระเงินนั้นสมบูรณ์หรือไม่
    6. Payment Server ของร้านค้า ตอบสนองผลการชำระเงินไปยังอุปกรณ์ของร้านค้า
    7. เซิร์ฟเวอร์ของ LINE Pay แจ้งผลการชำระเงิน (สำเร็จ / ล้มเหลว) ไปยังผู้ใช้บริการ LINE Pay ผ่านทางข้อความ Push หรือ LINE Pay Official Account Message

    After Payment Sequence

    API หลังจากขั้นตอนการสร้างการชำระเงิน จะสามารถประมวลผลได้ โดยการเรียก API อีกครั้ง

    เป้าหมายของ API

    API Specifications (Payment)

    บทนี้อธิบายเกี่ยวกับ API ที่ใช้จากการอ่าน "oneTimeKey" ("MyCode" ในเมนูหลักของ LINE Pay) ซึ่งเกิดจากผู้ใช้บริการ LINE Pay เพื่อชำระเงินให้สมบูรณ์

    Payment

    API นี้เพื่อใช้ในการชำระเงิน โดยการอ่าน MyCode ที่ได้รับจาก LINE Pay App บนอุปกรณ์ของร้านค้า

    Specification

    ตาราง 1 Payment API Endpoint

    Item|Description รายการ|รายละเอียด Endpoint URL|Sandbox: https://sandbox-api-pay.line.me/v2/payments/oneTimeKeys/pay
    Product: https://api-pay.line.me/v2/payments/oneTimeKeys/pay Method|POST Request Header|Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no Timeout|Read: 20 วินาที

    ตาราง 2 Payment API Request Body

    Name Type Mandatory description
    productName string(4000) Y product name
    amount number(38) Y amount to payment
    currency string(3) Y currency to payment
    orderId string(100) Y OrderId given by merchant device. (unique on merchant-side)
    oneTimeKey string(12) Y Result of scanning and reading QR/Bar code information given by LINE Pay App.
    oneTimeKey มีอายุการใช้งานคือ 5 นาที ดังนั้นมันจะใช้ได้ 5 นาทีนับจากเวลาที่ผู้ใช้บริการ LINE Pay ยืนยัน QR/Bar Code หลังจากเข้าถึงหน้าจอ MyCode
    capture boolean N Whether to capture or not. A boolean value (true or false) default is true.
    true(default): payment authorization and capture are handled at once
    false: payment is completed only after it is authorized then separately capture by calling "Capture API"

    ตาราง 3 Payment API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay.
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure
    info.transactionId number(19) Y LINE Pay's transaction id
    info.orderId string(100) Y OrderId given by merchant device. (unique on merchant-side)
    info.transactionDate string(20) Y Transaction Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    info.payInfo[].method string(20) Y Payment method used
    - CREDIT_CARD
    - BALANCE
    - DISCOUNT
    info.payInfo[].amount number(38) Y payment amount
    info.balance number(38) N remained balance after payment.
    info.authorizationExpireDate string(20) N Authorization Expire Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    when the payment status is "AUTHORIZATION"(capture=false).
    * reference : https://en.wikipedia.org/wiki/ISO_8601

    Request

    
    POST https://sandbox-api-pay.line.me/v2/payments/oneTimeKeys/pay HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    {
        "productName": "test product",
        "amount": 100,
        "currency": "THB",
        "orderId": "merchant_test_order_1",
        "oneTimeKey": "123456789012"
    }
    
    

    Response Body - การชำระเงินสมบูรณ์

    
    {
        "returnCode": "0000",
        "returnMessage": "success",
        "info": {
            "transactionId": "2016010112345678910",
            "orderId": "test_order_#1",
            "transactionDate": "2016-01-01T01:01:00Z",
            "payInfo": [{
                "method": "BALANCE",
                "amount": 10
            }, {
                "method": "DISCOUNT",
                "amount": 5
            }],
            "balance": 9900
        }
    }
    
    

    Payment Status Check

    โปรดใน API นี้ในการตรวจสอบสถาณะการชำระเงิน ในกรณีที่รายการนั้นๆ ไม่ได้ รับ response เนื้องจาก time out

    Specification

    ตาราง 4 Payment Status Check API Endpoint

    รายการ รายละเอียด
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/check
    Product : https://api-pay.line.me/v2/payments/orders/{orderId}/check
    Method GET
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 5 Payment Status Check API URI Parameters

    Name Type Mandatory description
    orderId string(100) Y - Order ID ถูกส่งเมื่อร้านค้าขอเพื่อการชำระเงิน
    - Order ID จะถูกส่งให้หลังจากเข้ารหัสพารามิเตอร์ที่มีอยู่ใน URI
    * reference : https://en.wikipedia.org/wiki/Percent-encoding

    ตาราง 6 Payment Status Check API Response Body

    Name Type Mandatory description
    returnCode string(4) Y result code
    - 0000 : API การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y result messages
    info.status string(20) Y payment status
    - COMPLETE : payment completed. - terminated status
    - FAIL : payment failed. - terminated status
    * reference : ในกรณีที่ “COMPLETE” หรือ “FAIL” จะมีข้อมูลการตอบสนองเพิ่มเติม
    case "info.status" : "COMPLETE"
    info.orderId string(100) Y OrderId given by merchant device. (unique on merchant-side)
    info.transactionDate string(20) Y Transaction Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    info.payInfo[].method string(20) Y Payment method used
    - CREDIT_CARD
    - BALANCE
    - DISCOUNT
    info.payInfo[].amount number(38) Y payment amount
    info.balance number(38) N remained balance after payment.
    info.authorizationExpireDate string(20) N Authorization Expire Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    when the payment status is "AUTHORIZATION"(capture=false).
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    case "info.status" : "FAIL"
    info.failReturnCode string(4) Y Fail result code
    - รหัสการตอบสนอง กรุณาดูได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    - รหัสการตอบสนองจะเหมือนกันกับรหัสการตอบสนองของ Payment API
    info.failReturnMessage string(100) Y Fail result messages

    Request

    
    - ถ้า “orderId” คือ “test_order_#1”, 
    GET https://sandbox-api-pay.line.me/v2/payments/orders/test_order_%231/check HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    

    Response Body - ในกรณีที่ Status คือ “COMPLETE”

    
    {
        "returnCode": "0000",
        "returnMessage": "success",
        "info": {
            "status": "COMPLETE",
            "transactionId": "2016010112345678910",
            "orderId": "test_order_#1",
            "transactionDate": "2016-01-01T01:01:00Z",
            "payInfo": [{
                "method": "BALANCE",
                "amount": 10
            }, {
                "method": "DISCOUNT",
                "amount": 5
            }],
            "balance": 9900
        }
    }
    
    

    Response Body - ในกรณีที่ Status คือ “FAIL”

    
    {
        "returnCode": "0000",
        "returnMessage": "success",
        "info": {
            "status": "FAIL",
            "failReturnCode": "1142",
            "failReturnMessage" : "Insufficient balance remains."
        }
    }
    
    

    API Specifications (After Payment)

    บทนี้อธิบายเกี่ยวกับ API เพื่อคืนเงินสำหรับยอดที่ชำระเข้ามา หรือเพื่อค้นหาประวัติการชำระเงิน ซึ่งขึ้นอยู่กับสถานะคำสั่งซื้อของร้านค้านั้น หลังจากการชำระเงินเสร็จสิ้น

    Void

    API นี้เพื่อใช้ยกเลิกการขออนุมัติวงเงิน

    Specification

    ตาราง 7 Void API Endpoint

    รายการ รายละเอียด
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/void
    Product : https://api-pay.line.me/v2/payments/orders/{orderId}/void
    Method POST
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 8 Void API URI Parameters

    Name Type Mandatory description
    orderId string(100) Y - Order ID ถูกส่งเมื่อร้านค้าขอเพื่อการชำระเงิน
    - Order ID จะถูกส่งให้หลังจากเข้ารหัสพารามิเตอร์ที่มีอยู่ใน URI
    * reference : https://en.wikipedia.org/wiki/Percent-encoding

    ตาราง 9 Void API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure

    Request

    
    - ถ้า “orderId” คือ “test_order_#1”,
    POST https://sandbox-api-pay.line.me/v2/payments/orders/test_order_%231/void HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    

    Response - ความสมบูรณ์ของการชำระเงิน

    
    {
        "returnCode": "0000",
        "returnMessage": "success"
    }
    
    

    Capture

    API นี้เพื่อใช้จัดเก็บเงินสำหรับรายการที่ขออนุมัติวงเงินแล้ว

    Specification

    ตาราง 10 Capture API Endpoint

    รายการ รายละเอียด
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/capture
    Product : https://api-pay.line.me/v2/payments/orders/{orderId}/capture
    Method POST
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 11 Capture API URI Parameters

    Name Type Mandatory description
    orderId string(100) Y - Order ID ถูกส่งเมื่อร้านค้าขอเพื่อการชำระเงิน
    - Order ID จะถูกส่งให้หลังจากเข้ารหัสพารามิเตอร์ที่มีอยู่ใน URI
    * reference : https://en.wikipedia.org/wiki/Percent-encoding

    ตาราง 12 Capture API Request Body

    Name Type Mandatory description
    amount number(38) Y amount to capture
    currency string(3) Y currency to capture

    ตาราง 13 Capture API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure
    info.transactionId number(19) Y LINE Pay's transaction id
    info.orderId string(100) Y OrderId given by merchant device. (unique on merchant-side)
    info.payInfo[].method string(20) Y Payment method used
    - CREDIT_CARD
    - BALANCE
    - DISCOUNT
    info.payInfo[].amount number(38) Y payment amount

    Request

    
    - ถ้า “orderId” คือ “test_order_#1”, 
    
    POST https://sandbox-api-pay.line.me/v2/payments/orders/test_order_%231/capture HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    {
        "amount": "100"
        "currency": "THB
    }
    
    

    Response

    
    {
        "returnCode": "0000",
        "returnMessage": "success",
        "info": {
            "transactionId": "2016010112345678910",
            "orderId": "test_order_#1",
            "transactionDate": "2016-01-01T01:01:00Z",
            "payInfo": [{
                "method": "BALANCE",
                "amount": 95
            }, {
                "method": "DISCOUNT",
                "amount": 5
            }],
            "balance": 9900
        }
    }
    
    

    Refund

    API นี้เพื่อใช้สำหรับการคืนเงิน หลังจากการชำระเงินสมบูรณ์ (ข้อมูลการจัดเก็บเงิน).

    Specification

    ตาราง 14 Refund API Endpoint

    Item Description
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments/orders/{orderId}/refund
    Product : https://api-pay.line.me/v2/payments/orders/{orderId}/refund
    Method POST
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 15 Refund API URI Parameters

    Name Type Mandatory description
    orderId string(100) Y - Order ID ถูกส่งเมื่อร้านค้าขอเพื่อการชำระเงิน
    - Order ID จะถูกส่งให้หลังจากเข้ารหัสพารามิเตอร์ที่มีอยู่ใน URI
    * reference : https://en.wikipedia.org/wiki/Percent-encoding

    ตาราง 16 Refund API Request Body

    Name Type Mandatory description
    refundAmount number(38) N amount to refund.
    - Full refund if this parameter is not passed

    ตาราง 17 Refund API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure
    info.refundTransactionId number(19) Y LINE Pay's refund transaction id
    info.refundTransactionDate string(20) Y Refunded Transaction Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601

    Request

    
    - ถ้า “orderId” คือ “test_order_#1”,
    POST https://sandbox-api-pay.line.me/v2/payments/orders/test_order_%231/refund HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    {
        "refundAmount": "100"
    }
    
    
    

    Response

    
    {
        "returnCode": "0000",
        "returnMessage": "success",
        "info": {
            "refundTransactionId": "2016010112345678910",
            "refundTransactionDate": "2016-01-01T01:01:00Z"
        }
    }
    
    
    

    Authorization Details

    API นี้เพื่อใช้ในการค้นหารายละเอียดการขออนุมัติวงเงิน ข้อมูลที่ได้รับอนุญาต หรือถูกยกเลิก (Void or Expire) เท่านั้นที่จะสามารถค้นหาได้ และข้อมูลหลังจากการจัดเก็บเงินจะสามารถค้นหาได้จาก Payment Details API

    Specification

    ตาราง 18 Authorization Details API Endpoint

    รายการ รายละเอียด
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments/authrozations
    Product : https://api-pay.line.me/v2/payments/authorizations
    Method GET
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 19 Authorization Details API Query Parameters

    Name Type Mandatory description
    orderId string(100) N Order ID ถูกส่ง เมื่อร้านค้าขอเพื่อการชำระเงิน
    transactionId number(19) N LINE Pay’s transaction id

    ตาราง 20 Authorization Details API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure
    info.transactionId number(19) Y LINE Pay's transaction id
    info.orderId string(100) Y OrderId given by merchant device. (unique on merchant-side)
    info.transactionDate string(20) Y Transaction Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    info.transactionType String(20) Y Transaction Type
    - PAYMENT : payment
    - PAYMENT_REFUND : refund
    - PARTIAL_REFUND : partial refund
    info.payInfo[].method string(20) Y Payment method used
    - CREDIT_CARD
    - BALANCE
    - DISCOUNT
    info.payInfo[].amount number(38) Y Payment amount
    info.currency string(3) Y Payment currency
    * reference : https://en.wikipedia.org/wiki/ISO_4217
    info.productName string( Y Product name
    info.payStatus string(30) Y Payment status
    - AUTHORIZATION : การขออนุมัติจองวงเงิน
    - VOIDED_AUTHORIZATION : การขออนุมัติจองวงเงินถูกยกเลิก (สถานะสมบูรณ์ โดยการเรียก “void api”)
    - EXPIRED_AUTHORIZATION : การขออนุมัติจองวงเงินหมดอายุ (สถานะที่อนุญาตช่วงเวลาในการขออนุมัติจองวงเงินสำหรับร้านค้าหมดอายุ)
    info.authorizationExpireDate string(20) N Authorization Expire Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601

    Request

    
    GET https://sandbox-api-pay.line.me/v2/payments/authorizations?orderId=20160408003 HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    

    Response

    
    {
      "returnCode": "0000",
      "returnMessage": "success",
      "info": [
        {
          "transactionId": 2016049910005498410,
          "transactionDate": "2016-04-08T07:02:38Z",
          "transactionType": "PAYMENT",
          "productName": "test product",
          "currency": "THB",
          "authorizationExpireDate": "2016-04-13T07:02:38Z",
          "payInfo": [
            {
              "method": "BALANCE",
              "amount": 100
            }
          ],
          "orderId": "20160408003",
          "payStatus": "VOIDED_AUTHORIZATION"
        }
      ]
    }
    
    

    Payment Details

    API นี้เพื่อใช้ในการค้นหาข้อมูลรายการหลังจากทำการจัดเก็บเงิน

    Specification

    ตาราง 21 Payment Details API Endpoint

    รายการ รายละเอียด
    Endpoint URL Sandbox : https://sandbox-api-pay.line.me/v2/payments
    Product : https://api-pay.line.me/v2/payments
    Method GET
    Request Header Required
    - Content-Type: application/json; charset=UTF-8
    - X-LINE-ChannelId: {ข้อมูลการเชื่อมต่อ - channelId}
    - X-LINE-ChannelSecret: {ข้อมูลการเชื่อมต่อ - channelSecretKey}
    ตั้งค่าว่ามันจำเป็นหรือไม่ในข้อมูลการตั้งค่าร้านค้า
    - X-LINE-MerchantDeviceType : device type
    - X-LINE-MerchantDeviceProfileId : device’s serial no
    Timeout Read : 20 วินาที

    ตาราง 22 Payment Details API Query Parameters

    Name Type Mandatory description
    orderId string(100) N Order ID ถูกส่ง เมื่อร้านค้าขอเพื่อการชำระเงิน
    transactionId number(19) N LINE Pay’s transaction id

    ตาราง 23 Payment Details API Response Body

    Name Type Mandatory description
    returnCode string(4) Y Result code generated by LINE Pay
    - 0000 : การขอ API สำเร็จ
    - รหัสการตอบสนองอื่น สามารถพบได้ที่ "ภาคผนวก - รหัสการตอบสนอง โดย API" ในเอกสารนี้
    returnMessage string(100) Y Result messages or reason for failure
    info.transactionId number(19) Y LINE Pay's transaction id
    info.orderId string(100) Y OrderId given by merchant device.
    - unique on merchant-side
    info.transactionDate string(20) Y Transaction Date(ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    info.transactionType String(20) Y Transaction Type
    - PAYMENT : payment
    - PAYMENT_REFUND : refund
    - PARTIAL_REFUND : partial refund
    info.payInfo[].method string(20) Y Payment method used
    - CREDIT_CARD
    - BALANCE
    - DISCOUNT
    info.payInfo[].amount number(38) Y Payment amount
    info.currency string(3) Y Payment currency
    * reference : https://en.wikipedia.org/wiki/ISO_4217
    info.productName string(4000) Y Product name
    Retrieving original transactions & When there is a refund
    info.refundList[].refundTransactionId number(19) Y Refunded transaction id
    info.refundList[].transactionType string(20) Y Transaction type
    - PAYMENT_REFUND : refund
    - PARTIAL_REFUND : partial refund
    info.refundList[].refundAmount number(38) Y Refund amount
    info.refundList[].refundTransactionDate String(20) Y Refunded transaction date (ISO8601 UTC).
    - Time Format : yyyy-MM-dd'T'HH:mm:ss'Z'
    * reference : https://en.wikipedia.org/wiki/ISO_8601
    When retrieving a refund
    info.originalTransactionId number(19) Y Original payment transaction number

    Request

    
    GET https://sandbox-api-pay.line.me/v2/payments/?orderId=20160408001 HTTP/1.1
    Host: sandbox-api-pay.line.me
    Content-Type: application/json
    X-LINE-ChannelId: {channel id}
    X-LINE-ChannelSecret: {channel secret}
    X-LINE-MerchantDeviceType: POS
    X-LINE-MerchantDeviceProfileId: DUMMY
    
    

    Response

    
    {
      "returnCode": "0000",
      "returnMessage": "success",
      "info": [
        {
          "transactionId": 2016049910005496810,
          "transactionDate": "2016-04-08T06:31:19Z",
          "transactionType": "PAYMENT",
          "productName": "test product",
          "currency": "THB",
          "payInfo": [
            {
              "method": "BALANCE",
              "amount": 100
            }
          ],
          "refundList": [
            {
              "refundTransactionId": 2016049910005497012,
              "transactionType": "PARTIAL_REFUND",
              "refundAmount": -1,
              "refundTransactionDate": "2016-04-08T06:33:17Z"
            }
          ],
          "orderId": "20160408001"
        }
      ]
    }
    
    

    ภาคผนวก

    รหัสการตอบสนอง

    ส่วนนี้จะนิยามเกี่ยวกับรหัสแสดงข้อผิดพลาดที่เกิดขึ้นบน LINE Pay โดย returnMessage สำหรับรหัสแสดงข้อผิดพลาดจะแสดงเป็นภาษาอังกฤษ ถ้าไม่มีข้อความ เครื่องหมายขีด (-) จะแสดงขึ้น

    ตาราง 24 LINE Pay รหัสการตอบสนอง

    รหัส(returnCode) รายละเอียด (300byte)
    0000 สำเร็จ
    1101 ผู้ใช้งานที่ซื้อแล้วอยู่ในสถานะที่ไม่สามารถทำธุรกรรมได้
    1102 ผู้ใช้งานที่ซื้อแล้วอยู่ในสถานะที่ไม่สามารถทำธุรกรรมได้
    1104 ไม่มีข้อมูลร้านค้าดังกล่าวอยู่
    1105 ร้านค้านี้ไม่สามารถใช้ LINE Pay
    1106 ข้อมูลเฮดเดอร์พบข้อผิดพลาด
    1110 ไม่มีข้อมูลบัตรเครดิต
    1124 จำนวนเงินไม่ถูกต้อง
    1133 oneTimeKey ไม่ถูกต้อง
    1141 สถานะบัญชีไม่ถูกต้อง
    1142 เงินในบัญชีไม่เพียงพอ
    1145 รายการชำระเงินอยู่ระหว่างประมวลผล
    1150 ไม่พบรายการดังกล่าว
    1152 รายการดังกล่าวได้ถูกชำระก่อนหน้าแล้ว
    1153 ยอดเงินที่เรียกชำระต่างจากยอดเงินจริง
    1155 ไอดีธุรกรรมที่ไม่สามารถชำระเงินคืนได้
    1159 การร้องขอรายละเอียดการชำระเงินถูกระงับ
    1163 ระยะเวลาการทำรายการคืนเงินเกินกำหนด
    1164 เกินยอดจำกัดของการคืนเงิน
    1165 ธุรกรรมนี้ได้รับการคืนเงินแล้ว
    1169 ความผิดพลาดของข้อมูลในการยืนยันการชำระเงิน
    1170 ยอดเงินคงเหลือในบัญชีมีการเปลี่ยนแปลง
    1172 orderId ซ้ำกับในระบบ
    1177 เกินจำนวนธุรกรรมสูงสุด (100) ที่อนุญาตให้ดึงข้อมูล
    1178 ไม่รองรับสกุลเงินดังกล่าว
    1179 ไม่สามารถประมวลผลสถานะรายการได้
    1183 จำนวนเงินชำระต้องมากกว่า 0
    1184 ยอดเงินที่ชำระมากกว่ายอดเงินที่เรียกเก็บ
    1198 มีการเรียก API ซ้ำซ้อน
    1199 ข้อมูลภายในผิดพลาด
    1280 มีการผิดพลาดบางส่วน ในขณะที่ชำระด้วยบัตรเครดิต
    1281 มีการผิดพลาดบางส่วน ในขณะที่ชำระด้วยบัตรเครดิต
    1282 ข้อผิดพลาดการอนุมัติบัตรเครดิต
    1283 การชำระเงินถูกปฏิเสธเนื่องจากสงสัยว่ามีการโกง
    1284 การชำระเงินด้วยบัตรเครดิตไม่สามารถใช้ได้ชั่วคราว
    1285 ไม่มีข้อมูลบัตรเครดิต
    1286 ข้อมูลการชำระเงินด้วยบัตรเครดิตไม่ถูกต้อง
    1287 ผ่านวันที่ครบกำหนดอายุการใช้งานของบัตรเครดิตไปแล้ว
    1288 บัตรเครดิตมีเงินไม่เพียงพอ
    1289 เกินวงเงินสูงสุดของบัตรเครดิต
    1290 เกินยอดเงินที่สามารถชำระได้ในหนึ่งครั้ง
    1291 บัตรนี้ได้รับการรายงานว่าเป็นบัตรที่ถูกขโมย
    1292 บัตรนี้ถูกระงับ
    1293 หมายเลขยืนยันเจ้าของบัตร (CVN) ไม่ถูกต้อง
    1294 บัตรนี้ติดบัญชีดำ
    1295 หมายเลขบัตรเครดิตไม่ถูกต้อง
    1296 จำนวนเงินไม่ถูกต้อง
    1298 การชำระเงินด้วยบัตรเครดิตถูกปฏิเสธ
    1900 ข้อผิดพลาดชั่วคราว, ลองอีกครั้ง
    1901 ข้อผิดพลาดชั่วคราว, ลองอีกครั้ง
    1902 ข้อผิดพลาดชั่วคราว, ลองอีกครั้ง
    1903 ข้อผิดพลาดชั่วคราว, ลองอีกครั้ง
    1999 ข้อมูลไม่ตรงกับการจองชำรำเงิน (เมื่อทำการจองการชำระเงินอีกครั้ง)
    2101 พารามิเตอร์ไม่ถูกต้อง
    2102 ข้อมูลรูปแบบ JSON ไม่ถูกต้อง
    2103 การจองชำระเงินไม่ถูกต้อง, กรุณาตรวจสอบข้อมูลที่ตอบกลับ
    2104 การจองชำระเงินไม่ถูกต้อง, กรุณาตรวจสอบข้อมูลที่ตอบกลับ
    9000 ข้อมูลผิดพลาดภายใน

    รหัสการตอบสนอง โดย API

    ตาราง 25 รหัสการตอบสนอง โดย API

    Error Code Payment Payment status check Capture Void Refund Authorization Details Payment Details
    1101 v v v
    1102 v v v
    1104 v v v v v v v
    1105 v v v v v v v
    1106 v v v v v v v
    1110 v
    1124 v v
    1133 v
    1141 v
    1142 v
    1145 v
    1150 v v v v v v
    1152 v
    1153 v
    1154
    1155 v v v
    1159 v
    1163 v
    1164 v
    1165 v
    1170 v v v      
    1172 v v
    1177 v v
    1178 v
    1179 v v v
    1183 v v
    1184 v v
    1194 v
    1198 v v v v
    1199 v v v v
    1900 v v v
    1901 v
    1902 v
    1903 v
    1999 v v v
    2101 v v v v v v v
    2102 v v v v v v v
    2103 v v v v v v v
    2104 v v v v v v v
    9000 v v v v v v v