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

REQUIRED:這是付款整合商帳戶 ID,可用來識別有關這份對帳單的合約限制。

statementId

string

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

eventOffset

integer

OPTIONAL:傳回從這個偏移值開始的事件。如果這是第一個要求,則傳回或未指定時,應設為 nextEventOffset。如果 eventOffset 為零,則會從第一個事件開始傳回事件。如果同時有 2 個事件,系統會從第三個事件開始傳回事件。如未指定,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

必要項目:此回應的事件偏移。

nextEventOffset

integer

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

totalEvents

integer

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

totalWithholdingTaxes

string (Int64Value format)

必要項目:這份對帳單的扣繳稅額總和。

這個值是以「微量」為單位。

captureEvents[]

object (Event)

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

refundEvents[]

object (Event)

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

reverseRefundEvents[]

object (Event)

OPTIONAL:反向退款事件組合。

chargebackEvents[]

object (Event)

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

reverseChargebackEvents[]

object (Event)

OPTIONAL:反向交易退單事件組合。

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)

OPTIONAL:匯款的截止日期。以 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

REQUIRED:系統為這個事件傳回的付款整合商 ID。擷取而言,這是來自 capture 呼叫回應中的 paymentIntegratorTransactionId,用於退款,亦即回應 refund 呼叫中的 paymentIntegratorRefundId

這個欄位的長度不定,因為整合商您為此事件提供的任何 ID 都會反映在此。如果整合商未提供對應事件的值,這個欄位就會包含與 eventRequestId 欄位相同的值。

如要取消退款、交易退單和取消交易退單事件,這將是付款整合商透過活動通知傳送的 requestId

這個欄位的長度和格式取決於每個 ID 的來源欄位。如要進一步瞭解長度和字元集的相關規定,請參閱各個來源欄位的說明文件。請特別注意,這個欄位有時會包含 Google 產生的 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。