ร้านสะดวกซื้อ
หัวข้อทั้งหมดในหน้านี้
การรับชำระเงินผ่านร้านสะดวกซื้อ (หรือ Konbini) เป็นช่องทางการรับชำระเงินที่เปิดให้บริการในประเทศญี่ปุ่น โดยร้านค้าจะออกบาร์โค้ดเพื่อให้ผู้ซื้อใช้ชำระเงิน ณ ร้านสะดวกซื้อที่รองรับ
ร้านค้าที่โอมิเซะรองรับมีดังนี้ เซเว่น อีเลฟเว่น, เซอร์เคิล เค ซันคุส, ลอว์สัน, มินิสต๊อป, เซโกมาร์ท, และแฟมิลีมาร์ท ซึ่งมีสาขาอยู่ทั่วประเทศญี่ปุ่น
- ช่องทางการรับชำระเงินผ่านร้านค้าสะดวกซื้อ เปิดให้บริการสำหรับร้านค้าที่ลงทะเบียนใช้งานระบบรับชำระเงินโอมิเซะในประเทศญี่ปุ่นเท่านั้น
- รองรับการใช้งานกับ API เวอร์ชัน 2017-11-02 ขึ้นไป
- สามารถเปิดให้ใช้งานกับบัญชีประเภทนิติบุคคลเท่านั้น (ไม่สามารถให้บริการกับบุคคลธรรมดาได้)
ขั้นตอนการชำระเงิน
ในการซื้อสินค้าออนไลน์เมื่อผู้ซื้อเลือกสินค้าลงตะกร้า กรอกที่อยู่สำหรับจัดส่ง และยืนยันคำสั่งซื้อเรียบร้อยแล้ว จะมาถึงขั้นตอนการชำระเงิน ในการชำระเงินผ่านร้านสะดวกซื้อให้เลือกที่ Convenience Store
ระบบจะให้ผู้ซื้อกรอกอีเมล์และเบอร์โทรศัพท์ และจะแสดงตัวเลือกของร้านสะดวกซื้อทั้งหมดที่ผู้ซื้อสามารถชำระเงินได้
เมื่อผู้ซื้อทำธุรกรรมทางออนไลน์สำเร็จแล้วจะเป็นขั้นตอนการชำระเงินที่ร้านค้าสะดวกซื้อ
เมื่อผู้ซื้อชำระเงินเสร็จเรียบร้อย ทางโอมิเซะจะได้รับแจ้งเตือนและจะแสดงผลการชำระดังกล่าวแก่ร้านค้า
สร้างรายการรับชำระเงินโดยใช้ Payment Source
ในการสร้างรายการรับชำระเงิน (charge) ให้สร้าง source object ก่อน โดยใช้ Source API
ตัวอย่างการสร้าง source
curl https://api.omise.co/sources \
-X POST \
-u skey_test_59rnqoboimgxvjk894d: \
-d "amount=200" \
-d "currency=jpy" \
-d "type=econtext" \
-d "name=Customer" \
-d "email=customer@email.co" \
-d "phone_number=01234567891"
ตัวอย่าง JSON response
*การรับชำระเงินผ่านร้านสะดวกซื้อ กำหนดยอดขั้นต่ำของรายการที่ 200 เยน และยอดจะต้องไม่เกิน 49999 เยน
JSON Response
{
"object": "source",
"id": "src_5babhlfyw8g7smtk44u",
"livemode": true,
"location": "/sources/src_5babhlfyw8g7smtk44u",
"type": "econtext",
"flow": "offline",
"amount": 200,
"currency": "jpy",
"name": "Customer",
"email": "customer@email.co",
"phone_number": "01234567891"
}
*ในการสร้าง source object สามารถใช้ได้ทั้ง secret key และ public key
ร้านค้าจะได้รับ source เป็นผลลัพธ์ ส่วนสำคัญใน source object คือ id
ซึ่งจะนำมาใช้ในขั้นตอนการสร้างรายการรับชำระเงินต่อไป ในเอกสารฉบับนี้ใช้ src_5babhlfyw8g7smtk44u
เป็น id ตัวอย่าง
ในการสร้างรายการรับชำระเงิน ให้ส่ง parameter source
ใน charge api
การตั้งค่าอายุของรายการรับชำระเงิน
ในการกำหนดวันหมดอายุของรายการรับชำระเงิน ให้เพิ่ม parameter expiry_date
พร้อมกำหนดวันที่ (อิงมาตรฐาน ISO 8601) หากไม่มีการกำหนดค่าระบบจะเลือกใช้การตั้งค่าของบัญชีผู้ใช้ หรือกำหนดให้เป็น 7 วันตามค่าพื้นฐานของระบบโอมิเซะ
ข้อควรรู้สำคัญในการกำหนดระยะเวลาหมดอายุของรายการรับชำระเงิน
- 7-11 กำหนดระยะเวลาการชำระเงินได้ไม่เกิน 60 วัน
- เราแนะนำให้กำหนดระยะเวลาในการชำระเงินภายใน 365 วัน
- หากไม่มีการระบุเวลา ระบบจะยึดเอาเวลาสิ้นสุดวันเป็นค่าพื้นฐาน
ตัวอย่างรายการรับชำระเงินที่มีการกำหนด expiry_date
และ source
เอาไว้แล้ว
curl https://api.omise.co/charges \
-X POST \
-u skey_test_59rnqoboimgxvjk894d: \
-d "description=Your description here" \
-d "amount=200" \
-d "currency=jpy" \
-d "source=src_5babhlfyw8g7smtk44u" \
-d "expiry_date=2018-04-15"
ตัวอย่าง JSON response
{
"object": "charge",
"id": "chrg_5babhz7ufmaxu5wi03y",
"livemode": true,
"location": "/charges/chrg_5babhz7ufmaxu5wi03y",
"amount": 200,
"currency": "jpy",
"description": "test multipay charge",
"metadata": {
},
"status": "pending",
"capture": true,
"authorized": false,
"reversed": false,
"voided": false,
"paid": false,
"transaction": null,
"refunded": 0,
"refunds": {
"object": "list",
"from": "1970-01-01T00:00:00Z",
"to": "2018-03-16T02:53:39Z",
"offset": 0,
"limit": 20,
"total": 0,
"order": null,
"location": "/charges/chrg_5babhz7ufmaxu5wi03y/refunds",
"data": [
]
},
"return_uri": null,
"reference": null,
"authorize_uri": "https://pay.omise.co/offlines/econtext/instructions/oflp_om1s3yqgwaldlnhy6y3",
"failure_code": null,
"failure_message": null,
"card": null,
"customer": null,
"ip": null,
"dispute": null,
"created": "2018-03-16T02:53:39Z",
"source": {
"object": "source",
"id": "src_5babhlfyw8g7smtk44u",
"references": {
"payment_code": "553384",
"expires_at": "2018-04-06T14:59:00Z"
},
"type": "econtext",
"flow": "offline",
"amount": 200,
"currency": "jpy",
"name": "Customer",
"email": "customer@email.co",
"phone_number": "01234567891"
},
"disputable": false,
"capturable": false,
"reversible": false,
"refundable": false
}
*URL ที่เจ้าของร้านให้ลูกค้านำไปใช้จะอยู่ที่ field authorize_uri
. โดยจะแสดงร้านสะดวกซื้อที่รองรับการชำระเงินทั้งหมด รวมถึงอธิบายวิธีการทำรายการไว้อย่างละเอียด (สำหรับท่านที่ใช้งานในโหมดทดสอบ จะได้รับ URL ตัวอย่างสำหรับใช้ทดสอบ)
ร้านค้าสามารถเรียกดูสถานะการชำระเงินได้ตลอด ศึกษาวิธีการดูสถานะรายการได้ที่คู่มือ Charges API
- รายการที่
authorized
และpaid
มีสถานะเป็นtrue
คือรายการรับชำระเงินสำเร็จ - รายการที่
authorized
และpaid
มีสถานะเป็นfalse
คือรายการรับชำระเงินไม่สำเร็จ ระบบจะแสดงคำชี้แจงfailure_code
และfailure_message
ในรายละเอียดรายการ - ไม่มีกรณีที่
authorized
และpaid
มีสถานะต่างกัน
Failure codes
Code | Description |
---|---|
payment_cancelled |
ผู้จ่ายยกเลิกการทำรายการ |
timeout |
ผู้จ่ายไม่ได้ทำรายการภายในระยะเวลาที่กำหนด |
failed_processing |
เกิดจากสาเหตุอื่นๆ |