Method: remittanceStatementDetails

傳回匯款對帳單的交易詳細資訊。

這是分頁式 API。使用 numberOfEvents 即可指定每頁的交易事件數。如未指定,每頁最多會傳回 1000 個事件。對這個 API 的每個要求都會傳回 nextEventOffset,指向陳述式中的下一個交易事件,以及在陳述式中指定交易總數的 totalEvents。如果目前擷取的網頁含有對帳單最後一筆交易,nextEventOffset 就不會出現在回應中。

statementId 值是來自 remittanceStatementNotificationRequestrequestId

如果端點在處理要求時發生錯誤,這個端點的回應就會是 ErrorResponse 類型。

如果這個方法未傳回 HTTP 200,則這項查詢的回應不得為空白。回應主體空白時,附帶清楚說明的 ErrorResponse 可用於協助攻擊者瞭解其他整合商的付款整合商帳戶 ID。在這些情況下,如果簽署金鑰不符、找不到付款整合商 ID,或是加密金鑰不明,這個方法就會傳回含有空白主體的 HTTP 404。如果要求簽章可供驗證,系統會在回應主體中傳回與錯誤相關的額外資訊。

要求範例如下:


{
  "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": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
欄位
requestHeader

object (RequestHeader)

必要項目:所有要求的通用標頭。

paymentIntegratorAccountId

string

必要項目:這是付款整合商帳戶 ID,可用來識別這項聲明中的合約限制。

statementId

string

必要項目:要求對帳單通知的 ID。

eventOffset

integer

選用:從這個偏移值開始的傳回事件。如果傳回的是 nextEventOffset,則應設為 nextEventOffset;如果這是第一個要求,則應設為未指定。如果 eventOffset 為零,則會從第一個事件開始傳回事件。如果是兩個事件,會從第三個事件開始傳回事件。如果未指定,系統會假設 eventOffset 為零。

numberOfEvents

integer

選用:每頁顯示的事件數。如果未指定或大於 1000,結果會是 1000。

回應主體

匯款陳述式詳細資料方法的回應物件。

如果成功,回應主體會含有以下結構的資料:

JSON 表示法
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "remittanceStatementSummary": {
    object (RemittanceStatementSummary)
  },
  "eventOffset": integer,
  "nextEventOffset": integer,
  "totalEvents": integer,
  "totalWithholdingTaxes": string,
  "captureEvents": [
    {
      object (Event)
    }
  ],
  "refundEvents": [
    {
      object (Event)
    }
  ],
  "reverseRefundEvents": [
    {
      object (Event)
    }
  ],
  "chargebackEvents": [
    {
      object (Event)
    }
  ],
  "reverseChargebackEvents": [
    {
      object (Event)
    }
  ],
  "adjustmentEvents": [
    {
      object (Event)
    }
  ]
}
欄位
responseHeader

object (ResponseHeader)

必要項目:所有回應的通用標頭。

remittanceStatementSummary

object (RemittanceStatementSummary)

必要項目:這份匯款聲明的摘要。

eventOffset

integer

REQUIRED:此回應的事件偏移。

nextEventOffset

integer

OPTIONAL:要傳回的下一個事件的偏移值。如未指定,沒有其他可擷取此陳述式的事件。

totalEvents

integer

必要項目:這個陳述式中的事件總數。

totalWithholdingTaxes

string (Int64Value format)

必要項目:此對帳單已扣繳所有稅額的總和。

這個值是以「微量」計算。

captureEvents[]

object (Event)

必要項目:一組擷取事件。

refundEvents[]

object (Event)

必要項目:一組退款事件。

reverseRefundEvents[]

object (Event)

選用:一組反向退款事件。

chargebackEvents[]

object (Event)

選用:一組交易退單事件。

reverseChargebackEvents[]

object (Event)

選用:一組反向交易退單事件。

adjustmentEvents[]

object (Event)

選用:一組調整事件。Google 可能會在計算帳單差異時自行新增調整事件 (例如,如果先前一組交易的費用不足以計算),則可能會調整調整事件來完成整合商。

RemittanceStatementSummary

匯款陳述式的摘要物件。

JSON 表示法
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
欄位
statementDate

string (int64 format)

必要項目:建立這個陳述式的日期 (美國/洛杉磯)。

billingPeriod

object (BillingPeriod)

必要項目:這份對帳單涵蓋的帳單週期,

dateDue

string (int64 format)

選用:匯款的截止日期。這個值是以 Epoch 紀元時間計算的毫秒為單位表示。日期是日期 (因此一律會從帳單時區的第一毫秒開始)。

只要在 totalDueByIntegrator 大於 0 時進行設定。

