- คำขอ 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 ต้องระบุ: รายละเอียดรูปแบบการชำระเงินสำหรับธุรกรรมการบันทึกนี้ fopDetails ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้เท่านั้น |
|
googlePaymentToken |
โทเค็นที่ทั้ง 2 บริษัทจะใช้เพื่อระบุบัญชีสำหรับการซื้อระหว่างกัน |
mandateDetails |
รายละเอียดการชำระเงินตามข้อกำหนด |
mandateWithNotificationDetails |
รายละเอียดการชำระเงินที่เฉพาะเจาะจงสำหรับหนังสือมอบอำนาจ หากต้องระบุ |
ฟิลด์การรวม
|
|
authenticationRequestId |
ไม่บังคับ: หากมีค่านี้ หมายความว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์ก่อนการโทรนี้ทันที หรือได้รับการตรวจสอบสิทธิ์เมื่อมีการตั้งค่ากำหนดการชำระเงินอัตโนมัติ |
otpVerification |
ไม่บังคับ: ข้อมูลที่จำเป็นต่อการยืนยัน OTP ที่สร้างขึ้นจาก |
เนื้อหาการตอบกลับ
ออบเจ็กต์การตอบกลับสำหรับวิธีการจับภาพ
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "responseHeader": { object ( |
ช่อง | |
---|---|
responseHeader |
ต้องระบุ: ส่วนหัวทั่วไปสำหรับคำตอบทั้งหมด |
paymentIntegratorTransactionId |
ไม่บังคับ: ตัวระบุนี้ใช้เฉพาะกับผู้ผสานการทำงานระบบและสร้างขึ้นโดยผู้ผสานการทำงานระบบ นี่คือตัวระบุที่ผู้รวมบริการรู้จักธุรกรรมนี้ เพื่อความสะดวก ตัวระบุนี้จะรวมอยู่ในรายละเอียดการส่งเงิน |
userMessage |
เลิกใช้งานแล้ว: คำอธิบายผลลัพธ์ที่จะแสดงต่อผู้ใช้หากผลลัพธ์ไม่ใช่ |
result |
REQUIRED: ผลลัพธ์ของการจับภาพนี้ |
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 |
การแจ้งเตือนที่ส่งถึงผู้ใช้สำหรับการชำระเงินตามคำสั่งตามรอบหมดอายุแล้ว |