- คำขอ HTTP
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
เริ่มการเคลื่อนย้ายเงินระหว่างบัญชีของลูกค้าที่ถืออยู่กับ Google และผู้ประมวลผลการชำระเงิน ชุดค่าผสมของ requestId
ภายในส่วนหัวและ paymentIntegratorAccountId
เป็นคีย์เอกลักษณ์และระบุธุรกรรมนี้โดยไม่ซ้ำกัน การเปลี่ยนแปลงทั้งหมดในธุรกรรมนี้ (การคืนเงิน) จะป้อนข้อมูลค่า requestId
ในช่อง captureRequestId
หากปลายทางพบข้อผิดพลาดขณะประมวลผลคำขอ เนื้อหาการตอบกลับจากปลายทางนี้ควรเป็นประเภท ErrorResponse
ตัวอย่างคำขอมีลักษณะดังนี้
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
ตัวอย่างคำตอบจะมีลักษณะดังนี้
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
คำขอ HTTP
POST https://www.integratorhost.example.com/v1/capture
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
การแสดง JSON |
---|
{ "requestHeader": { object ( |
ช่อง | |
---|---|
requestHeader |
ต้องระบุ: ส่วนหัวทั่วไปสำหรับคำขอทั้งหมด |
paymentIntegratorAccountId |
ต้องระบุ: ตัวระบุบัญชีผู้รวมการชำระเงินที่ระบุข้อจำกัดทางสัญญาเกี่ยวกับธุรกรรมนี้ |
transactionDescription |
ต้องระบุ: นี่คือคำอธิบายธุรกรรมที่ใส่ไว้ในใบแจ้งยอดของลูกค้าได้ แปลเป็น userLocale ที่พบใน |
currencyCode |
ต้องระบุ: รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 |
amount |
ต้องระบุ: จำนวนเงินที่ซื้อในหน่วยไมโครของหน่วยสกุลเงิน |
captureContext |
ต้องระบุ: บริบทเกี่ยวกับการจับภาพนี้ |
ช่องการรวม fopDetails ต้องระบุ: รายละเอียด FOP สำหรับธุรกรรมของ Capture นี้ fopDetails ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้ |
|
googlePaymentToken |
โทเค็นที่ทั้ง 2 บริษัทจะใช้เพื่อระบุบัญชีสำหรับการซื้อระหว่างกัน |
mandateDetails |
รายละเอียดการชำระเงินที่เฉพาะเจาะจงสำหรับหนังสือมอบอำนาจ |
mandateWithNotificationDetails |
รายละเอียดการชำระเงินที่เกี่ยวข้องกับหนังสือมอบอำนาจโดยเฉพาะ ซึ่งต้องระบุ |
ช่องการรวม
|
|
authenticationRequestId |
ไม่บังคับ: หากเกิดเหตุการณ์นี้ แสดงว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์ก่อนการโทรนี้ทันที หรือได้รับการตรวจสอบสิทธิ์แล้วเมื่อมีการตั้งค่ากำหนดการชำระเงินอัตโนมัติ |
otpVerification |
ไม่บังคับ: ข้อมูลที่จำเป็นในการยืนยัน OTP ที่สร้างขึ้นจาก |
เนื้อหาการตอบกลับ
ออบเจ็กต์การตอบสนองสำหรับวิธีการจับภาพ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "responseHeader": { object ( |
ช่อง | |
---|---|
responseHeader |
ต้องระบุ: ส่วนหัวทั่วไปของคำตอบทั้งหมด |
paymentIntegratorTransactionId |
ไม่บังคับ: ตัวระบุนี้ใช้เฉพาะกับผู้ผสานการทำงานและสร้างขึ้นโดยผู้ผสานรวมระบบ ข้อมูลนี้เป็นตัวระบุที่ผู้รวมระบบรู้จักธุรกรรมนี้ ตัวระบุนี้จะรวมอยู่ในรายละเอียดการส่งเงินเพื่อความสะดวก |
userMessage |
เลิกใช้งานแล้ว: คําอธิบายของผลลัพธ์ที่จะแสดงต่อผู้ใช้หากผลลัพธ์ไม่ใช่ |
result |
ต้องระบุ: ผลลัพธ์ของการบันทึกนี้ |
rawResult |
ไม่บังคับ: ผลลัพธ์ที่เป็นข้อมูลดิบของการบันทึกนี้ ใช้เพื่อให้ข้อมูลแก่เครื่องมือวิเคราะห์และความเสี่ยงของ Google ในสถานการณ์ที่มีการแมปโค้ดที่ถูกปฏิเสธ ข้อมูลอาจสูญหายในบางครั้ง ผู้ผสานรวมระบบสามารถเลือกให้โค้ดดิบแก่ Google ได้ เช่น เกตเวย์บัตรเครดิต (ผู้รวมบริการ) อาจใช้ช่องนี้เพื่อสื่อสารกับ Google เกี่ยวกับรหัสการปฏิเสธที่ถูกต้องที่ได้รับจากเครือข่าย VISA ในกรณีนี้ ต้องระบุค่านี้หาก |
transactionLimit |
ไม่บังคับ: หากผลลัพธ์คือ ต้องเป็นขีดจำกัดที่เกี่ยวข้องกับ |
currentBalance |
ไม่บังคับ: หากผลลัพธ์คือ ค่านี้ต้องใช้สกุลเงินเดียวกับ |
MandateDetails
รายละเอียดเกี่ยวกับหนังสือมอบอำนาจ
การแสดง JSON |
---|
{ "mandateId": string } |
ช่อง | |
---|---|
mandateId |
ต้องระบุ: รหัสหนังสือมอบอำนาจที่ Google สร้างขึ้นซึ่งส่งมาระหว่างการเรียกใช้ |
MandateWithNotificationDetails
รายละเอียดเกี่ยวกับหนังสือมอบอำนาจพร้อมรายละเอียดการแจ้งเตือนที่จำเป็น
การแสดง JSON |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
ช่อง | |
---|---|
mandateId |
ต้องระบุ: รหัสหนังสือมอบอำนาจที่ Google สร้างขึ้นซึ่งส่งมาระหว่างการเรียกใช้ |
upcomingTransactionNotificationId |
ต้องระบุ: |
CaptureContext
ออบเจ็กต์นี้ให้บริบทเกี่ยวกับวิธีการขอการจับภาพ
การแสดง JSON |
---|
{ "userIpAddress": string } |
ช่อง | |
---|---|
userIpAddress |
ไม่บังคับ: นี่คือที่อยู่ IP ของอุปกรณ์ของผู้ใช้ หากผู้ใช้ทำการซื้อในเซสชัน หากผู้ใช้ไม่ได้อยู่ในเซสชัน ค่านี้จะว่างเปล่า หากสัญญาใดไม่ได้กำหนดความจำเป็นในการกรอกข้อมูลในช่องนี้ สัญญาจะว่างเปล่าเสมอ |
CaptureResultCode
รหัสผลลัพธ์สำหรับการจับภาพ
Enum | |
---|---|
UNKNOWN_RESULT |
โปรดอย่าตั้งค่าเริ่มต้นนี้ |
SUCCESS |
จับภาพสำเร็จ และนำส่งสินค้าได้ |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
amount ของคำขอบันทึกนี้เกินขีดจำกัดต่อธุรกรรม หากใช้โค้ดนี้ ให้กรอกช่อง transactionLimit เพื่อส่งข้อความให้ผู้ใช้ |
CHARGE_EXCEEDS_DAILY_LIMIT |
ไม่สามารถใช้บัญชีนี้เพื่อทำการซื้อได้ในขณะนี้เนื่องจากมีการใช้งานเกินขีดจำกัดต่อวันแล้ว |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
ไม่สามารถใช้บัญชีนี้ซื้อสินค้าได้ในขณะนี้ เนื่องจากมีการใช้งานเกินขีดจำกัดรายเดือนแล้ว |
CHARGE_UNDER_LIMIT |
amount ของคำขอบันทึกรายการนี้ไม่ตรงกับจำนวนเงินขั้นต่ำของธุรกรรม |
INSUFFICIENT_FUNDS |
บัญชีนี้มีเงินไม่เพียงพอที่จะรับประกันการจับได้นี้ |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
บัญชีนี้ไม่รองรับสกุลเงินที่ขอ |
ACCOUNT_CLOSED |
ปิดบัญชีของผู้ใช้ที่ไว้กับผู้ผสานรวมระบบแล้ว การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
มีการปิดบัญชีผู้ใช้ที่มีผู้รวมระบบแล้ว บัญชีที่ต้องสงสัยจะเข้าควบคุม การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง |
ACCOUNT_ON_HOLD |
บัญชีถูกระงับ |
ACCOUNT_CLOSED_FRAUD |
บัญชีของผู้ใช้ที่ไว้กับผู้รวมระบบถูกปิดเนื่องจากการประพฤติมิชอบ การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
บัญชีมีการใช้งานอยู่ แต่ผู้ใช้ฝั่งผู้ผสานการทำงาน GPT ใช้งานไม่ได้ การแสดงค่านี้จะทำให้เครื่องมือของผู้ใช้ปิดด้วย Google ระบบจะบังคับให้ผู้ใช้เพิ่มเครื่องมือใหม่โดยทำตามขั้นตอนการเชื่อมโยงอีกครั้ง |
TOKEN_REFRESH_REQUIRED |
ผู้ใช้จะต้องทำตามขั้นตอนการรีเฟรชเพื่อแสดงผลอีกครั้ง |
OTP_NOT_MATCHED |
OTP ไม่ตรงกับสิ่งที่ผู้ผสานรวมระบบส่ง |
OTP_ALREADY_USED |
มีการใช้ OTP อยู่แล้ว |
RISK_DECLINED |
ธุรกรรมถูกปฏิเสธเนื่องจากมีการตรวจสอบความเสี่ยงในฝั่งของผู้รวมระบบ การชำระเงินนี้ล้มเหลวอย่างถาวร แต่ไม่ได้ทำให้เครื่องมือของผู้ใช้ถูกปิดที่ Google |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
ผู้ใช้ไม่ได้กำหนดค่าแหล่งเงินที่ใช้งานได้ในบัญชีซึ่งสามารถชำระเงินสำหรับธุรกรรมได้ |
FUNDING_SOURCE_UNAVAILABLE |
ผู้ออกหรือแหล่งที่มาของเงินที่เกี่ยวข้องไม่พร้อมให้บริการ และการลองชำระเงินที่มีอยู่นี้อีกครั้งจะไม่สำเร็จหากดำเนินการอีกครั้ง Google จะลองชำระเงินอีกครั้งเมื่อพาร์ทเนอร์ส่งโค้ดตอบกลับ 4xx หรือ 5xx กลับมา ด้วยเหตุนี้ พาร์ทเนอร์จึงควรส่งคืนหนึ่งในรหัสตอบกลับเหล่านั้น หากลองชำระเงินแบบเดิมอีกครั้งอาจสำเร็จเมื่อมีแหล่งเงินที่เกี่ยวข้องอีกครั้ง แต่หากมีเหตุผลทางเทคนิคที่ทำให้ Google พยายามชำระเงินอีกครั้งยังคงไม่สำเร็จ พาร์ทเนอร์อาจส่งคืน "FUNDING_SOURCE_UNAVAILABLE" เป็นวิธีแจ้ง Google ว่าไม่ควรลองชำระเงินเดียวกันนี้อีกครั้ง หมายเหตุ: Google อาจลองชำระเงินรายการนี้อีกครั้ง แต่ขอทราบรหัส requestId อื่น แต่คำขอการชำระเงินนี้จะมีสถานะเป็นปฏิเสธแล้ว |
MANDATE_NOT_ACTIVE |
หนังสือมอบอำนาจที่ใช้สำหรับการบันทึกครั้งนี้ไม่มีการใช้งานอีกต่อไป ผลลัพธ์นี้จะทำให้เครื่องมือในหนังสือมอบอำนาจของผู้ใช้ปิดกับ Google |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
การแจ้งเตือนที่ส่งถึงผู้ใช้เกี่ยวกับการชำระเงินตามรอบเวลาหมดอายุแล้ว |