- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- RemittanceStatementSummary
- Thanh toán
- Hướng dẫn về Remittance
- Sự kiện
Trả về thông tin chi tiết giao dịch về 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 không xác định, hàm sẽ trả về tối đa 1000 sự kiện cho 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 cuối cùng 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
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": 0,
"revision": 0
},
"requestId": "statement_detail_request_139932019",
"requestTimestamp": "1502551332087"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"statementId": "0123434-statement-abc",
"numberOfEvents": 4
}
Một 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 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: Đây là mã định danh tài khoản tích hợp thanh toán xác định ràng buộc hợp đồng xung quanh bảng sao kê này. |
statementId |
BẮT BUỘC: ID yêu cầu của thông báo. |
eventOffset |
KHÔNG BẮT BUỘC: Trả lại các sự kiện bắt đầu ở độ lệch này. Bạn phải đặt giá trị này thành |
numberOfEvents |
TÙY CHỌN: Số sự kiện hiển thị trên mỗi trang. Nếu giá trị 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 |
BẮT BUỘC: Tiêu đề chung cho tất cả các phản hồi. |
remittanceStatementSummary |
BẮT BUỘC: Tóm tắt bảng sao kê chuyển tiền này. |
eventOffset |
BẮT BUỘC: Mức chênh lệch sự kiện của phản hồi này. |
nextEventOffset |
TÙY CHỌN: Khoảng bù của sự kiện tiếp theo để trả về. Nếu bạn không chỉ định, sẽ không có thêm sự kiện nào cần truy xuất cho câu lệnh này. |
totalEvents |
BẮT BUỘC: Tổng số sự kiện trong báo cáo này. |
totalWithholdingTaxes |
BẮT BUỘC: Tổng tất cả các khoản thuế được khấu lưu cho bảng sao kê này. Giá trị này được tính bằng micros. |
captureEvents[] |
BẮT BUỘC: Tập hợp các sự kiện chụp. |
refundEvents[] |
BẮT BUỘC: 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 bồi hoàn. |
reverseChargebackEvents[] |
KHÔNG BẮT BUỘC: Tập hợp các sự kiện bồi hoà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ể thêm sự kiện điều chỉnh theo quyết định của Google để điều chỉnh các khoản chênh lệch về khoản thanh toán, chẳng hạn như nếu các khoản phí được tính toán chưa đầy đủ cho một số giao dịch trước đó. Do đó, có thể sử dụng một mức điều chỉnh để làm dữ liệu tích hợp cho cả bên tích hợp. |
Tóm tắt trạng thái chuyển tiền
Đố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 |
BẮT BUỘC: Ngày (ở Mỹ/Los Angeles) mà báo cáo này được tạo. |
billingPeriod |
BẮT BUỘC: Kỳ thanh toán mà bảng sao kê này bao gồm. |
dateDue |
TÙY CHỌN: Ngày đến hạn chuyển tiền. Trạng thái này được biểu diễn dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là một 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 tính bằng micrô theo đơn vị tiền tệ là |
remittanceInstructions |
BẮT BUỘC: Chi tiết về cách chuyển tiền thanh toán |
Chu kỳ thanh toán
Chu 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 |
BẮT BUỘC: Ngày bắt đầu của thời hạn thanh toán. Trạng thái này được biểu diễn dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là một 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à phần nghìn giây đầu tiên của ngày của thời hạn thanh toán, 00:00:00.000 |
endDate |
BẮT BUỘC: Ngày kết thúc của thời hạn thanh toán. Trạng thái này được biểu diễn dưới dạng mili giây 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 thời hạn thanh toán, 23:59:59.999 |
Hướng dẫn chuyển tiền
Cấu trúc 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: Giá trị nhận dạng bắt buộc phải được đặt trên dòng thư báo cho khoản thanh toán để nhận dạng chuyển tiền. |
Event (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 các sự kiện ghi lại hoặc hoàn tiền, đây sẽ là |
paymentIntegratorEventId |
BẮT BUỘC: ID nhà tích hợp thanh toán được trả lại cho sự kiện này. Để nắm bắt kết quả, đây là Trường này có độ dài biến đổi, là một tích hợp bất kỳ ID nào 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 cùng một giá trị với trường Đối với các sự kiện hoàn tiền, hoàn tiền và hoàn tiền, đây sẽ là Độ dài và định dạng của trường này tùy thuộc vào trường nguồn cho mỗi ID. Tham khảo tài liệu cho từng trường nguồn để biết chi tiết về độ dài và các yêu cầu về bộ ký tự. Đặc biệt, lưu ý rằng trường này đôi khi có thể chứa ID do Google tạo mà có thể có yêu cầu về độ dài tối đa khác với ID do nhà tích hợp tạo. |
eventCharge |
BẮT BUỘC: Bằng mã đơn vị tiền tệ được xác định trong câu lệnh. Nếu giá trị này là âm thì giá trị này biểu thị giá trị tiền tệ đang chuyển từ Google sang trình tích hợp thanh toán. Nếu là số dương thì đó là tiền từ nhà tích hợp thanh toán đến từ Google. Ví dụ: giao dịch thu thập sẽ luôn là số dương và giao dịch hoàn tiền sẽ luôn âm. Các sự kiện hoàn tiền và hoàn tiền ngược sẽ luôn có giá trị dương. Sự kiện bồi hoàn sẽ luôn là số âm. Giá trị này được tính bằng micros. |
eventFee |
BẮT BUỘC: Bằng mã đơn vị tiền tệ được xác định trong câu lệnh. Nếu giá trị này là âm thì giá trị này biểu thị giá trị tiền tệ đang chuyển từ Google sang trình tích hợp thanh toán. Nếu là số dương thì đó là tiền từ nhà tích hợp thanh toán đến từ Google. Ví dụ: nếu một thỏa thuận cho biết rằng Google sẽ thanh toán 1% Giá trị này được tính bằng micros. |
presentmentChargeAmount |
KHÔNG BẮT BUỘC: Số tiền giao dịch bằng đơn vị tiền tệ của bản trình bày (còn gọi là giao dịch) trước khi trao đổi ngoại tệ. Trường này tuân theo quy ước ký hiệu giống như trường Giá trị này được tính bằng micros. |
presentmentCurrencyCode |
KHÔNG BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217 mô tả đơn vị tiền tệ của giao dịch (giao dịch). |
exchangeRate |
KHÔNG BẮT BUỘC: Tỷ giá hối đoái được sử dụng khi chuyển đổi số tiền trình bày thành số tiền quyết toán (hóa đơn). Giá trị này tính theo điểm cơ bản micro (1 điểm cơ bản = 0,0001 = 0,01%). Tức là, để lấy 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 để chuyển đổi số tiền trình bày thành số tiền thanh toán (hóa đơn), được biểu thị bằng số điểm cơ sở nano. Giá trị này được tính bằng nano điểm cơ bản (1 điểm cơ bản = 0,0001 = 0,01%). Tức là, để lấy 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. Chúng là tỷ giá hối đoái tương đương được thể hiện với độ chính xác khác nhau. Trong các phiên bản trong tương lai, exchangeRate sẽ bị xóa, thay vào đó là nanoExchangeRate. |