บิลเพย์เมนต์

ช่องทางบิลเพย์เมนต์จะช่วยให้ผู้ซื้อสามารถชำระค่าสินค้าและบริการด้วยเงินสด โดยการนำบาร์โค้ดที่ได้รับจากร้านค้าไปแสดงที่หน้าเคาน์เตอร์บริการ

ปัจจุบันผู้ซื้อสามารถนำบาร์โค้ดไปสแกนจ่ายได้ที่เคาน์เตอร์บริการของเทสโก้โลตัสกว่า 1,800 สาขาทั่วประเทศ และกำลังขยายให้มีเคาน์เตอร์บริการอื่นเพิ่มเติมเร็วๆ นี้

* เทสโก้โลตัสมีการคิดค่าธรรมเนียมการชำระเงินรายการละ 10 บาท

ขั้นตอนการชำระเงิน

เมื่อผู้ซื้อมาถึงขั้นตอนการชำระเงินหลังจากใส่รายละเอียดในการจัดส่งและยืนยันรายการสินค้าเรียบร้อยแล้ว ขั้นตอนต่อไปผู้ซื้อจะทำการเลือกวิธีการชำระด้วย Tesco Lotus ดังรูปต่อไปนี้

Bill payment flow

ระบบจะทำการสร้างบาร์โค้ดเพื่อให้ผู้ซื้อนำไปสแกนชำระเงินที่หน้าเคาน์เตอร์บริการของเทสโก้ โลตัส บาร์โค้ดจะหมดอายุใน 24 ชั่วโมง

Bill payment flow 2

บาร์โค้ดที่แสดงต่อเจ้าหน้าที่ ณ เคาน์เตอร์ชำระเงินจะต้องมีความสูงไม่น้อยกว่า 1 เซนติเมตร

การสร้างรายการรับชำระเงินโดยใช้ Payment Source

ในการสร้างรายการรับชำระเงิน (charge) ผ่านช่องทางนี้จะต้องสร้าง source object โดยใช้ source api
ด้านล่างเป็นตัวอย่างการสร้าง source

curl https://api.omise.co/sources \
  -X POST \
  -u skey_test_59npyqikgqxtfqmfgq6: \
  -d "amount=10025" \
  -d "currency=thb" \
  -d "type=bill_payment_tesco_lotus"

*หมายเหตุ ยอดของรายการรับชำระเงิน (charge) จะต้องน้อยกว่าหรือเท่ากับ 4900000 (หน่วยย่อยที่สุดของบาท/สตางค์)

ตัวอย่าง JSON Response

{
  "object": "source",
  "id": "src_test_59o3faxp9fn4fksdryb",
  "type": "bill_payment_tesco_lotus",
  "flow": "offline",
  "amount": 10025,
  "currency": "thb"
}

*หมายเหตุ เมื่อสร้าง source object สามารถใช้ได้ทั้ง Secret Key และ Public Key

จากนั้นจะได้ผลลัพธ์เป็น source ที่สร้างเสร็จสมบูรณ์แล้ว สิ่งสำคัญที่สุดก็คือ id ซึ่งจะนำมาใช้ต่อไป สมมุติว่าไอดีของคุณคือ src_test_591h1soh3s1lgshy5av

ในการสร้างรายการรับชำระเงิน (charge) ให้ส่ง parameter ชื่อ source ใน charge api

curl https://api.omise.co/charges \
  -X POST \
  -u skey_test_5908gu7itt3vu89u9wk: \
  -d "description=Charge for order 3947" \
  -d "amount=10025" \
  -d "currency=thb" \
  -d "source=src_test_59o3j79gyhhbkqol794"

จะได้ผลลัพธ์ดังนี้

