Method: getDisputeInquiryReport

รับรายงานที่ให้ข้อมูลเพื่ออำนวยความสะดวกในการสนทนาเรื่องการสนับสนุนลูกค้ากับผู้ใช้เกี่ยวกับการโต้แย้งการชำระเงินที่อาจเกิดขึ้น

หากปลายทางพบข้อผิดพลาดขณะประมวลผลคำขอ การตอบกลับจากปลายทางนี้จะเป็นประเภท ErrorResponse

การตอบสนองต่อการค้นหานี้อาจว่างเปล่าหากวิธีนี้ไม่แสดงผล HTTP 200 เนื้อหาการตอบสนองจะว่างเปล่าในกรณีที่อาจใช้ ErrorResponse ที่มีคำอธิบายที่ชัดเจนเพื่อช่วยให้ผู้โจมตีเข้าใจตัวระบุบัญชีของผู้รวมระบบการชำระเงินรายอื่น ในสถานการณ์เหล่านี้ ในกรณีที่คีย์ Signing ไม่ตรงกัน ไม่พบตัวระบุผู้ผสานการชำระเงิน หรือไม่ทราบคีย์การเข้ารหัส วิธีนี้จะส่งกลับ HTTP 404 พร้อมเนื้อหาว่างเปล่า หากยืนยันลายเซ็นคำขอได้ ระบบจะแสดงข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดในเนื้อหาการตอบกลับ

ตัวอย่างคำขอมีลักษณะดังนี้


{
  "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": string,
  "paymentLookupCriteria": {
    object (PaymentLookupCriteria)
  },
  "existingGoogleClaimId": string,
  "requestOriginator": {
    object (RequestOriginator)
  }
}
ช่อง
requestHeader

object (RequestHeader)

ต้องระบุ: ส่วนหัวทั่วไปสำหรับคำขอทั้งหมด

paymentIntegratorAccountId

string

ต้องระบุ: ตัวระบุบัญชีผู้ผสานรวมการชำระเงินซึ่งระบุผู้โทรและข้อจำกัดทางสัญญาที่เกี่ยวข้องสำหรับการโต้ตอบนี้

paymentLookupCriteria

object (PaymentLookupCriteria)

ต้องระบุ: เกณฑ์ที่ระบุการชำระเงินที่คุณต้องค้นหาสำหรับการสอบถามนี้

existingGoogleClaimId

string

ไม่บังคับ: สตริงที่ Google สร้างขึ้นซึ่งแสดงผลจากการเรียกไปยัง getDisputeInquiryReport ก่อนหน้านี้ ซึ่งระบุการอ้างสิทธิ์การโต้แย้งของลูกค้าได้อย่างไม่ซ้ำกัน

หากไม่มี ระบบจะสร้างรหัสการอ้างสิทธิ์ใหม่ ผู้โทรอาจให้ googleClaimId ที่ส่งคืนจากการโทรก่อนหน้าไปยัง getDisputeInquiryReport หากเป็นการดำเนินการสืบเนื่องจากการโต้แย้งของลูกค้าเดิม

รหัสการอ้างสิทธิ์ที่ป้อนที่นี่หรือสร้างจะส่งคืนในช่อง googleClaimId ของคำตอบ

ไม่สามารถระบุ googleClaimId ที่ไม่ได้ส่งคืนจากการเรียก getDisputeInquiryReport ก่อนหน้านี้ หากเกิดกรณีนี้ขึ้น ระบบจะแสดงผล HTTP 400 Bad Request

requestOriginator

object (RequestOriginator)

ต้องระบุ: ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กรที่เป็นผู้สร้างคำขอนี้

เนื้อหาการตอบกลับ

เปย์โหลดการตอบกลับสำหรับเมธอด getDisputeInquiryReport

หากทำสำเร็จ เนื้อหาการตอบกลับจะมีข้อมูลซึ่งมีโครงสร้างดังต่อไปนี้

การแสดง JSON
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetDisputeInquiryReportResultCode),
  "googleClaimId": string,
  "report": {
    object (PurchaseReport)
  }
}
ช่อง
responseHeader

object (ResponseHeader)

ต้องระบุ: ส่วนหัวทั่วไปของคำตอบทั้งหมด

result

enum (GetDisputeInquiryReportResultCode)

ต้องระบุ: ผลของการโทรนี้

googleClaimId

string

ไม่บังคับ: สตริงที่ Google สร้างขึ้นซึ่งระบุการโต้แย้งของลูกค้าแต่ละรายโดยไม่ซ้ำกัน (แสดงเมื่อ result สำเร็จเท่านั้น)

