- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- PaymentLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- CaptureRequestCriteria
- RequestOriginator
- GetDisputeInquiryReportResultCode
- PurchaseReport
- CustomerAccount
- Đơn đặt hàng
- Địa chỉ
- Mặt hàng
- Thuế
- Thanh toán
- Hoàn tiền
- PaymentCardDetails
- AuthResult
Nhận báo cáo cung cấp thông tin giúp hỗ trợ khách hàng dễ dàng trò chuyện với bộ phận hỗ trợ khách hàng về trường hợp có thể xảy ra tranh chấp về khoản thanh toán.
Nếu điểm cuối gặp lỗi trong khi xử lý yêu cầu, thì phản hồi từ điểm cuối này sẽ thuộc loại .ErrorResponse
Phản hồi cho truy vấn này có thể trống nếu phương thức này không trả về HTTP 200. Nội dung phản hồi bị trống trong trường hợp có nội dung mô tả rõ ràng có thể được dùng để giúp kẻ tấn công hiểu được giá trị nhận dạng tài khoản của đối tác tích hợp thanh toán khác. Trong những trường hợp như vậy, khi khoá ký không khớp, không tìm thấy giá trị nhận dạng của trình tích hợp thanh toán hoặc không xác định được khoá mã hoá, thì phương thức này sẽ trả về một HTTP 404 có phần nội dung trống. Nếu chữ ký của yêu cầu có thể được xác minh thì thông tin bổ sung về lỗi sẽ được trả về trong nội dung phản hồi.ErrorResponse
Yêu cầu mẫu sẽ có dạng như sau:
{
"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"
}
}
Câu trả lời mẫu sẽ có dạng như sau:
{
"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"
}
}
}
}
Yêu cầu HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getDisputeInquiryReport/:PIAID
Nội dung yêu cầu
Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:
| Biểu diễn dưới dạng JSON |
|---|
{ "requestHeader": { object ( |
| Trường | |
|---|---|
requestHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả các yêu cầu. |
paymentIntegratorAccountId |
BẮT BUỘC: Giá trị nhận dạng tài khoản của đối tác tích hợp thanh toán giúp xác định người gọi và các điều kiện ràng buộc theo hợp đồng có liên quan đối với hoạt động tương tác này. |
paymentLookupCriteria |
BẮT BUỘC: Tiêu chí cho biết khoản thanh toán được tra cứu cho câu hỏi này. |
existingGoogleClaimId |
KHÔNG BẮT BUỘC: Chuỗi do Google tạo từ lệnh gọi trước đó đến Nếu bạn không cung cấp mã này, thì một mã thông báo xác nhận quyền sở hữu mới sẽ được tạo. Phương thức gọi có thể cung cấp Mã đơn khiếu nại được điền ở đây hoặc được tạo sẽ được trả về trong trường Việc cung cấp |
requestOriginator |
BẮT BUỘC: Thông tin về tổ chức hoặc nhóm con tổ chức đưa ra yêu cầu này. |
Nội dung phản hồi
Tải trọng phản hồi cho phương thức getDisputeInquiryReport.
Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:
| Biểu diễn dưới dạng JSON |
|---|
{ "responseHeader": { object ( |
| Trường | |
|---|---|
responseHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả câu trả lời. |
result |
BẮT BUỘC: Kết quả của cuộc gọi này. |
googleClaimId |
KHÔNG BẮT BUỘC: Chuỗi do Google tạo để nhận dạng duy nhất đơn khiếu nại của khách hàng này. (Trình bày khi và chỉ khi Nếu |
report |
KHÔNG BẮT BUỘC: Thông tin chi tiết có liên quan đến tranh chấp về khoản thanh toán được xác định trong yêu cầu. (Trình bày khi và chỉ khi |
PaymentLookupCriteria
Vùng chứa các tiêu chí có thể tra cứu riêng một khoản thanh toán. Bạn phải điền một (và chỉ một) trường thành viên.
| Biểu diễn dưới dạng JSON |
|---|
{ // Union field |
| Trường | |
|---|---|
Trường kết hợp
|
|
arnCriteria |
KHÔNG BẮT BUỘC: Tra cứu dựa trên Số tham chiếu của bên thu nạp (ARN). |
googleTransactionReferenceNumberCriteria |
KHÔNG BẮT BUỘC: Tra cứu dựa trên Số tham chiếu giao dịch của Google. |
captureRequestCriteria |
KHÔNG BẮT BUỘC: Tra cứu dựa trên mã yêu cầu thu thập. |
ArnCriteria
Tiêu chí tra cứu khoản thanh toán dựa trên Số tham chiếu của người thu nạp (ARN).
| Biểu diễn dưới dạng JSON |
|---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
| Trường | |
|---|---|
acquirerReferenceNumber |
BẮT BUỘC: Số tham chiếu của người thu nạp (ARN) xác định riêng biệt khoản thanh toán. Phải có 23 chữ số. |
authorizationCode |
BẮT BUỘC: Mã uỷ quyền cho giao dịch. |
GoogleTransactionReferenceNumberCriteria
Tiêu chí tra cứu khoản thanh toán dựa trên Số tham chiếu giao dịch do Google tạo.
| Biểu diễn dưới dạng JSON |
|---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
| Trường | |
|---|---|
googleTransactionReferenceNumber |
BẮT BUỘC: Số tham chiếu của giao dịch do Google tạo giúp xác định chính xác khoản thanh toán. |
authorizationCode |
BẮT BUỘC: Mã uỷ quyền cho giao dịch. |
CaptureRequestCriteria
Tiêu chí tra cứu thanh toán dựa trên yêu cầu ghi lại ban đầu.
| Biểu diễn dưới dạng JSON |
|---|
{ "captureRequestId": string } |
| Trường | |
|---|---|
captureRequestId |
BẮT BUỘC: Giá trị nhận dạng duy nhất của giao dịch này. Đây là |
RequestOriginator
Thông tin về tổ chức hoặc nhóm con của tổ chức và (không bắt buộc) nhân viên mà bạn gửi yêu cầu này. Điều này cho phép Google xác định các vấn đề hoặc hành vi sai trái và triển khai các biện pháp kiểm soát ở mức độ chi tiết hơn so với paymentIntegratorAccountId. Phương thức này đặc biệt có giá trị khi phương thức gọi là nhà cung cấp dịch vụ trung gian nhận yêu cầu từ nhiều máy khách bên ngoài.
| Biểu diễn dưới dạng JSON |
|---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
| Trường | |
|---|---|
organizationId |
BẮT BUỘC: Giá trị nhận dạng của công ty, tổ chức hoặc nhóm tổ chức phát sinh yêu cầu này. Phải là duy nhất trong |
organizationDescription |
BẮT BUỘC: Tên hoặc nội dung mô tả về tổ chức mà con người có thể đọc được, có thể dùng để dễ dàng liên lạc giữa nhân viên của Google và đơn vị tích hợp về tổ chức đó. |
agentId |
KHÔNG BẮT BUỘC: Giá trị nhận dạng duy nhất cho người đại diện (nhân viên) cụ thể của tổ chức do |
GetDisputeInquiryReportResultCode
Kết quả của lệnh gọi phương thức getDisputeInquiryReport.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Đừng bao giờ đặt giá trị mặc định này! |
SUCCESS |
Đã phát hiện khoản thanh toán và đã cung cấp báo cáo. |
PAYMENT_NOT_FOUND |
Không tìm thấy khoản thanh toán được yêu cầu. |
PAYMENT_TOO_OLD |
Đã tìm thấy khoản thanh toán mà bạn yêu cầu nhưng chúng tôi không cung cấp báo cáo do thời hạn của khoản thanh toán. |
ORDER_CANNOT_BE_RETURNED |
Khoản thanh toán được yêu cầu thuộc về một đơn đặt hàng tồn tại nhưng không thể trả lại. Lý do bao gồm cả trường hợp đơn đặt hàng đã bị xóa theo yêu cầu của chủ sở hữu. |
NO_ADDITIONAL_DETAILS |
Đã tìm thấy khoản thanh toán được yêu cầu nhưng không có báo cáo. |
PurchaseReport
Báo cáo chứa thông tin liên quan về giao dịch mua liên quan đến khoản thanh toán được yêu cầu.
| Biểu diễn dưới dạng JSON |
|---|
{ "customerAccount": { object ( |
| Trường | |
|---|---|
customerAccount |
BẮT BUỘC: Thông tin liên quan đến khách hàng và tài khoản của họ. |
order |
BẮT BUỘC: Thông tin về đơn đặt hàng mà khoản thanh toán đã được thực hiện. |
payment |
KHÔNG BẮT BUỘC: Thông tin về khoản thanh toán. Lưu ý: Có thể thực hiện nhiều khoản thanh toán cho một đơn đặt hàng, nhưng thông tin này sẽ chỉ chứa thông tin của khoản thanh toán đã được xác định trong yêu cầu ban đầu. Không áp dụng cho một số loại đơn đặt hàng. |
CustomerAccount
Thông tin về tài khoản của khách hàng
| Biểu diễn dưới dạng JSON |
|---|
{ "customerEmail": string, "customerName": string } |
| Trường | |
|---|---|
customerEmail |
BẮT BUỘC: Địa chỉ email liên kết với Tài khoản Google của khách hàng. |
customerName |
BẮT BUỘC: Tên của khách hàng. |
Đặt
Thông tin về đơn đặt hàng.
| Biểu diễn dưới dạng JSON |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "shippingAddress": { object ( |
| Trường | |
|---|---|
timestamp |
KHÔNG BẮT BUỘC: Dấu thời gian về thời điểm thực hiện đơn đặt hàng, được biểu thị bằng mili giây kể từ thời gian bắt đầu của hệ thống. Không áp dụng cho một số loại đơn đặt hàng. |
orderId |
KHÔNG BẮT BUỘC: Chuỗi xác định duy nhất thứ tự này. Không áp dụng cho một số loại đơn đặt hàng. |
currencyCode |
KHÔNG BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217 cho tất cả số tiền trong đơn đặt hàng này. Không áp dụng cho một số loại đơn đặt hàng. |
subTotalAmount |
KHÔNG BẮT BUỘC: Tổng số tiền của đơn đặt hàng này trước thuế, được thể hiện dưới dạng phần triệu của đơn vị tiền tệ được chỉ định bằng |
totalAmount |
KHÔNG BẮT BUỘC: Tổng số tiền của đơn đặt hàng này bao gồm cả thuế, được thể hiện dưới dạng phần triệu đơn vị tiền tệ được chỉ định bằng |
shippingAddress |
KHÔNG BẮT BUỘC: Địa chỉ giao hàng của các mặt hàng thực trong đơn đặt hàng này. |
items[] |
BẮT BUỘC: Danh sách các mặt hàng thuộc đơn đặt hàng này. |
taxes[] |
BẮT BUỘC: Danh sách các mặt hàng thuộc đơn đặt hàng này. Danh sách này có thể trống. |
Địa chỉ
Cấu trúc lưu trữ thông tin về một địa chỉ.
| Biểu diễn dưới dạng JSON |
|---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string } |
| Trường | |
|---|---|
name |
KHÔNG BẮT BUỘC: Họ tên của khách hàng. |
addressLine[] |
KHÔNG BẮT BUỘC: Trường này chứa văn bản Địa chỉ không có cấu trúc. |
localityName |
KHÔNG BẮT BUỘC: Đây là một cụm từ không rõ ràng, nhưng thường đề cập đến phần thành phố/thị trấn của một địa chỉ. Ở các khu vực trên thế giới nơi các địa phương không được xác định rõ hoặc không phù hợp với cấu trúc này (ví dụ: Nhật Bản và Trung Quốc), hãy để trống localityName và sử dụng addressLine. Ví dụ: Thành phố ở Hoa Kỳ, xã CNTT, thị trấn có bưu điện của Vương quốc Anh. |
administrativeAreaName |
KHÔNG BẮT BUỘC: Phân khu hành chính cấp cao nhất của quốc gia này" Ví dụ: Tiểu bang ở Hoa Kỳ, khu vực CNTT, tỉnh CN, tỉnh Nhật Bản." |
postalCodeNumber |
KHÔNG BẮT BUỘC: Mặc dù có tên, các giá trị logCodeNumber thường là chữ và số. Ví dụ: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
KHÔNG BẮT BUỘC: Mã quốc gia của địa chỉ khách hàng, dự kiến là ISO-3166-1 Alpha-2. |
Mục
Thông tin về một mặt hàng trong đơn đặt hàng.
| Biểu diễn dưới dạng JSON |
|---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
| Trường | |
|---|---|
description |
KHÔNG BẮT BUỘC: Nội dung mô tả về mặt hàng đã được mua. Không áp dụng cho một số loại đơn đặt hàng. |
merchant |
BẮT BUỘC: Người bán, nghệ sĩ hoặc nhà sản xuất mặt hàng. |
quantity |
KHÔNG BẮT BUỘC: Số lượng đã được đặt mua mặt hàng này. Trường này sẽ bị bỏ qua nếu bạn không thể áp dụng số lượng là số nguyên cho sản phẩm (ví dụ: sản phẩm theo định mức có thể có số lượng dạng phân số). |
totalPrice |
KHÔNG BẮT BUỘC: Tổng giá của mặt hàng này, được thể hiện dưới dạng micrô của đơn vị tiền tệ được chỉ định bằng |
googleProductName |
BẮT BUỘC: Tên dịch vụ sản phẩm của Google dành cho mặt hàng. |
Thuế
Thông tin về mức thuế áp dụng cho đơn đặt hàng này.
| Biểu diễn dưới dạng JSON |
|---|
{ "description": string, "amount": string } |
| Trường | |
|---|---|
description |
BẮT BUỘC: Nội dung mô tả về khoản thuế. |
amount |
BẮT BUỘC: Số tiền thuế, được thể hiện dưới dạng phần triệu của đơn vị tiền tệ được chỉ định bằng |
Thanh toán
Thông tin về khoản thanh toán.
| Biểu diễn dưới dạng JSON |
|---|
{ "billingAddress": { object ( |
| Trường | |
|---|---|
billingAddress |
BẮT BUỘC: Địa chỉ thanh toán cho khoản thanh toán này. |
amount |
BẮT BUỘC: Số tiền của khoản thanh toán này, được thể hiện dưới dạng phần triệu của đơn vị tiền tệ được chỉ định bằng |
refunds[] |
BẮT BUỘC: Danh sách các khoản tiền hoàn lại cho khoản thanh toán này. Danh sách này có thể trống. |
Trường kết hợp
|
|
cardDetails |
KHÔNG BẮT BUỘC: Chi tiết thanh toán cụ thể cho tín dụng và thẻ ghi nợ FoPs. |
Hoàn tiền
Thông tin về việc hoàn tiền cho một khoản thanh toán.
| Biểu diễn dưới dạng JSON |
|---|
{ "amount": string, "initiatedTimestamp": string } |
| Trường | |
|---|---|
amount |
BẮT BUỘC: Số tiền được hoàn lại, một số dương micro của đơn vị tiền tệ được chỉ định trong |
initiatedTimestamp |
BẮT BUỘC: Dấu thời gian về thời điểm bắt đầu quá trình hoàn tiền, được biểu thị bằng mili giây kể từ thời gian bắt đầu của hệ thống. |
PaymentCardDetails
Chi tiết thanh toán cụ thể cho tín dụng & thẻ ghi nợ.
| Biểu diễn dưới dạng JSON |
|---|
{
"authResult": enum ( |
| Trường | |
|---|---|
authResult |
BẮT BUỘC: Kết quả của việc uỷ quyền thanh toán. |
AuthResult
Kết quả xác thực khoản thanh toán.
| Enum | |
|---|---|
UNKNOWN_RESULT |
Đừng bao giờ đặt giá trị mặc định này! |
APPROVED |
Đã phê duyệt xác thực. |
DENIED |
Xác thực bị từ chối. |
NOT_ATTEMPTED |
Chưa xác thực được. |