- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- Thanh tra tiêu chí thanh toán
- ArnCRITERIA
- GoogleTransactionReferenceNumbercriteria
- CaptureRequestCRITERIA
- RequestOriginator
- Get TranhInquiryReportResultCode
- PurchaseReport
- Tài khoản khách hàng
- Đơn đặt hàng
- Địa chỉ
- Mặt hàng
- Thuế
- Thanh toán
- Hoàn tiền
- Chi tiết thanh toán
- AuthResult
Nhận báo cáo cung cấp thông tin để hỗ trợ việc trao đổi với bộ phận hỗ trợ khách hàng với người dùng về tranh chấp tiềm ẩn 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
Các 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 các tình huống mà
có nội dung mô tả rõ ràng có thể được sử dụng để giúp kẻ tấn công hiểu giá trị nhận dạng tài khoản của nhà tích hợp thanh toán của các nhà tích hợp khác. Trong các trường hợp này, khi khoá ký không khớp, không tìm thấy giá trị nhận dạng nhà tích hợp thanh toán hoặc khoá mã hoá, phương thức này sẽ trả về HTTP 404 không có mã. Nếu có thể xác minh chữ ký yêu cầu, thông tin bổ sung về lỗi sẽ được trả về nội dung phản hồi.ErrorResponse
Một yêu cầu mẫu 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"
}
}
Một phản hồ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 với cấu trúc như sau:
Biểu diễn dưới dạng JSON |
---|
{ "requestHeader": { object ( |
Các 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: Mã định danh tài khoản của nhà tích hợp thanh toán xác định người gọi và các ràng buộc hợp đồng có liên quan cho tương tác này. |
paymentLookupCriteria |
BẮT BUỘC: Các tiêu chí cho biết khoản thanh toán sẽ được tra cứu cho yêu cầu này. |
existingGoogleClaimId |
TÙY CHỌN: Chuỗi do Google tạo sẽ được lệnh gọi trước đó trả về Nếu không có ID này, hệ thống sẽ tạo một mã xác nhận quyền sở hữu mới. Phương thức gọi có thể cung cấp ID xác nhận quyền sở hữu được tạo ở đâ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 phụ của tổ chức đã đưa ra yêu cầu này. |
Nội dung phản hồi
Trọng tải 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 ( |
Các trường | |
---|---|
responseHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả các phản hồi. |
result |
BẮT BUỘC: Kết quả của cuộc gọi này. |
googleClaimId |
KHÔNG BẮT BUỘC: Một chuỗi do Google tạo để xác định duy nhất tranh chấp của khách hàng này. (Chỉ trình bày khi và chỉ khi Nếu |
report |
KHÔNG BẮT BUỘC: Các chi tiết liên quan đến tranh chấp thanh toán được xác định trong yêu cầu. (Chỉ trình bày khi và chỉ khi |
Tiêu chí tra cứu thanh toán
Vùng chứa các tiêu chí có thể tra cứu duy nhất một khoản thanh toán. Phải điền một trường (và chỉ một) trường thành viên.
Biểu diễn dưới dạng JSON |
---|
{ // Union field |
Các trường | |
---|---|
Trường nhóm
|
|
arnCriteria |
KHÔNG BẮT BUỘC: Tra cứu dựa trên Số tham chiếu của đơn vị 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 chụp. |
Tiêu chí Arn
Tiêu chí tra cứu thanh toán dựa trên Số tham chiếu của người mua (ARN).
Biểu diễn dưới dạng JSON |
---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
Các trường | |
---|---|
acquirerReferenceNumber |
BẮT BUỘC: Số tham chiếu của người chuyển đổi (ARN) xác định duy nhất khoản thanh toán. Phải dài 23 chữ số. |
authorizationCode |
BẮT BUỘC: Mã ủy quyền cho giao dịch. |
Giá trị tham chiếu GoogleTransactionReference
Tiêu chí tra cứu 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 } |
Các trường | |
---|---|
googleTransactionReferenceNumber |
BẮT BUỘC: Số tham chiếu giao dịch do Google tạo để xác định duy nhất khoản thanh toán. |
authorizationCode |
BẮT BUỘC: Mã ủy quyền cho giao dịch. |
CaptureRequestCRITERIA
Tiêu chí tra cứu thanh toán dựa trên yêu cầu giữ lại ban đầu.
Biểu diễn dưới dạng JSON |
---|
{ "captureRequestId": string } |
Các 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à |
Trình tạo yêu cầu
Thông tin về tổ chức hoặc nhóm phụ của tổ chức và (không bắt buộc) nhân viên, nguồn gốc của 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 sử dụng sai mục đích và triển khai các chế độ kiểm soát ở mức độ chi tiết hơn so với paymentIntegratorAccountId
. Điều này đặc biệt có giá trị khi người gọi là nhà cung cấp dịch vụ trung gian lấy nguồn yêu cầu từ nhiều khách hàng bên ngoài.
Biểu diễn dưới dạng JSON |
---|
{ "organizationId": string, "organizationDescription": string, "agentId": string } |
Các 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 nơi yêu cầu này bắt nguồn. Phải là duy nhất trong |
organizationDescription |
BẮT BUỘC: Tên hoặc mô tả dễ đọc của tổ chức có thể được sử dụng để dễ dàng giao tiếp giữa các nhân viên của Google và nhà 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 nhân viên hỗ trợ cụ thể (nhân viên) của tổ chức do |
Nhận mã kết quả tranh chấp
Kết quả của lệnh gọi phương thức getDisputeInquiryReport
.
Enum | |
---|---|
UNKNOWN_RESULT |
Không bao giờ đặt giá trị mặc định này! |
SUCCESS |
Đã tìm thấy khoản thanh toán và chúng tôi đã cung cấp báo cáo. |
PAYMENT_NOT_FOUND |
Không tìm thấy thanh toán đã yêu cầu. |
PAYMENT_TOO_OLD |
Đã tìm thấy thanh toán được yêu cầu, nhưng báo cáo không được cung cấp do tuổi thanh toán. |
ORDER_CANNOT_BE_RETURNED |
Thanh toán được yêu cầu thuộc về đơn hàng đã tồn tại nhưng không thể trả lại được. Lý do bao gồm cá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 |
Khoản thanh toán được yêu cầu đã được tìm thấy, nhưng không có báo cáo. |
Báo cáo mua hàng
Báo cáo có các chi tiết liên quan đến 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 ( |
Các trường | |
---|---|
customerAccount |
BẮT BUỘC: Thông tin về khách hàng và tài khoản của họ. |
order |
BẮT BUỘC: Thông tin về thứ tự thanh toán. |
payment |
KHÔNG BẮT BUỘC: Thông tin về khoản thanh toán. Lưu ý: Có thể có nhiều thanh toán trên một đơn đặt hàng, nhưng điều này sẽ chỉ chứa thông tin về thanh toán đã được xác định trong yêu cầu ban đầu. Không có sẵn cho tất cả các loại đơn đặt hàng. |
Tài Khoản Khách Hàng
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 } |
Các 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. |
Gọi món
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 ( |
Các trường | |
---|---|
timestamp |
TÙY CHỌN: Dấu thời gian cho biết 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 có sẵn cho tất cả các loại đơn đặt hàng. |
orderId |
TÙY CHỌN: Chuỗi xác định duy nhất đơn đặt hàng này. Không có sẵn cho tất cả các 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ả các số tiền trong đơn đặt hàng này. Không có sẵn cho tất cả các 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 bằng micros của đơn vị tiền tệ được chỉ định trong |
totalAmount |
KHÔNG BẮT BUỘC: Tổng số tiền của đơn đặt hàng này bao gồm thuế, được biểu thị dưới dạng micros của đơn vị tiền tệ được chỉ định trong |
shippingAddress |
KHÔNG BẮT BUỘC: Địa chỉ giao hàng cho 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 trong đơn đặt hàng này. |
taxes[] |
BẮT BUỘC: Danh sách các mặt hàng trong đơn đặt hàng này. Danh sách này có thể trống. |
Address (Địa chỉ)
Cấu trúc chứa 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 } |
Các trường | |
---|---|
name |
KHÔNG BẮT BUỘC: Tên đầy đủ của khách hàng. |
addressLine[] |
TÙY CHỌN: Loại này chứa văn bản Địa chỉ không có cấu trúc. |
localityName |
TÙY CHỌN: Đây là một thuật ngữ mờ, nhưng nó thường đề cập đến phần thành phố/thị trấn của địa chỉ. Ở những khu vực trên thế giới mà các địa phương được định nghĩa không đúng 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 CitizenName và sử dụng addressLine. Ví dụ: Thành phố ở Hoa Kỳ, Cộng đồng CNTT, thị trấn có bưu điện Vương quốc Anh. |
administrativeAreaName |
TÙY CHỌN: 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 JP." |
postalCodeNumber |
TÙY CHỌN: Mặc dù có tên, nhưng các giá trị bưu chính của CodeCode thường là chữ và số. Ví dụ: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
TÙY CHỌN: Mã quốc gia trong đị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 } |
Các trường | |
---|---|
description |
KHÔNG BẮT BUỘC: Mô tả mặt hàng đã được mua. Không có sẵn cho tất cả các 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 đặt hàng của mặt hàng này. Trường này sẽ bị bỏ qua nếu số lượng dạng số nguyên không áp dụng được cho sản phẩm (ví dụ: các sản phẩm được đo lường có thể có số lượng nhỏ). |
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 micros của đơn vị tiền tệ được chỉ định trong |
googleProductName |
BẮT BUỘC: Tên dịch vụ sản phẩm của Google cho mặt hàng. |
Thuế
Thông tin về thuế áp dụng cho đơn đặt hàng này.
Biểu diễn dưới dạng JSON |
---|
{ "description": string, "amount": string } |
Các trường | |
---|---|
description |
BẮT BUỘC: Mô tả về thuế. |
amount |
BẮT BUỘC: Số tiền thuế, được thể hiện bằng micros của đơn vị tiền tệ được quy định trong |
Kiếm doanh thu
Thông tin về khoản thanh toán.
Biểu diễn dưới dạng JSON |
---|
{ "billingAddress": { object ( |
Các 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 bằng một phần triệu của đơn vị tiền tệ được chỉ định trong |
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 nhóm
|
|
cardDetails |
KHÔNG BẮT BUỘC: Chi tiết thanh toán dành riêng cho Fops thẻ tín dụng và thẻ ghi nợ. |
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 } |
Các trường | |
---|---|
amount |
BẮT BUỘC: Số tiền được hoàn lại, số dương micros của đơn vị tiền tệ được chỉ định trong |
initiatedTimestamp |
BẮT BUỘC: Dấu thời gian cho biết thời điểm bắt đầu quá trình hoàn tiền, được biểu thị dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống. |
Thông tin chi tiết về thẻ thanh toán
Chi tiết thanh toán cụ thể cho thẻ tín dụng và thẻ ghi nợ.
Biểu diễn dưới dạng JSON |
---|
{
"authResult": enum ( |
Các trường | |
---|---|
authResult |
BẮT BUỘC: Kết quả của xác thực thanh toán. |
Kết quả xác thực
Kết quả xác thực thanh toán.
Enum | |
---|---|
UNKNOWN_RESULT |
Không bao giờ đặt giá trị mặc định này! |
APPROVED |
Ủy quyền được chấp thuận. |
DENIED |
Xác thực bị từ chối. |
NOT_ATTEMPTED |
Chưa xác thực. |