หากมีการป้อนข้อมูล existingGoogleClaimId ในคำขอ นี่จะเป็นค่าเดียวกัน ไม่เช่นนั้น จะเป็นค่าที่สร้างขึ้นใหม่ คุณสามารถระบุค่านี้ในคำขอ getDisputeInquiryReport ในอนาคตได้หากเป็นส่วนหนึ่งของการโต้แย้งของลูกค้ารายเดียวกัน

report

object (PurchaseReport)

ไม่บังคับ: รายละเอียดที่เกี่ยวข้องกับการโต้แย้งการชำระเงินที่ระบุในคำขอ (แสดงเมื่อ result สำเร็จเท่านั้น)

PaymentLookupCriteria

คอนเทนเนอร์สำหรับเกณฑ์ที่ค้นหาการชำระเงินได้อย่างไม่ซ้ำกัน ต้องป้อนข้อมูลในช่องสมาชิกหนึ่งช่อง (เพียงรายการเดียวเท่านั้น)

การแสดง JSON
{

  // Union field criteria can be only one of the following:
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  },
  "captureRequestCriteria": {
    object (CaptureRequestCriteria)
  }
  // End of list of possible types for union field criteria.
}
ช่อง

ช่องการรวม criteria

criteria ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

arnCriteria

object (ArnCriteria)

ไม่บังคับ: ค้นหาด้วยหมายเลขอ้างอิงผู้รับ (ARN)

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

ไม่บังคับ: ค้นหาตามหมายเลขอ้างอิงธุรกรรมของ Google

captureRequestCriteria

object (CaptureRequestCriteria)

ไม่บังคับ: ค้นหาตามรหัสคำขอจับภาพ

ArnCriteria

เกณฑ์การค้นหาการชำระเงินตามหมายเลขอ้างอิงผู้รับ (ARN)

การแสดง JSON
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
ช่อง
acquirerReferenceNumber

string

ต้องระบุ: หมายเลขอ้างอิงผู้รับ (ARN) ที่ระบุการชำระเงินโดยไม่ซ้ำกัน ต้องมีความยาว 23 หลัก

authorizationCode

string

ต้องระบุ: รหัสการให้สิทธิ์สำหรับธุรกรรม

GoogleTransactionReferenceNumberCriteria

เกณฑ์การค้นหาการชำระเงินตามหมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้น

การแสดง JSON
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
ช่อง
googleTransactionReferenceNumber

string

ต้องระบุ: หมายเลขอ้างอิงธุรกรรมที่ Google สร้างขึ้นซึ่งระบุการชำระเงินอย่างไม่ซ้ำกัน

authorizationCode

string

ต้องระบุ: รหัสการให้สิทธิ์สำหรับธุรกรรม

CaptureRequestCriteria

เกณฑ์การค้นหาการชำระเงินที่อิงตามคำขอจับภาพต้นฉบับ

การแสดง JSON
{
  "captureRequestId": string
}
ช่อง
captureRequestId

string

ต้องระบุ: ตัวระบุที่ไม่ซ้ำกันสำหรับธุรกรรมนี้ นี่คือ requestId ที่ Google สร้างขึ้นระหว่างการโทร capture ซึ่งอยู่ระหว่างการค้นหา

RequestOriginator

ข้อมูลเกี่ยวกับองค์กรหรือกลุ่มย่อยขององค์กร และข้อมูลเกี่ยวกับพนักงานที่เป็นที่มาของคำขอนี้ (ไม่บังคับ) วิธีนี้ช่วยให้ Google ระบุปัญหาหรือการละเมิดและนำการควบคุมไปใช้ได้ในระดับที่ละเอียดกว่า paymentIntegratorAccountId และมีประโยชน์อย่างยิ่งเมื่อผู้โทรเป็นผู้ให้บริการตัวกลางที่ส่งคำขอจากลูกค้าภายนอกหลายราย

การแสดง JSON
{
  "organizationId": string,
  "organizationDescription": string,
  "agentId": string
}
ช่อง
organizationId

string

ต้องระบุ: ตัวระบุของบริษัท องค์กร หรือกลุ่มองค์กรที่เป็นแหล่งที่มาของคำขอนี้ ต้องไม่ซ้ำกันภายใน paymentIntegratorAccountId นี้

organizationDescription

string

ต้องระบุ: ชื่อหรือคำอธิบายที่มนุษย์อ่านได้ขององค์กร ซึ่งสามารถใช้ความสะดวกในการสื่อสารระหว่างพนักงานของ Google และผู้ผสานรวมระบบเกี่ยวกับองค์กรนั้น

agentId

string

