- คำขอ HTTP
- เนื้อความของคําขอ
- เนื้อหาการตอบกลับ
- เกณฑ์การชําระเงิน
- เกณฑ์มาตรฐาน
- GoogleTransactionReferenceNumberCriterion
- เกณฑ์คําขอ
- RequestOriginator
- รับการโต้แย้งการโต้แย้งในรายงานผลลัพธ์
- รายงานการซื้อ
- บัญชีของลูกค้า
- คําสั่งซื้อ
- ที่อยู่
- รายการ
- ภาษี
- การชําระเงิน
- คืนเงิน
- รายละเอียดบัตรสําหรับชําระเงิน
- ผลการตรวจสอบสิทธิ์
รับรายงานที่ให้ข้อมูลที่อํานวยความสะดวกในการสนทนาการสนับสนุนลูกค้ากับผู้ใช้เกี่ยวกับข้อพิพาทที่อาจเกิดขึ้นกับการชําระเงิน
หากปลายทางพบข้อผิดพลาดขณะประมวลผลคําขอ การตอบสนองจากปลายทางนี้จะเป็นประเภท ErrorResponse
การตอบกลับการค้นหานี้อาจว่างเปล่าหากวิธีนี้ไม่แสดงผล HTTP 200 เนื้อหาการตอบกลับว่างเปล่าในกรณีที่มีการใช้
พร้อมคําอธิบายที่ชัดเจนเพื่อช่วยให้ผู้โจมตีเข้าใจตัวระบุบัญชีของผู้รวมระบบการชําระเงินของผู้ผสานรวมรายอื่นๆ ในสถานการณ์เช่นนี้ หากคีย์การลงนามไม่ตรงกัน ไม่พบตัวระบุผู้ผสานรวมการชําระเงิน หรือไม่ทราบคีย์การเข้ารหัส เมธอดนี้จะแสดง 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 สร้างขึ้นซึ่งแสดงโดยการเรียกไปยัง หากไม่มี ID ดังกล่าว ระบบจะสร้างรหัสการอ้างสิทธิ์ใหม่ ผู้โทรอาจให้ รหัสการอ้างสิทธิ์ที่สร้างขึ้นที่นี่หรือสร้างขึ้นจะแสดงในช่อง การระบุ |
requestOriginator |
ต้องระบุ: ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กรที่สร้างคําขอนี้ |
เนื้อหาการตอบกลับ
เปย์โหลดการตอบกลับสําหรับเมธอด getDisputeInquiryReport
หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้
การแสดง JSON |
---|
{ "responseHeader": { object ( |
ช่อง | |
---|---|
responseHeader |
ต้องระบุ: ส่วนหัวทั่วไปสําหรับคําตอบทั้งหมด |
result |
ต้องระบุ: ผลจากการโทรนี้ |
googleClaimId |
ไม่บังคับ: สตริงที่สร้างโดย Google ซึ่งระบุการโต้แย้งของลูกค้าโดยไม่ซ้ํากัน (แสดงต่อเมื่อ หาก |
report |
ไม่บังคับ: รายละเอียดที่เกี่ยวข้องกับการโต้แย้งของการชําระเงินที่ระบุไว้ในคําขอ (แสดงต่อเมื่อ |
เกณฑ์การชําระเงิน
คอนเทนเนอร์สําหรับเกณฑ์ที่ค้นหาการชําระเงินได้แบบไม่ซ้ํากัน ต้องระบุข้อมูลในช่องสมาชิก (ช่องเดียวเท่านั้น)
การแสดง JSON |
---|
{ // Union field |
ช่อง | |
---|---|
ช่อง Union
|
|
arnCriteria |
ไม่บังคับ: ค้นหาตามหมายเลขอ้างอิง Acquirer (ARN) |
googleTransactionReferenceNumberCriteria |
ไม่บังคับ: ค้นหาตามหมายเลขอ้างอิงธุรกรรมของ Google |
captureRequestCriteria |
ไม่บังคับ: ค้นหาตามรหัสคําขอการจับภาพ |
เกณฑ์ของ Arn
เกณฑ์การค้นหาการชําระเงินตาม Acquirer Reference Number (ARN)
การแสดง JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
ช่อง | |
---|---|
acquirerReferenceNumber |
ต้องระบุ: หมายเลขอ้างอิงผู้รับบริการ (ARN) ที่ระบุการชําระเงินโดยไม่ซ้ํากัน ต้องมีความยาว 23 หลัก |
authorizationCode |
ต้องระบุ: รหัสการให้สิทธิ์สําหรับธุรกรรม |
GoogleTransactionReferenceNumberCriterion
เกณฑ์การค้นหาการชําระเงินตามหมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้น
การแสดง JSON |
---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
ช่อง | |
---|---|
googleTransactionReferenceNumber |
ต้องระบุ: หมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้นซึ่งระบุการชําระเงินที่ไม่ซ้ํากัน |
authorizationCode |
ต้องระบุ: รหัสการให้สิทธิ์สําหรับธุรกรรม |
เกณฑ์การจับภาพ
เกณฑ์การค้นหาการชําระเงินโดยอิงตามคําขอจับภาพครั้งแรก
การแสดง JSON |
---|
{ "captureRequestId": string } |
ช่อง | |
---|---|
captureRequestId |
ต้องระบุ: ตัวระบุที่ไม่ซ้ําสําหรับธุรกรรมนี้ นี่คือ |
ผู้สร้างคําขอ
ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กร (ไม่บังคับให้พนักงาน) เป็นผู้ส่งคําขอนี้ ซึ่งช่วยให้ Google ระบุปัญหาหรือการละเมิดได้ รวมถึงใช้การควบคุมในระดับที่ละเอียดกว่า paymentIntegratorAccountId
ซึ่งจะมีประโยชน์เป็นพิเศษเมื่อผู้เรียกใช้เป็นผู้ให้บริการตัวกลางที่รับคําขอจากลูกค้าภายนอกหลายราย
การแสดง JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
ช่อง | |
---|---|
organizationId |
ต้องระบุ: ตัวระบุบริษัท องค์กร หรือกลุ่มองค์กรที่สร้างคําขอนี้ ต้องไม่ซ้ํากันภายใน |
organizationDescription |
ต้องระบุ: ชื่อหรือคําอธิบายองค์กรที่อ่านได้ของมนุษย์ ซึ่งใช้เพื่อลดความซับซ้อนในการสื่อสารระหว่างพนักงานของ Google และผู้รวมข้อมูลเกี่ยวกับองค์กรนั้น |
agentId |
ไม่บังคับ: ตัวระบุที่ไม่ซ้ําสําหรับตัวแทนเฉพาะ (พนักงาน) ขององค์กรที่ระบุโดย |
รับรหัสโต้แย้งรายงานผลลัพธ์
ผลจากการเรียกใช้เมธอด getDisputeInquiryReport
Enum | |
---|---|
UNKNOWN_RESULT |
อย่าตั้งค่าเริ่มต้นนี้! |
SUCCESS |
พบการชําระเงินและมีรายงานให้ |
PAYMENT_NOT_FOUND |
ไม่พบการชําระเงินที่ร้องขอ |
PAYMENT_TOO_OLD |
พบการชําระเงินที่ร้องขอแต่ไม่ได้จัดทํารายงานเนื่องจากอายุของการชําระเงิน |
ORDER_CANNOT_BE_RETURNED |
การชําระเงินที่ร้องขอเป็นของการสั่งซื้อที่มีอยู่ แต่ไม่สามารถส่งคืนได้ สาเหตุรวมถึงกรณีที่คําสั่งซื้อถูกนําออกตามคําขอของเจ้าของ |
NO_ADDITIONAL_DETAILS |
พบการชําระเงินที่ร้องขอแล้วแต่ไม่พบรายงาน |
รายงานการซื้อ
รายงานที่มีรายละเอียดการซื้อที่เกี่ยวข้องซึ่งเกี่ยวข้องกับการชําระเงินที่ร้องขอ
การแสดง JSON |
---|
{ "customerAccount": { object ( |
ช่อง | |
---|---|
customerAccount |
ต้องระบุ: ข้อมูลเกี่ยวกับลูกค้าและบัญชีของลูกค้า |
order |
ต้องระบุ: ข้อมูลเกี่ยวกับคําสั่งซื้อที่ชําระเงิน |
payment |
ไม่บังคับ: ข้อมูลเกี่ยวกับการชําระเงิน หมายเหตุ: สามารถใช้การชําระเงินหลายรายการได้ในคําสั่งซื้อเดียว แต่จะมีเฉพาะข้อมูลสําหรับการชําระเงินที่ระบุไว้ในคําขอต้นฉบับเท่านั้น คําสั่งซื้อบางประเภทใช้งานไม่ได้ |
บัญชีของลูกค้า
ข้อมูลเกี่ยวกับบัญชีของลูกค้า
การแสดง 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 |
ไม่บังคับ: ส่วนย่อยของการดูแลระบบระดับบนสุดของประเทศนี้" เช่น รัฐในสหรัฐอเมริกา ภูมิภาคไอที จังหวัด CN จังหวัดญี่ปุ่น" |
postalCodeNumber |
ไม่บังคับ: แม้ว่าจะมีชื่อ แต่รหัสไปรษณีย์จะใช้ตัวเลขและตัวอักษรผสมกัน เช่น "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 |
ไม่บังคับ: ราคารวมของรายการนี้ แสดงเป็น micro ของสกุลเงินที่ระบุใน |
googleProductName |
ต้องระบุ: ชื่อบริการผลิตภัณฑ์ของ Google สําหรับสินค้า |
ภาษี
ข้อมูลเกี่ยวกับภาษีที่ใช้กับคําสั่งซื้อนี้
การแสดง JSON |
---|
{ "description": string, "amount": string } |
ช่อง | |
---|---|
description |
ต้องระบุ: คําอธิบายภาษี |
amount |
ต้องระบุ: จํานวนภาษีซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน |
การชำระเงิน
ข้อมูลเกี่ยวกับการชําระเงิน
การแสดง JSON |
---|
{ "billingAddress": { object ( |
ช่อง | |
---|---|
billingAddress |
ต้องระบุ: ที่อยู่สําหรับการเรียกเก็บเงินสําหรับการชําระเงินนี้ |
amount |
ต้องระบุ: จํานวนการชําระเงินนี้ซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน |
refunds[] |
ต้องระบุ: รายการคืนเงินสําหรับการชําระเงินนี้ รายการนี้อาจว่างเปล่า |
ช่อง Union
|
|
cardDetails |
ไม่บังคับ: รายละเอียดการชําระเงินสําหรับ FoP ของบัตรเครดิตและบัตรเดบิต |
การคืนเงิน
ข้อมูลเกี่ยวกับการคืนเงินที่ชําระแล้ว
การแสดง JSON |
---|
{ "amount": string, "initiatedTimestamp": string } |
ช่อง | |
---|---|
amount |
ต้องระบุ: จํานวนเงินที่คืนเป็นจํานวนไมโครบวกของสกุลเงินที่ระบุใน |
initiatedTimestamp |
ต้องระบุ: การประทับเวลาที่เริ่มการคืนเงิน ซึ่งแสดงเป็นมิลลิวินาทีตั้งแต่ Epoch |
รายละเอียดบัตรสําหรับชําระเงิน
รายละเอียดการชําระเงินสําหรับบัตรเครดิตและบัตรเดบิตโดยเฉพาะ
การแสดง JSON |
---|
{
"authResult": enum ( |
ช่อง | |
---|---|
authResult |
ต้องระบุ: ผลการตรวจสอบสิทธิ์การชําระเงิน |
ผลการตรวจสอบสิทธิ์
ผลการตรวจสอบสิทธิ์การชําระเงิน
Enum | |
---|---|
UNKNOWN_RESULT |
อย่าตั้งค่าเริ่มต้นนี้! |
APPROVED |
อนุมัติการตรวจสอบสิทธิ์แล้ว |
DENIED |
การตรวจสอบสิทธิ์ถูกปฏิเสธ |
NOT_ATTEMPTED |
ไม่ได้ใช้การตรวจสอบสิทธิ์ |