傳回匯款單的交易詳細資料資訊。
這是分頁 API。每頁的交易事件數量可使用 numberOfEvents 指定。如未指定,每頁最多會傳回 1000 個事件。對這項 API 的每項要求都會傳回 nextEventOffset,指向對帳單中的下一個交易事件,以及 totalEvents,指定對帳單中的交易總數。如果目前擷取的頁面包含對帳單的最後一筆交易,回應中就不會出現 nextEventOffset。
statementId 值是 remittanceStatementNotificationRequest 中的 requestId
如果端點在處理要求時發生錯誤,這個端點的回應類型會是 。ErrorResponse
如果這個方法未傳回 HTTP 200,這項查詢的回應可能為空白。如果使用清楚的描述,可能會讓攻擊者瞭解其他整合者的付款整合者帳戶 ID,這時回應主體就會是空白。在這些情況下,如果簽署金鑰不符、找不到付款整合工具 ID 或加密金鑰不明,這個方法會傳回 HTTP 404,且主體為空白。如果可以驗證要求簽章,回應主體中會傳回錯誤的相關資訊。ErrorResponse
範例要求如下:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "statement_detail_request_139932019",
"requestTimestamp": "1502551332087"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"statementId": "0123434-statement-abc",
"numberOfEvents": 4
}
回覆範例如下:
{
"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"
}
]
}
HTTP 要求
POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID
要求主體
要求主體會包含結構如下的資料:
| JSON 表示法 |
|---|
{
"requestHeader": {
object ( |
| 欄位 | |
|---|---|
requestHeader |
必要項目:所有要求的通用標頭。 |
paymentIntegratorAccountId |
必要項目:這是付款整合商帳戶 ID,可識別與這份對帳單相關的合約限制。 |
statementId |
必要項目:對帳單通知的請求 ID。 |
eventOffset |
選用:傳回從這個位移量開始的事件。如果傳回 |
numberOfEvents |
選填:每頁顯示的事件數。如未指定或大於 1000,則為 1000。 |
回應主體
匯款單明細方法的回應物件。
如果成功,回應主體會含有以下結構的資料:
| JSON 表示法 |
|---|
{ "responseHeader": { object ( |
| 欄位 | |
|---|---|
responseHeader |
必要項目:所有回應的通用標頭。 |
remittanceStatementSummary |
必要項目:這份匯款單的摘要。 |
eventOffset |
必要項目:這項回應的事件偏移。 |
nextEventOffset |
選填:要傳回的下一個事件的偏移量。如未指定,則此陳述式沒有要擷取的事件。 |
totalEvents |
必要項目:這份對帳單中的事件總數。 |
totalWithholdingTaxes |
必要項目:這份對帳單扣繳的所有稅金總和。 這個值以微秒為單位。 |
captureEvents[] |
必要項目:擷取事件集。 |
refundEvents[] |
必要:一組退款事件。 |
reverseRefundEvents[] |
選用:一組退款事件。 |
chargebackEvents[] |
選用:一組退款事件。 |
reverseChargebackEvents[] |
選用:一組取消交易退單事件。 |
adjustmentEvents[] |
選用:一組調整事件。Google 可自行決定是否加入調整事件,以解決帳單差異問題。舉例來說,如果一組先前的交易費用計算不足,Google 可能會使用調整事件,補足整合商應得的款項。 |
RemittanceStatementSummary
匯款單的摘要物件。
| JSON 表示法 |
|---|
{ "statementDate": string, "billingPeriod": { object ( |
| 欄位 | |
|---|---|
statementDate |
必要項目:聲明建立日期 (美國/洛杉磯時區)。 |
billingPeriod |
必要項目:這份對帳單涵蓋的帳單週期。 |
dateDue |
選填:應付匯款的日期。以 Epoch 時間計算的毫秒為單位。這是日期,因此一律會從帳單時區當天的第一個毫秒開始。 只要 |
currencyCode |
必填:ISO 4217 貨幣代碼 (3 個字母)。 |
totalDueByIntegrator |
必要項目:這個值是以 |
remittanceInstructions |
必要項目:匯款方式詳細資料 |
BillingPeriod
這份對帳單的帳單週期。
| JSON 表示法 |
|---|
{ "startDate": string, "endDate": string } |
| 欄位 | |
|---|---|
startDate |
必要:帳單週期的開始日期。以 Epoch 時間計算的毫秒為單位。這是日期,因此一律會從帳單時區當天的第一個毫秒開始。 這是帳單週期當天的第一毫秒,即 00:00:00.000 |
endDate |
必要項目:帳單週期的結束日期。以 Epoch 時間計算的毫秒為單位。 這是帳單週期最後一天的最後一毫秒,即 23:59:59.999 |
RemittanceInstructions
這個結構體會保留有關如何支付這筆匯款通知的資訊。
| JSON 表示法 |
|---|
{ "memoLineId": string } |
| 欄位 | |
|---|---|
memoLineId |
必要:必須在匯款單備註欄中填寫的 ID,用於識別匯款。 |
事件
代表匯款單中單一事件的結構。
| JSON 表示法 |
|---|
{ "eventRequestId": string, "paymentIntegratorEventId": string, "eventCharge": string, "eventFee": string, "presentmentChargeAmount": string, "presentmentCurrencyCode": string, "exchangeRate": string, "nanoExchangeRate": string } |
| 欄位 | |
|---|---|
eventRequestId |
必要:如果是擷取或退款事件,這會是 Google 隨要求傳送的 |
paymentIntegratorEventId |
必要項目:付款整合服務為這個活動傳回的 ID。如為擷取,這是對 這個欄位的長度不固定,整合商為這個事件提供的任何 ID 都會反映在這裡。如果整合人員未提供相應事件的值,這個欄位會包含與 如果是退款、退刷和取消交易退單事件,這會是付款整合服務在事件通知中傳送的 這個欄位的長度和格式取決於每個 ID 的來源欄位。如要瞭解長度和字元集規定,請參閱各來源欄位的說明文件。請特別注意,這個欄位有時可能包含 Google 產生的 ID,這類 ID 的長度上限可能與整合商產生的 ID 不同。 |
eventCharge |
必要:以陳述式定義的貨幣代碼。如果這個值為負數,代表金額價值從 Google 轉移至付款整合商。如果為正值,表示付款整合服務供應商應支付給 Google 的款項。 舉例來說,擷取交易一律為正數,退款交易則一律為負數。逆向退款和取消交易退單事件一律為正數。交易退單事件一律為負值。 這個值以微秒為單位。 |
eventFee |
必要:以陳述式定義的貨幣代碼。如果這個值為負數,代表金額價值從 Google 轉移至付款整合商。如果為正值,表示付款整合服務供應商應支付給 Google 的款項。 舉例來說,如果協議規定 Google 會將 這個值以微秒為單位。 |
presentmentChargeAmount |
選填:外匯交易前,以結算 (即交易) 貨幣計算的交易金額。這個欄位遵循與 這個值以微秒為單位。 |
presentmentCurrencyCode |
選填:以 3 個字母表示的 ISO 4217 貨幣代碼,代表交易貨幣。 |
exchangeRate |
已淘汰:將顯示金額換算為結算 (月結單) 金額時所用的匯率。 這個值以微基點為單位 (1 個基點 = 0.0001 = 0.01%)。也就是說,如要取得匯率,請將這個欄位除以 10^10。 |
nanoExchangeRate |
選填:將結算金額換算為結算 (月結單) 金額時所用的匯率,以奈米基點表示。 這個值是以奈米基點為單位 (1 個基點 = 0.0001 = 0.01%)。也就是說,如要取得匯率,請將這個欄位除以 10^13。 系統會填入這個欄位和 exchangeRate。兩者是等值匯率,但精確度不同。日後版本將移除 exchangeRate,改用 nanoExchangeRate。 |