ไม่บังคับ: ตัวระบุที่ไม่ซ้ำกันสำหรับตัวแทนที่ระบุ (พนักงาน) ขององค์กรที่ระบุโดย organizationId ที่เป็นแหล่งที่มาของคำขอนี้ ต้องไม่ซ้ำกันภายใน organizationId นี้

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": {
    object (Order)
  },
  "payment": {
    object (Payment)
  }
}
ช่อง
customerAccount

object (CustomerAccount)

ต้องระบุ: ข้อมูลเกี่ยวกับลูกค้าและบัญชีลูกค้า

order

object (Order)

ต้องระบุ: ข้อมูลเกี่ยวกับคำสั่งซื้อที่มีการชำระเงิน

payment

object (Payment)

ไม่บังคับ: ข้อมูลเกี่ยวกับการชำระเงิน หมายเหตุ: การชำระเงินหลายรายการในคำสั่งซื้อเดียวสามารถทำได้ แต่จะมีเฉพาะข้อมูลการชำระเงินที่ระบุไว้ในคำขอเดิมเท่านั้น ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

CustomerAccount

ข้อมูลเกี่ยวกับบัญชีของลูกค้า

การแสดง JSON
{
  "customerEmail": string,
  "customerName": string
}
ช่อง
customerEmail

string

ต้องระบุ: อีเมลที่เชื่อมโยงกับบัญชี Google ของลูกค้า

customerName

string

ต้องระบุ: ชื่อลูกค้า

สั่งซื้อ

ข้อมูลเกี่ยวกับคำสั่งซื้อ