currencyCode

string

必要項目:由 3 個字母組成的 ISO 4217 貨幣代碼。

totalDueByIntegrator

string (Int64Value format)

必要項目:這個值以微量為單位,使用 currencyCode 貨幣。這個值一律為正數。

remittanceInstructions

object (RemittanceInstructions)

必要項目:匯款方式詳細說明

BillingPeriod

此對帳單的帳單週期。

JSON 表示法
{
  "startDate": string,
  "endDate": string
}
欄位
startDate

string (int64 format)

必要項目:帳單週期的開始日期。這個值是以 Epoch 紀元時間計算的毫秒為單位表示。日期是日期 (因此一律會從帳單時區的第一毫秒開始)。

這是帳單週期中第一個毫秒 (00:00:00.000)

endDate

string (int64 format)

必要項目:帳單週期的結束日期。這個值是以 Epoch 紀元時間計算的毫秒為單位表示。

這是帳單週期最後一天 (23:59:59.999) 的最後毫秒。

RemittanceInstructions

保留有關如何支付這項匯款通知的資訊結構。

JSON 表示法
{
  "memoLineId": string
}
欄位
memoLineId

string

必要項目:必須提供 ID,這項資訊才能在憑單號碼輸入,以便順利識別匯款。

活動

匯款陳述式中單一事件的結構。

JSON 表示法
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
欄位
eventRequestId

string

必要項目:如果是擷取或退款事件,這個值會是 Google 隨要求一起傳送的 requestId。如果是反向退款、交易退單和取消交易退單事件,該事件將是付款整合商連同該事件通知一併傳送的 requestId。針對調整項,這是 Google 指派給調整事件的專屬 ID。

paymentIntegratorEventId

string

必要項目:系統傳回的活動付款整合商 ID。如需擷取資訊,這是指回應 capture 呼叫中的 paymentIntegratorTransactionId。退款請求是對 refund 呼叫的回應 paymentIntegratorRefundId

這個欄位的長度可變,因此您為這個事件提供的 ID 一律都會反映在這個整合服務供應商中。如果整合商未提供對應事件的值,這個欄位會包含與 eventRequestId 欄位相同的值。

針對撤銷退款、交易退單和取消交易退單事件,這個事件就是「付款整合商」透過該事件通知傳送的 requestId

這個欄位的長度和格式取決於每個 ID 的來源欄位。如要進一步瞭解長度和字元集規定,請參閱各來源欄位的說明文件。請特別注意,這個欄位有時可能會包含 Google 產生的 ID,而這類 ID 的長度上限可能與整合商產生的 ID 不同。

eventCharge

string (Int64Value format)

必要項目:以陳述式定義的貨幣代碼格式。如果這個值為負數,表示從 Google 改為付款整合商的金額。如果交易結果為正數,表示付款整合商是由 Google 支付的款項。

舉例來說,擷取交易的值一律為正數,退款交易金額一律為負值。反向退款和撤銷交易退單的事件一律為正數。交易退單事件一律為負值。

這個值是以「微量」計算。

eventFee

string (Int64Value format)

必要項目:以陳述式定義的貨幣代碼格式。如果這個值為負數,表示從 Google 改為付款整合商的金額。如果交易結果為正數,表示付款整合商是由 Google 支付的款項。

舉例來說,如果協議表示 Google 將支付 transactionCharge 的 1% 給付款整合商,並在退還交易款項時撤銷 1%,則收取手續費為負值,退款手續費為正值。

這個值是以「微量」計算。

presentmentChargeAmount

string (Int64Value format)

選用:外匯交易之前,以貨幣表示的交易金額 (亦即交易) 貨幣。這個欄位的簽署慣例與 eventCharge 欄位相同。

這個值是以「微量」計算。

presentmentCurrencyCode

string

選用:採用 3 個字母的 ISO 4217 貨幣代碼,用來表示貨幣 (交易) 貨幣。

exchangeRate

string (Int64Value format)

選用:將現貨金額轉換成結算金額 (月結單) 金額時使用的匯率。

這個值是以「微」基準點計算 (1 個基準點 = .0001 = .01%)。如要取得匯率,請將這個欄位除以 10^10。

nanoExchangeRate

string (Int64Value format)

選用:用來將當前金額換算成結算金額 (應付憑據) 金額時使用的匯率,以奈米基準表示。

這個值是以 nano 基準點計算 (1 個基準點 = .0001 = .01%)。如要取得匯率,請將這個欄位除以 10^13。

這個欄位和 ExchangeRate 都會填入資料。而是以不同精確度表示相同的匯率。在日後的版本中,將移除 ExchangeRate,改用 nanoExchangeRate。