- คำขอ HTTP
- เนื้อหาคำขอ
- เนื้อหาการตอบกลับ
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- คำสั่งซื้อ
- ที่อยู่
- รายการ
- ภาษี
- การชำระเงิน
- คืนเงิน
- PaymentCardDetails
- AuthResult
รับรายงานที่ให้ข้อมูลเพื่ออำนวยความสะดวกในการสนทนาเรื่องการสนับสนุนลูกค้ากับผู้ใช้เกี่ยวกับการโต้แย้งการชำระเงินที่อาจเกิดขึ้น
หากปลายทางพบข้อผิดพลาดขณะประมวลผลคำขอ การตอบกลับจากปลายทางนี้จะเป็นประเภท ErrorResponse
การตอบสนองต่อการค้นหานี้อาจว่างเปล่าหากวิธีนี้ไม่แสดงผล HTTP 200 เนื้อหาการตอบสนองจะว่างเปล่าในกรณีที่อาจใช้ ที่มีคำอธิบายที่ชัดเจนเพื่อช่วยให้ผู้โจมตีเข้าใจตัวระบุบัญชีของผู้รวมระบบการชำระเงินรายอื่น ในสถานการณ์เหล่านี้ ในกรณีที่คีย์ Signing ไม่ตรงกัน ไม่พบตัวระบุผู้ผสานการชำระเงิน หรือไม่ทราบคีย์การเข้ารหัส วิธีนี้จะส่งกลับ HTTP 404 พร้อมเนื้อหาว่างเปล่า หากยืนยันลายเซ็นคำขอได้ ระบบจะแสดงข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดในเนื้อหาการตอบกลับErrorResponse
ตัวอย่างคำขอมีลักษณะดังนี้
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "InvisiCashUSA",
"paymentLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"existingGoogleClaimId": "138431383281",
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City",
"agentId": "982749"
}
}
ตัวอย่างคำตอบจะมีลักษณะดังนี้
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"googleClaimId": "138431383281",
"report": {
"customerAccount": {
"customerEmail": "example@gmail.com",
"customerName" : "Example Customer"
},
"order": {
"timestamp": "1517992525972",
"orderId": "SOP.8976-1234-1234-123456..99",
"currencyCode": "USD",
"subTotalAmount": "206990000",
"totalAmount": "212990000",
"shippingAddress": {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"taxes": [
{
"description": "Colorado Sales Tax",
"amount": "6000000"
}
],
"items": [
{
"description": "Super cool gizmo",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "2",
"totalPrice": "198000000"
},
{
"description": "Gizmo charger",
"merchant": "HTC",
"googleProductName": "Google Store",
"quantity": "1",
"totalPrice": "8990000"
}
]
},
"payment": {
"billingAddress" : {
"name": "Example Customer",
"addressLine": ["123 Main St"],
"localityName": "Springfield",
"administrativeAreaName": "CO",
"postalCodeNumber": "80309",
"countryCode": "US"
},
"amount": "100000000",
"refunds": [
{
"amount": "9250000",
"initiatedTimestamp": "1518811245384"
}
],
"cardDetails": {
"authResult": "APPROVED"
}
}
}
}
คำขอ HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
เนื้อหาของคำขอ
เนื้อหาของคำขอมีข้อมูลที่มีโครงสร้างต่อไปนี้
| การแสดง JSON |
|---|
{ "requestHeader": { object ( |
| ช่อง | |
|---|---|
requestHeader |
ต้องระบุ: ส่วนหัวทั่วไปสำหรับคำขอทั้งหมด |
paymentIntegratorAccountId |
ต้องระบุ: ตัวระบุบัญชีผู้ผสานรวมการชำระเงินซึ่งระบุผู้โทรและข้อจำกัดทางสัญญาที่เกี่ยวข้องสำหรับการโต้ตอบนี้ |
paymentLookupCriteria |
ต้องระบุ: เกณฑ์ที่ระบุการชำระเงินที่คุณต้องค้นหาสำหรับการสอบถามนี้ |
existingGoogleClaimId |
ไม่บังคับ: สตริงที่ Google สร้างขึ้นซึ่งแสดงผลจากการเรียกไปยัง หากไม่มี ระบบจะสร้างรหัสการอ้างสิทธิ์ใหม่ ผู้โทรอาจให้ รหัสการอ้างสิทธิ์ที่ป้อนที่นี่หรือสร้างจะส่งคืนในช่อง ไม่สามารถระบุ |
requestOriginator |
ต้องระบุ: ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กรที่เป็นผู้สร้างคำขอนี้ |
เนื้อหาการตอบกลับ
เปย์โหลดการตอบกลับสำหรับเมธอด getDisputeInquiryReport
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
| การแสดง JSON |
|---|
{ "responseHeader": { object ( |
| ช่อง | |
|---|---|
responseHeader |
ต้องระบุ: ส่วนหัวทั่วไปของคำตอบทั้งหมด |
result |
ต้องระบุ: ผลของการโทรนี้ |
googleClaimId |
ไม่บังคับ: สตริงที่ Google สร้างขึ้นซึ่งระบุการโต้แย้งของลูกค้าแต่ละรายโดยไม่ซ้ำกัน (แสดงเมื่อ หากมีการป้อนข้อมูล |
report |
ไม่บังคับ: รายละเอียดที่เกี่ยวข้องกับการโต้แย้งการชำระเงินที่ระบุในคำขอ (แสดงเมื่อ |
PaymentLookupCriteria
คอนเทนเนอร์สำหรับเกณฑ์ที่ค้นหาการชำระเงินได้อย่างไม่ซ้ำกัน ต้องป้อนข้อมูลในช่องสมาชิกหนึ่งช่อง (เพียงรายการเดียวเท่านั้น)
| การแสดง JSON |
|---|
{ // Union field |
| ช่อง | |
|---|---|
ช่องการรวม
|
|
arnCriteria |
ไม่บังคับ: ค้นหาด้วยหมายเลขอ้างอิงผู้รับ (ARN) |
googleTransactionReferenceNumberCriteria |
ไม่บังคับ: ค้นหาตามหมายเลขอ้างอิงธุรกรรมของ Google |
captureRequestCriteria |
ไม่บังคับ: ค้นหาตามรหัสคำขอจับภาพ |
ArnCriteria
เกณฑ์การค้นหาการชำระเงินตามหมายเลขอ้างอิงผู้รับ (ARN)
| การแสดง JSON |
|---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
| ช่อง | |
|---|---|
acquirerReferenceNumber |
ต้องระบุ: หมายเลขอ้างอิงผู้รับ (ARN) ที่ระบุการชำระเงินโดยไม่ซ้ำกัน ต้องมีความยาว 23 หลัก |
authorizationCode |
ต้องระบุ: รหัสการให้สิทธิ์สำหรับธุรกรรม |
GoogleTransactionReferenceNumberCriteria
เกณฑ์การค้นหาการชำระเงินตามหมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้น
| การแสดง JSON |
|---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
| ช่อง | |
|---|---|
googleTransactionReferenceNumber |
ต้องระบุ: หมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้นซึ่งระบุการชำระเงินอย่างไม่ซ้ำกัน |
authorizationCode |
ต้องระบุ: รหัสการให้สิทธิ์สำหรับธุรกรรม |
CaptureRequestCriteria
เกณฑ์การค้นหาการชำระเงินที่อิงตามคำขอจับภาพต้นฉบับ
| การแสดง JSON |
|---|
{ "captureRequestId": string } |
| ช่อง | |
|---|---|
captureRequestId |
ต้องระบุ: ตัวระบุที่ไม่ซ้ำกันสำหรับธุรกรรมนี้ นี่คือ |
RequestOriginator
ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กร และข้อมูลเกี่ยวกับพนักงานที่เป็นที่มาของคำขอนี้ (ไม่บังคับ) วิธีนี้ช่วยให้ Google ระบุปัญหาหรือการละเมิดและนำการควบคุมไปใช้ได้ในระดับที่ละเอียดกว่า paymentIntegratorAccountId และมีประโยชน์อย่างยิ่งเมื่อผู้โทรเป็นผู้ให้บริการตัวกลางที่ส่งคำขอจากลูกค้าภายนอกหลายราย
| การแสดง JSON |
|---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
| ช่อง | |
|---|---|
organizationId |
ต้องระบุ: ตัวระบุของบริษัท องค์กร หรือกลุ่มองค์กรที่เป็นแหล่งที่มาของคำขอนี้ ต้องไม่ซ้ำกันภายใน |
organizationDescription |
ต้องระบุ: ชื่อหรือคำอธิบายที่มนุษย์อ่านได้ขององค์กร ซึ่งสามารถใช้ความสะดวกในการสื่อสารระหว่างพนักงานของ Google และผู้ผสานรวมระบบเกี่ยวกับองค์กรนั้น |
agentId |
ไม่บังคับ: ตัวระบุที่ไม่ซ้ำกันสำหรับตัวแทนที่ระบุ (พนักงาน) ขององค์กรที่ระบุโดย |
GetDisputeInquiryReportResultCode
ผลการเรียกเมธอด getDisputeInquiryReport
| Enum | |
|---|---|
UNKNOWN_RESULT |
โปรดอย่าตั้งค่าเริ่มต้นนี้ |
SUCCESS |
ระบบพบการชำระเงินและแสดงรายงาน |
PAYMENT_NOT_FOUND |
ไม่พบการชำระเงินตามที่ระบุ |
PAYMENT_TOO_OLD |
พบการชำระเงินที่ร้องขอ แต่ไม่ได้รับรายงานเนื่องจากอายุของการชำระเงิน |
ORDER_CANNOT_BE_RETURNED |
การชำระเงินที่ร้องขอเป็นของการสั่งซื้อที่มีอยู่ แต่ไม่สามารถส่งคืนได้ ทั้งนี้ สาเหตุรวมถึงกรณีที่คำสั่งซื้อถูกนำออกตามคำขอของเจ้าของ |
NO_ADDITIONAL_DETAILS |
พบการชำระเงินที่ขอ แต่รายงานไม่พร้อมใช้งาน |
PurchaseReport
รายงานที่มีรายละเอียดการซื้อที่เกี่ยวข้องกับการชำระเงินที่ขอ
| การแสดง JSON |
|---|
{ "customerAccount": { object ( |
| ช่อง | |
|---|---|
customerAccount |
ต้องระบุ: ข้อมูลเกี่ยวกับลูกค้าและบัญชีลูกค้า |
order |
ต้องระบุ: ข้อมูลเกี่ยวกับคำสั่งซื้อที่มีการชำระเงิน |
payment |
ไม่บังคับ: ข้อมูลเกี่ยวกับการชำระเงิน หมายเหตุ: การชำระเงินหลายรายการในคำสั่งซื้อเดียวสามารถทำได้ แต่จะมีเฉพาะข้อมูลการชำระเงินที่ระบุไว้ในคำขอเดิมเท่านั้น ใช้ไม่ได้กับคำสั่งซื้อบางประเภท |
CustomerAccount
ข้อมูลเกี่ยวกับบัญชีของลูกค้า
| การแสดง JSON |
|---|
{ "customerEmail": string, "customerName": string } |
| ช่อง | |
|---|---|
customerEmail |
ต้องระบุ: อีเมลที่เชื่อมโยงกับบัญชี Google ของลูกค้า |
customerName |
ต้องระบุ: ชื่อลูกค้า |
สั่งซื้อ
ข้อมูลเกี่ยวกับคำสั่งซื้อ
| การแสดง JSON |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
| ช่อง | |
|---|---|
timestamp |
ไม่บังคับ: การประทับเวลาที่สร้างคำสั่งซื้อ ซึ่งแสดงเป็นมิลลิวินาทีนับตั้งแต่ Epoch ใช้ไม่ได้กับคำสั่งซื้อบางประเภท |
orderId |
ไม่บังคับ: สตริงที่ระบุคำสั่งซื้อนี้โดยไม่ซ้ำกัน ใช้ไม่ได้กับคำสั่งซื้อบางประเภท |
currencyCode |
ไม่บังคับ: รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 สำหรับจำนวนเงินทั้งหมดในคำสั่งซื้อนี้ ใช้ไม่ได้กับคำสั่งซื้อบางประเภท |
subTotalAmount |
ไม่บังคับ: จำนวนเงินรวมของคำสั่งซื้อนี้ไม่รวมภาษี ซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน |
totalAmount |
ไม่บังคับ: จำนวนเงินทั้งหมดของคำสั่งซื้อนี้รวมภาษี ซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน |
shippingAddress |
ไม่บังคับ: ที่อยู่สำหรับจัดส่งสินค้าที่จับต้องได้ในคำสั่งซื้อนี้ |
items[] |
ต้องระบุ: รายการที่เป็นส่วนหนึ่งของคำสั่งซื้อนี้ |
taxes[] |
ต้องระบุ: รายการที่เป็นส่วนหนึ่งของคำสั่งซื้อนี้ รายการนี้อาจว่างเปล่า |
ที่อยู่
โครงสร้างที่มีข้อมูลเกี่ยวกับที่อยู่
| การแสดง JSON |
|---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
| ช่อง | |
|---|---|
name |
ไม่บังคับ: ชื่อเต็มของลูกค้า |
addressLine[] |
ไม่บังคับ: ส่วนนี้จะใช้ข้อความของที่อยู่ที่ไม่มีโครงสร้าง |
localityName |
ไม่บังคับ: คำนี้มีความหมายไม่ชัดเจน แต่โดยทั่วไปจะหมายถึงส่วนเมืองของที่อยู่ ในภูมิภาคของโลกซึ่งยังไม่มีการกำหนดย่านต่างๆ ไว้ชัดเจนหรือไม่เหมาะสมกับโครงสร้างนี้ (เช่น ญี่ปุ่นและจีน) ให้ปล่อย localityName ว่างไว้และใช้ addressLine ตัวอย่าง: เมืองในสหรัฐอเมริกา, เขตไอที, เมืองไปรษณีย์ของสหราชอาณาจักร |
administrativeAreaName |
ไม่บังคับ: เขตการปกครองระดับบนสุดของประเทศนี้ เช่น รัฐในสหรัฐอเมริกา ภูมิภาคไอที จังหวัดในจีน จังหวัดญี่ปุ่น" |
postalCodeNumber |
ไม่บังคับ: แม้ว่าจะชื่อ แต่ค่า zipCodeNumber มักจะเป็นตัวอักษรและตัวเลขคละกัน เช่น "94043", "SW1W", "SW1W 9TQ" |
countryCode |
ไม่บังคับ: รหัสประเทศของที่อยู่ลูกค้าควรเป็น ISO-3166-1 Alpha-2 |
รายการ
ข้อมูลเกี่ยวกับสินค้าในคำสั่งซื้อ
| การแสดง JSON |
|---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
| ช่อง | |
|---|---|
description |
ไม่บังคับ: รายละเอียดของสินค้าที่ซื้อ ใช้ไม่ได้กับคำสั่งซื้อบางประเภท |
merchant |
ต้องระบุ: ผู้ขาย ศิลปิน หรือผู้สร้างสินค้า |
quantity |
ไม่บังคับ: จำนวนที่สั่งซื้อของสินค้านี้ ระบบจะละเว้นช่องนี้หากจำนวนจำนวนเต็มใช้ไม่ได้กับผลิตภัณฑ์ (ผลิตภัณฑ์ที่มีการตรวจวัดอาจมีจำนวนที่เป็นเศษส่วน เป็นต้น) |
totalPrice |
ไม่บังคับ: ราคารวมของรายการนี้ แสดงเป็นไมโครของสกุลเงินที่ระบุใน |
googleProductName |
ต้องระบุ: ชื่อบริการผลิตภัณฑ์ Google สำหรับสินค้า |
ภาษี
ข้อมูลเกี่ยวกับภาษีที่ใช้กับคำสั่งซื้อนี้
| การแสดง JSON |
|---|
{ "description": string, "amount": string } |
| ช่อง | |
|---|---|
description |
ต้องระบุ: คำอธิบายภาษี |
amount |
ต้องระบุ: จำนวนภาษีซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน |
การชำระเงิน
ข้อมูลเกี่ยวกับการชำระเงิน
| การแสดง JSON |
|---|
{ "billingAddress": { object ( |
| ช่อง | |
|---|---|
billingAddress |
ต้องระบุ: ที่อยู่สำหรับการเรียกเก็บเงินสำหรับการชำระเงินนี้ |
amount |
ต้องระบุ: จำนวนเงินที่ชำระนี้ แสดงเป็นไมโครของสกุลเงินที่ระบุใน |
refunds[] |
ต้องระบุ: รายการการคืนเงินสำหรับการชำระเงินนี้ รายการนี้อาจว่างเปล่า |
ช่องการรวม
|
|
cardDetails |
ไม่บังคับ: รายละเอียดการชำระเงินสำหรับเครดิตและ บัตรเดบิต |
เงินคืน
ข้อมูลเกี่ยวกับการคืนเงินจากการชำระเงิน
| การแสดง JSON |
|---|
{ "amount": string, "initiatedTimestamp": string } |
| ช่อง | |
|---|---|
amount |
ต้องระบุ: จำนวนเงินที่คืน จำนวนบวกเป็นไมโครของสกุลเงินที่ระบุใน |
initiatedTimestamp |
ต้องระบุ: การประทับเวลาที่เริ่มการคืนเงิน ซึ่งแสดงเป็นมิลลิวินาทีนับตั้งแต่ Epoch |
PaymentCardDetails
รายละเอียดการชำระเงินเฉพาะสำหรับเครดิตและ บัตรเดบิต
| การแสดง JSON |
|---|
{
"authResult": enum ( |
| ช่อง | |
|---|---|
authResult |
ต้องระบุ: ผลการตรวจสอบสิทธิ์การชำระเงิน |
AuthResult
ผลการตรวจสอบสิทธิ์การชำระเงิน
| Enum | |
|---|---|
UNKNOWN_RESULT |
โปรดอย่าตั้งค่าเริ่มต้นนี้ |
APPROVED |
อนุมัติการรับรองแล้ว |
DENIED |
การตรวจสอบสิทธิ์ถูกปฏิเสธ |
NOT_ATTEMPTED |
ไม่ได้พยายามตรวจสอบสิทธิ์ |