- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- Sự kiện
Trả về thông tin chi tiết giao dịch liên quan đến bảng sao kê chuyển tiền.
Đây là một API được phân trang. Bạn có thể chỉ định số lượng sự kiện giao dịch trên mỗi trang bằng numberOfEvents
. Nếu bạn không chỉ định, hệ thống sẽ trả về tối đa 1.000 sự kiện trên mỗi trang. Mỗi yêu cầu đối với API này sẽ trả về một nextEventOffset
trỏ đến sự kiện giao dịch tiếp theo trong câu lệnh, cũng như totalEvents
chỉ định tổng số giao dịch trong câu lệnh. Nếu trang được truy xuất hiện tại chứa các giao dịch gần đây nhất của câu lệnh, thì nextEventOffset
sẽ không xuất hiện trong phản hồi.
Giá trị statementId
là requestId
từ remittanceStatementNotificationRequest
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": 0,
"revision": 0
},
"requestId": "statement_detail_request_139932019",
"requestTimestamp": "1502551332087"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"statementId": "0123434-statement-abc",
"numberOfEvents": 4
}
Phản hồi mẫu sẽ có dạng như sau:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"eventOffset": 0,
"nextEventOffset": 4,
"totalEvents": 15,
"remittanceStatementSummary": {
"statementDate": "1502521200000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502434800000"
},
"dateDue": "1502348400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
},
"captureEvents": [
{
"eventRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"paymentIntegratorEventId": "ioj32SOIjf23oijSDfoij",
"eventCharge": "700000000",
"eventFee": "-28000000"
},
{
"eventRequestId": "Ggghvh78200PQ3Yrpb",
"paymentIntegratorEventId": "iasdf23dSdfijSDfoij",
"eventCharge": "800000000",
"eventFee": "-32000000"
}
],
"refundEvents": [
{
"eventRequestId": "liUrreQY233839dfFFb24gaQM",
"paymentIntegratorEventId": "asd3SDf3f3oijSDfoij",
"eventCharge": "-200000000",
"eventFee": "8000000"
},
{
"eventRequestId": "IIghhhUrreQY233839II9qM==",
"paymentIntegratorEventId": "DFjidoso12FSDFSDE",
"eventCharge": "-150000000",
"eventFee": "6000000"
}
]
}
Yêu cầu HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/: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: Đây là mã nhận dạng tài khoản của đơn vị tích hợp thanh toán, giúp xác định những ràng buộc theo hợp đồng xung quanh tuyên bố này. |
statementId |
REQUIRED: Mã yêu cầu của thông báo về bảng sao kê. |
eventOffset |
KHÔNG BẮT BUỘC: Trả về các sự kiện bắt đầu tại mức chênh lệch này. Bạn nên thiết lập thuộc tính này thành |
numberOfEvents |
KHÔNG BẮT BUỘC: Số sự kiện hiển thị trên mỗi trang. Nếu không xác định hoặc lớn hơn 1000, thì giá trị này sẽ là 1000. |
Nội dung phản hồi
Đối tượng phản hồi cho phương thức chi tiết bảng sao kê chuyển tiền.
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. |
remittanceStatementSummary |
REQUIRED: Bản tóm tắt của bảng sao kê chuyển tiền này. |
eventOffset |
REQUIRED: Mức chênh lệch sự kiện của phản hồi này. |
nextEventOffset |
KHÔNG BẮT BUỘC: Độ lệch của sự kiện tiếp theo cần trả về. Nếu bạn chưa chỉ định thì không có sự kiện nào khác để truy xuất cho câu lệnh này. |
totalEvents |
BẮT BUỘC: Tổng số sự kiện trong câu lệnh này. |
totalWithholdingTaxes |
BẮT BUỘC: Tổng tất cả các khoản thuế khấu lưu cho bảng sao kê này. Giá trị này được tính bằng phần triệu. |
captureEvents[] |
BẮT BUỘC: Nhóm các sự kiện chụp. |
refundEvents[] |
REQUIRED: Tập hợp các sự kiện hoàn tiền. |
reverseRefundEvents[] |
KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền ngược. |
chargebackEvents[] |
KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền. |
reverseChargebackEvents[] |
KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền ngược. |
adjustmentEvents[] |
KHÔNG BẮT BUỘC: Tập hợp các sự kiện điều chỉnh. Google có thể tuỳ ý thêm sự kiện điều chỉnh để điều chỉnh sự khác biệt về hoá đơn, ví dụ: nếu các khoản phí bị tính thiếu cho một tập hợp các giao dịch trước đó, thì hệ thống có thể sử dụng một mức điều chỉnh để tạo nên toàn bộ đơn vị tích hợp. |
RemittanceStatementSummary
Đối tượng tóm tắt về bảng sao kê chuyển tiền.
Biểu diễn dưới dạng JSON |
---|
{ "statementDate": string, "billingPeriod": { object ( |
Các trường | |
---|---|
statementDate |
REQUIRED: Ngày (ở Mỹ/Los Angeles) mà tuyên bố này được tạo. |
billingPeriod |
BẮT BUỘC: Kỳ thanh toán được áp dụng trong bảng sao kê này. |
dateDue |
KHÔNG BẮT BUỘC: Ngày đến hạn của giao dịch chuyển tiền. Thời gian này được biểu thị dưới dạng mili giây tính từ thời gian bắt đầu của hệ thống. Đây là ngày (và do đó sẽ luôn bắt đầu vào mili giây đầu tiên của ngày trong múi giờ thanh toán). Giá trị này được đặt miễn là |
currencyCode |
BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217. |
totalDueByIntegrator |
BẮT BUỘC: Giá trị này được tính bằng micrô theo đơn vị tiền tệ của |
remittanceInstructions |
REQUIRED: Chi tiết về cách thanh toán |
BillingPeriod
Kỳ thanh toán của bảng sao kê này.
Biểu diễn dưới dạng JSON |
---|
{ "startDate": string, "endDate": string } |
Các trường | |
---|---|
startDate |
REQUIRED: Ngày bắt đầu kỳ thanh toán. Thời gian này được biểu thị dưới dạng mili giây tính từ thời gian bắt đầu của hệ thống. Đây là ngày (và do đó sẽ luôn bắt đầu vào mili giây đầu tiên của ngày trong múi giờ thanh toán). Đây là mili giây đầu tiên trong ngày của kỳ thanh toán, 00:00:00.000 |
endDate |
REQUIRED: Ngày kết thúc kỳ thanh toán. Thời gian này được biểu thị dưới dạng mili giây tính từ thời gian bắt đầu của hệ thống. Đây là mili giây cuối cùng của ngày cuối cùng của kỳ thanh toán, 23:59:59.999 |
RemittanceInstructions
Nhà chứa thông tin về cách thanh toán thông báo chuyển tiền này.
Biểu diễn dưới dạng JSON |
---|
{ "memoLineId": string } |
Các trường | |
---|---|
memoLineId |
BẮT BUỘC: Mã nhận dạng bắt buộc phải được đưa vào dòng thư báo để nhận dạng giao dịch chuyển tiền. |
Sự kiện
Cấu trúc thể hiện một sự kiện duy nhất có trong bảng sao kê chuyển tiền.
Biểu diễn dưới dạng JSON |
---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
Các trường | |
---|---|
eventRequestId |
BẮT BUỘC: Đối với sự kiện chụp hoặc hoàn tiền, đây sẽ là |
paymentIntegratorEventId |
BẮT BUỘC: Xác định rằng bên tích hợp thanh toán đã trả về cho sự kiện này. Đối với ảnh chụp, đây là Trường này có độ dài thay đổi. Với tư cách là nhà tích hợp, mã nhận dạng mà bạn cung cấp cho sự kiện này sẽ được phản ánh ở đây. Nếu nhà tích hợp không cung cấp giá trị cho sự kiện tương ứng, thì trường này sẽ chứa giá trị giống với trường Đối với các sự kiện hoàn tiền ngược, hoàn tiền và hoàn tiền ngược, đây sẽ là Độ dài và định dạng của trường này phụ thuộc vào trường nguồn của từng mã. Tham khảo tài liệu cho từng trường nguồn để biết chi tiết về yêu cầu độ dài và bộ ký tự. Đặc biệt, xin lưu ý rằng trường này đôi khi có thể chứa mã do Google tạo. Các yêu cầu này có thể có các yêu cầu về độ dài tối đa khác với mã do nhà tích hợp tạo. |
eventCharge |
REQUIRED: Bằng mã đơn vị tiền tệ được xác định theo câu lệnh. Nếu giá trị này là số âm thì tức là giá trị tiền tệ chuyển từ Google sang bên tích hợp thanh toán. Nếu số tiền này dương thì đó là khoản tiền của công ty tích hợp thanh toán phải trả cho Google. Ví dụ: số lượt giao dịch thu thập sẽ luôn là số dương và số giao dịch hoàn tiền sẽ luôn là số âm. Sự kiện hoàn tiền ngược và hoàn tiền ngược sẽ luôn có giá trị dương. Các sự kiện hoàn tiền sẽ luôn là số âm. Giá trị này được tính bằng phần triệu. |
eventFee |
REQUIRED: Bằng mã đơn vị tiền tệ được xác định theo câu lệnh. Nếu giá trị này là số âm thì tức là giá trị tiền tệ chuyển từ Google sang bên tích hợp thanh toán. Nếu số tiền này dương thì đó là khoản tiền của công ty tích hợp thanh toán phải trả cho Google. Ví dụ: Nếu một thoả thuận cho biết rằng Google sẽ thanh toán 1% Giá trị này được tính bằng phần triệu. |
presentmentChargeAmount |
KHÔNG BẮT BUỘC: Số tiền giao dịch bằng đơn vị tiền tệ hiện tại (còn gọi là giao dịch) trước khi giao dịch ngoại hối. Trường này tuân theo quy ước ký tương tự như trường Giá trị này được tính bằng phần triệu. |
presentmentCurrencyCode |
KHÔNG BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo tiêu chuẩn ISO 4217, loại bỏ đơn vị tiền tệ xuất hiện (giao dịch). |
exchangeRate |
KHÔNG BẮT BUỘC: Tỷ giá hối đoái dùng để quy đổi số tiền xuất hiện thành số tiền thanh toán (hoá đơn). Giá trị này tính bằng điểm cơ sở vi mô (1 điểm cơ sở = ,0001 = ,01%). Tức là để tính tỷ giá hối đoái, hãy chia trường này cho 10^10. |
nanoExchangeRate |
KHÔNG BẮT BUỘC: Tỷ giá hối đoái dùng để quy đổi số tiền thanh toán thành số tiền thanh toán (hoá đơn), biểu thị bằng điểm cơ sở nano. Giá trị này tính bằng điểm cơ sở nano (1 điểm cơ sở = ,0001 = ,01%). Tức là để tính tỷ giá hối đoái, hãy chia trường này cho 10^13. Cả trường này và ExchangeRate sẽ được điền sẵn. Đây là tỷ giá hối đoái tương đương được biểu thị với độ chính xác khác nhau. Trong các phiên bản trong tương lai, ExchangeRate sẽ bị xoá và thay vào đó là nanoExchangeRate. |