- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- RequestHeader
- Phiên bản
- OrderLookupCriteria
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator (Yêu cầu khởi tạo)
- ResponseHeader
- GetOrderDetailsResultCode
- Đơn đặt hàng
- Mặt hàng
- Thuế
Nhận đơn đặt hàng cung cấp cơ sở cho các đối tác của Google để tính phí người dùng cuối.
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 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 bên 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 mã nhận dạng nhà tích hợp thanh toán hoặc khoá mã hoá không xác định, thì phương thức này sẽ trả về một HTTP 404 với phần nội dung trống. Nếu có thể xác minh được chữ ký yêu cầu, 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": "IntegratorFakeAccount",
"orderLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City"
}
}
Phản hồi mẫu sẽ có dạng như sau:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"order": {
"timestamp": "1517992525972",
"orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
"currencyCode": "USD",
"subTotalAmount": "399000000",
"totalAmount": "459000000",
"taxes": [],
"items": [
{
"description": "YouTube TV membership",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "399000000"
},
{
"description": "Showtime",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "6000000"
}
]
}
}
Yêu cầu HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/: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 ( |
Các trường | |
---|---|
requestHeader |
REQUIRED: Tiêu đề chung cho tất cả các yêu cầu. |
paymentIntegratorAccountId |
REQUIRED: Giá trị nhận dạng tài khoản của bên tích hợp thanh toán xác định người gọi và những ràng buộc theo hợp đồng có liên quan đến hoạt động tương tác này. |
orderLookupCriteria |
BẮT BUỘC: Tiêu chí cho biết thứ tự cần tra cứu. |
requestOriginator |
KHÔNG BẮT BUỘC: Thông tin về tổ chức hoặc nhóm con của tổ chức đã đưa ra yêu cầu này (nếu bên tích hợp đang gọi cho chúng tôi thay mặt cho một tổ chức khác). |
Nội dung phản hồi
Tải trọng phản hồi cho phương thức getOrderDetails
.
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 |
REQUIRED: Tiêu đề chung cho tất cả các câu trả lời. |
result |
REQUIRED: Kết quả của cuộc gọi này. |
order |
KHÔNG BẮT BUỘC: Thông tin liên quan đến đơn đặt hàng mà khoản thanh toán được thực hiện. (Trình bày khi và chỉ khi |
RequestHeader
Đối tượng tiêu đề được xác định trên tất cả các yêu cầu được gửi đến máy chủ.
Biểu diễn dưới dạng JSON |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
Các trường | |
---|---|
requestId |
REQUIRED: Giá trị nhận dạng duy nhất của yêu cầu này. Đây là chuỗi có độ dài tối đa 100 ký tự và chỉ chứa các ký tự "a-z", "A-Z", "0-9", ":", "-" và "_". |
requestTimestamp |
BẮT BUỘC: Dấu thời gian của yêu cầu này được thể hiện dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống. Bộ nhận phải xác minh rằng dấu thời gian này là ± 60 giây của "hiện tại". Dấu thời gian yêu cầu này không giống nhau khi thử lại. |
userLocale |
KHÔNG DÙNG NỮA: Mã ngôn ngữ gồm hai hoặc ba chữ cái theo tiêu chuẩn ISO 639-2 Alpha-3 (không bắt buộc) theo sau là dấu gạch nối và mã quốc gia theo tiêu chuẩn ISO 3166-1 Alpha-2, ví dụ: 'pt', 'pt-BR', 'fil' hoặc 'fil-PH'. Dùng công cụ này để giúp thúc đẩy các trường |
protocolVersion |
REQUIRED: Phiên bản của yêu cầu này. |
Phiên bản
Đối tượng phiên bản là một dạng cấu trúc của cấu trúc phiên bản a.b.c
cổ điển. Các phiên bản chính của cùng một số sẽ đảm bảo tương thích. Lưu ý rằng các nội dung sửa đổi nhỏ và nội dung sửa đổi có thể thay đổi thường xuyên mà không cần thông báo trước. Trình tích hợp phải hỗ trợ tất cả các yêu cầu cho cùng một phiên bản lớn.
Biểu diễn dưới dạng JSON |
---|
{ "major": integer, "minor": integer, "revision": integer } |
Các trường | |
---|---|
major |
BẮT BUỘC: Phiên bản lớn. Thuộc tính này được đánh dấu cho các yêu cầu về khả năng tương thích với nhiều phiên bản nhưng không đảm bảo sẽ tương thích. |
minor |
BẮT BUỘC: Phiên bản nhỏ. Điều này biểu thị các bản sửa lỗi quan trọng. |
revision |
BẮT BUỘC: Phiên bản nhỏ. Điều này biểu thị các bản sửa lỗi nhỏ. |
OrderLookupCriteria
Tiêu chí tra cứu thứ tự.
Biểu diễn dưới dạng JSON |
---|
{ // Union field |
Các trường | |
---|---|
Trường nhóm
|
|
dcb3CorrelationId |
Tra cứu dựa trên mã tương quan DCB do Google tạo để xác định chính xác khoản thanh toán. Giá trị này do Google tạo và được gửi tới đơn vị tích hợp thanh toán qua nhà mạng trong cuộc gọi xác thực. |
arnCriteria |
Tra cứu dựa trên Số tham chiếu của công ty thu nạp (ARN). |
googleTransactionReferenceNumberCriteria |
Tra cứu dựa trên Số tham chiếu giao dịch qua Google. |
ArnCriteria
Tiêu chí tra cứu khoản thanh toán dựa trên Số tham chiếu của công ty thu nạp (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 bên thu nạp (ARN) dùng để xác định duy nhất khoản thanh toán. Phải có 23 chữ số. |
authorizationCode |
REQUIRED: Mã uỷ quyền của 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 } |
Các trường | |
---|---|
googleTransactionReferenceNumber |
REQUIRED: Số tham chiếu giao dịch do Google tạo, dùng để xác định chính xác khoản thanh toán. |
authorizationCode |
REQUIRED: Mã uỷ quyền của giao dịch đó. |
RequestOriginator
Thông tin về tổ chức hoặc nhóm con của tổ chức là nơi phát sinh 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 hữu ích 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 ứng dụng bên ngoài.
Biểu diễn dưới dạng JSON |
---|
{ "organizationId": string, "organizationDescription": 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 là nơi 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à nhà tích hợp về tổ chức đó. |
ResponseHeader
Đối tượng tiêu đề được xác định trên tất cả phản hồi gửi từ máy chủ.
Biểu diễn dưới dạng JSON |
---|
{ "responseTimestamp": string } |
Các trường | |
---|---|
responseTimestamp |
REQUIRED: Dấu thời gian của phản hồi này được thể hiện dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống. Bộ nhận phải xác minh rằng dấu thời gian này là ± 60 giây của "hiện tại". |
GetOrderDetailsResultCode
Kết quả của lệnh gọi phương thức getOrderDetails
.
Enum | |
---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN |
Đừng bao giờ đặt giá trị mặc định này! |
SUCCESS |
Đơn đặt hàng đã được tìm thấy và trả lại. |
ORDER_CANNOT_BE_RETURNED |
Đơn đặt hàng được yêu cầu đã tồn tại, nhưng không thể trả lại. Có một số lý do như có trường hợp đơn đặt hàng bị xoá theo yêu cầu của chủ sở hữu. |
PAYMENT_TOO_OLD |
Chúng tôi đã tìm thấy khoản thanh toán đã yêu cầu, nhưng thông tin chi tiết của đơn đặt hàng chưa được cung cấp do chưa đủ thời hạn thanh toán. |
PAYMENT_NOT_FOUND |
Không tìm thấy khoản thanh toán đã yêu cầu. |
NO_ADDITIONAL_DETAILS |
Đã tìm thấy khoản thanh toán được yêu cầu, nhưng không có thông tin chi tiết về đơn đặt 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, "items": [ { object ( |
Các 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, biểu thị dưới dạng mili giây kể từ thời gian bắt đầu của hệ thống. Chỉ dành cho một số loại đơn đặt hàng. |
orderId |
KHÔNG BẮT BUỘC: Một chuỗi ký tự xác định duy nhất đơn đặt hàng này. Chỉ dành 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. Chỉ dành 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 biểu thị bằng phần triệu đơ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 biểu thị bằng phần triệu đơn vị tiền tệ được chỉ định bằng |
items[] |
REQUIRED: Danh sách các mặt hàng nằm trong đơn đặt hàng này. |
taxes[] |
KHÔNG BẮT BUỘC: Danh sách các khoản thuế có trong đơn đặt hàng này. |
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: Nội dung mô tả về mặt hàng đã được mua. Chỉ dành 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 của 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 bạn không áp dụng số lượng nguyên cho sản phẩm (ví dụ: sản phẩm có định lượng có thể có số lượng phân số). |
totalPrice |
KHÔNG BẮT BUỘC: Tổng giá của mặt hàng này, được biểu thị bằng phần triệu đơ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 đối với mặt hàng đó. |
Thuế
Thông tin về một loại 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: Nội dung mô tả về khoản thuế đó. |
amount |
BẮT BUỘC: Số tiền thuế, được biểu thị bằng phần triệu của đơn vị tiền tệ được chỉ định bằng |