{
  "object": "charge",
  "id": "chrg_test_59o3j8ukevxlvj1vo5p",
  "livemode": false,
  "location": "/charges/chrg_test_59o3j8ukevxlvj1vo5p",
  "amount": 10025,
  "currency": "thb",
  "description": null,
  "metadata": {
  },
  "status": "pending",
  "capture": true,
  "authorized": false,
  "reversed": false,
  "paid": false,
  "transaction": null,
  "refunded": 0,
  "refunds": {
    "object": "list",
    "from": "1970-01-01T00:00:00Z",
    "to": "2017-10-18T06:25:08Z",
    "offset": 0,
    "limit": 20,
    "total": 0,
    "order": null,
    "location": "/charges/chrg_test_59o3j8ukevxlvj1vo5p/refunds",
    "data": [

    ]
  },
  "return_uri": null,
  "reference": null,
  "authorize_uri": null,
  "failure_code": null,
  "failure_message": null,
  "card": null,
  "customer": null,
  "ip": null,
  "dispute": null,
  "created": "2017-10-18T06:25:08Z",
  "source": {
    "object": "source",
    "id": "src_test_59o3j79gyhhbkqol794",
    "references": {
      "omise_tax_id": "0105556091152",
      "reference_number_1": "789164909013218240",
      "reference_number_2": "437059934205645755",
      "barcode": "https://api.omise.co/charges/chrg_test_59o3j8ukevxlvj1vo5p/documents/docu_test_59o3j8xlm2n5qew173e/downloads/6B5B4C0F8DE54221",
      "expires_at": "2017-10-19T06:25:08Z"
    },
    "type": "bill_payment_tesco_lotus",
    "flow": "offline",
    "amount": 10025,
    "currency": "thb"
  }
}

สถานะรายการ

สถานะ รายละเอียด
สำเร็จ ผู้จ่ายได้ทำการชำระเงินแล้ว (authorized = true and paid = true)
กำลังดำเนินการ ผู้จ่ายยังไม่ได้ทำการชำระเงิน
หมดอายุ ผู้จ่ายไม่ชำระเงินภายใน 24 ชั่วโมง
ไม่สำเร็จ รายการชำระเงินไม่สำเร็จ สามารถเรียกดูสาเหตุได้จาก failure_code และ failure_message ในข้อมูลรายการ

รหัสข้อขัดข้อง

รหัสข้อขัดข้อง รายละเอียด
bad_request ยอดของรายการรับชำระเงิน (charge) จะต้องน้อยกว่าหรือเท่ากับ 4900000 (หน่วยย่อยที่สุดของบาท/สตางค์)
bad_request ระบบยังไม่รองรับสกุลเงินดังกล่าว
bad_request ระบบยังไม่รองรับ type ที่ระบุ
bad_request source ไม่ถูกต้อง
not_found ไม่พบ source source_id

Webhooks

ร้านค้าสามารถรับการแจ้งเตือนเมื่อผู้ซื้อชำระเงินสำเร็จ โดยใช้ Webhook API ซึ่งจะส่ง webhook ไปยัง URL ที่ ในแดชบอร์ดที่ได้ตั้งไว้ รายการจะแสดงเป็น charge.complete

การสร้างรายการรับชำระเงิน (charge) โดยการเพิ่ม attribute source[type]

curl https://api.omise.co/charges \
  -X POST \
  -u skey_test_5908gu7itt3vu89u9wk: \
  -d "description=Charge for order 3947" \
  -d "amount=10025" \
  -d "currency=thb" \
  -d "source[type]=bill_payment_tesco_lotus"

แม้รายการรับชำระเงินจะสามารถสร้างโดยเพิ่ม attribute source [type] ลงใน request ได้ แต่เราแนะนำให้สร้างรายการโดยใช้ payment source api

หมายเหตุ

- การรับชำระเงินผ่านบิลเพย์เมนต์ รองรับเฉพาะร้านค้าที่ลงทะเบียนใช้งานโอมิเซะในประเทศไทยเท่านั้น

- สำหรับร้านค้าที่อยู่ในโหมดใช้งานจริง (live account) อยู่แล้ว กรุณาส่งอีเมล์แจ้งความประสงค์ต้องการเปิดใช้งานบิลเพย์เมนต์ผ่านทาง support@omise.co