การแสดง JSON
{
  "timestamp": string,
  "orderId": string,
  "currencyCode": string,
  "subTotalAmount": string,
  "totalAmount": string,
  "shippingAddress": {
    object (Address)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
ช่อง
timestamp

string (int64 format)

ไม่บังคับ: การประทับเวลาที่สร้างคำสั่งซื้อ ซึ่งแสดงเป็นมิลลิวินาทีนับตั้งแต่ Epoch ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

orderId

string

ไม่บังคับ: สตริงที่ระบุคำสั่งซื้อนี้โดยไม่ซ้ำกัน ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

currencyCode

string

ไม่บังคับ: รหัสสกุลเงิน 3 ตัวอักษรตามมาตรฐาน ISO 4217 สำหรับจำนวนเงินทั้งหมดในคำสั่งซื้อนี้ ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

subTotalAmount

string (Int64Value format)

ไม่บังคับ: จำนวนเงินรวมของคำสั่งซื้อนี้ไม่รวมภาษี ซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode ซึ่งเท่ากับ SUM(items.totalPrice) ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

totalAmount

string (Int64Value format)

ไม่บังคับ: จำนวนเงินทั้งหมดของคำสั่งซื้อนี้รวมภาษี ซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode ซึ่งเท่ากับ subTotalAmount + SUM(taxes.amount) ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

shippingAddress

object (Address)

ไม่บังคับ: ที่อยู่สำหรับจัดส่งสินค้าที่จับต้องได้ในคำสั่งซื้อนี้

items[]

object (Item)

ต้องระบุ: รายการที่เป็นส่วนหนึ่งของคำสั่งซื้อนี้

taxes[]

object (Tax)

ต้องระบุ: รายการที่เป็นส่วนหนึ่งของคำสั่งซื้อนี้ รายการนี้อาจว่างเปล่า

ที่อยู่

โครงสร้างที่มีข้อมูลเกี่ยวกับที่อยู่

การแสดง JSON
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string
}
ช่อง
name

string

ไม่บังคับ: ชื่อเต็มของลูกค้า

addressLine[]

string

ไม่บังคับ: ส่วนนี้จะใช้ข้อความของที่อยู่ที่ไม่มีโครงสร้าง

localityName

string

ไม่บังคับ: คำนี้มีความหมายไม่ชัดเจน แต่โดยทั่วไปจะหมายถึงส่วนเมืองของที่อยู่ ในภูมิภาคของโลกซึ่งยังไม่มีการกำหนดย่านต่างๆ ไว้ชัดเจนหรือไม่เหมาะสมกับโครงสร้างนี้ (เช่น ญี่ปุ่นและจีน) ให้ปล่อย localityName ว่างไว้และใช้ addressLine

ตัวอย่าง: เมืองในสหรัฐอเมริกา, เขตไอที, เมืองไปรษณีย์ของสหราชอาณาจักร

administrativeAreaName

string

ไม่บังคับ: เขตการปกครองระดับบนสุดของประเทศนี้ เช่น รัฐในสหรัฐอเมริกา ภูมิภาคไอที จังหวัดในจีน จังหวัดญี่ปุ่น"

postalCodeNumber

string

ไม่บังคับ: แม้ว่าจะชื่อ แต่ค่า zipCodeNumber มักจะเป็นตัวอักษรและตัวเลขคละกัน เช่น "94043", "SW1W", "SW1W 9TQ"

countryCode

string

ไม่บังคับ: รหัสประเทศของที่อยู่ลูกค้าควรเป็น ISO-3166-1 Alpha-2

รายการ

ข้อมูลเกี่ยวกับสินค้าในคำสั่งซื้อ

การแสดง JSON
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
ช่อง
description

string

ไม่บังคับ: รายละเอียดของสินค้าที่ซื้อ ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

merchant

string

ต้องระบุ: ผู้ขาย ศิลปิน หรือผู้สร้างสินค้า

quantity

string (Int64Value format)

ไม่บังคับ: จำนวนที่สั่งซื้อของสินค้านี้

ระบบจะละเว้นช่องนี้หากจำนวนจำนวนเต็มใช้ไม่ได้กับผลิตภัณฑ์ (ผลิตภัณฑ์ที่มีการตรวจวัดอาจมีจำนวนที่เป็นเศษส่วน เป็นต้น)

totalPrice

string (Int64Value format)

ไม่บังคับ: ราคารวมของรายการนี้ แสดงเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode หากมีการป้อนข้อมูล quantity ไว้ ตัวเลขนี้จะแสดงราคารวมของจำนวนทั้งหมด ใช้ไม่ได้กับคำสั่งซื้อบางประเภท

googleProductName

string

ต้องระบุ: ชื่อบริการผลิตภัณฑ์ Google สำหรับสินค้า

ภาษี

ข้อมูลเกี่ยวกับภาษีที่ใช้กับคำสั่งซื้อนี้

การแสดง JSON
{
  "description": string,
  "amount": string
}
ช่อง
description

string

ต้องระบุ: คำอธิบายภาษี

amount

string (Int64Value format)

ต้องระบุ: จำนวนภาษีซึ่งแสดงเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode

การชำระเงิน

ข้อมูลเกี่ยวกับการชำระเงิน

การแสดง JSON
{
  "billingAddress": {
    object (Address)
  },
  "amount": string,
  "refunds": [
    {
      object (Refund)
    }
  ],

  // Union field fopDetails can be only one of the following:
  "cardDetails": {
    object (PaymentCardDetails)
  }
  // End of list of possible types for union field fopDetails.
}
ช่อง
billingAddress

object (Address)

ต้องระบุ: ที่อยู่สำหรับการเรียกเก็บเงินสำหรับการชำระเงินนี้

amount

string (Int64Value format)

ต้องระบุ: จำนวนเงินที่ชำระนี้ แสดงเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode หมายเหตุ: ข้อมูลนี้อาจไม่ตรงกับ order.totalAmount หากคำสั่งซื้อมีการชำระเงินหลายครั้ง

refunds[]

object (Refund)

ต้องระบุ: รายการการคืนเงินสำหรับการชำระเงินนี้ รายการนี้อาจว่างเปล่า

ช่องการรวม fopDetails

fopDetails ต้องเป็นค่าใดค่าหนึ่งต่อไปนี้

cardDetails

object (PaymentCardDetails)

ไม่บังคับ: รายละเอียดการชำระเงินสำหรับเครดิตและ บัตรเดบิต

เงินคืน

ข้อมูลเกี่ยวกับการคืนเงินจากการชำระเงิน

การแสดง JSON
{
  "amount": string,
  "initiatedTimestamp": string
}
ช่อง
amount

string (Int64Value format)

ต้องระบุ: จำนวนเงินที่คืน จำนวนบวกเป็นไมโครของสกุลเงินที่ระบุใน order.currencyCode

initiatedTimestamp

string (int64 format)

ต้องระบุ: การประทับเวลาที่เริ่มการคืนเงิน ซึ่งแสดงเป็นมิลลิวินาทีนับตั้งแต่ Epoch

PaymentCardDetails

รายละเอียดการชำระเงินเฉพาะสำหรับเครดิตและ บัตรเดบิต

การแสดง JSON
{
  "authResult": enum (AuthResult)
}
ช่อง
authResult

enum (AuthResult)

ต้องระบุ: ผลการตรวจสอบสิทธิ์การชำระเงิน

AuthResult

ผลการตรวจสอบสิทธิ์การชำระเงิน

Enum
UNKNOWN_RESULT โปรดอย่าตั้งค่าเริ่มต้นนี้
APPROVED อนุมัติการรับรองแล้ว
DENIED การตรวจสอบสิทธิ์ถูกปฏิเสธ
NOT_ATTEMPTED ไม่ได้พยายามตรวจสอบสิทธิ์