Method: remittanceStatementDetails

傳回匯款對帳單的交易明細。

此為分頁 API。可透過 numberOfEvents 指定每頁的交易事件數量。如果未指定,每個頁面最多只能傳回 1000 個事件。每次對這個 API 發出的要求都會傳回 nextEventOffset,指向陳述式中的下一個交易事件,以及 totalEvents,用於指定陳述式中的交易總數。如果目前擷取的網頁含有陳述式的最後一個交易,回應中就不會顯示 nextEventOffset

statementId 值為 remittanceStatementNotificationRequest 中的 requestId

如果端點在處理要求時發生錯誤,此端點的回應就會是 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

REQUIRED:陳述式通知的要求 ID。

eventOffset

integer

OPTIONAL:傳回從這個偏移開始的事件。如果第一個要求傳回或未指定,則應設為 nextEventOffset。如果 eventOffset 為零,則會從第一個事件開始傳回事件。如果包含兩個事件,系統會從第三個事件開始傳回事件。如未指定,系統會將 eventOffset 假設為零。

numberOfEvents

integer

OPTIONAL:每頁顯示的事件數。如果未指定或大於 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)

REQUIRED:此匯款表單的摘要。

eventOffset

integer

REQUIRED:此回應的事件偏移,

nextEventOffset

integer

OPTIONAL:要傳回的下一個事件的偏移量。如果未指定,則沒有其他適用於這個陳述式的事件。

totalEvents

integer

REQUIRED:這個陳述式中的事件總數。

totalWithholdingTaxes

string (Int64Value format)

REQUIRED:此對帳單所有扣繳稅額的總和。

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

captureEvents[]

object (Event)

必要:擷取事件組合。

refundEvents[]

object (Event)

REQUIRED:退款事件集。

reverseRefundEvents[]

object (Event)

OPTIONAL:反轉退款事件組合。

chargebackEvents[]

object (Event)

OPTIONAL:交易退單組合。

reverseChargebackEvents[]

object (Event)

OPTIONAL:一組反向交易事件。

adjustmentEvents[]

object (Event)

OPTIONAL:一組調整事件。Google 可自行斟酌是否核對帳單差異,例如:如果先前一筆交易的費用遭到低估,系統可能會使用調整項來整合整合商。

RemittanceStatementSummary

匯款通知的摘要物件。

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

string (int64 format)

REQUIRED:這個陳述式的建立日期 (位於美國/洛杉磯)。

billingPeriod

object (BillingPeriod)

必要:這個對帳單涵蓋的帳單週期。

dateDue

string (int64 format)

OPTIONAL:匯款的截止日。這代表從 Epoch 紀元時間起算的毫秒數。這是一個日期 (因此一律會在帳單時區的第一天開始)。

只要 totalDueByIntegrator 大於 0,即可設定這個值。

currencyCode

string

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

totalDueByIntegrator

string (Int64Value format)

必要:這個值以微量為單位,以 currencyCode 為單位。這個值一律為正數。

remittanceInstructions

object (RemittanceInstructions)

必要:如何匯款

帳單週期

這個對帳單的帳單週期。

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

string (int64 format)

必要:帳單週期的開始日期。這代表從 Epoch 紀元時間起算的毫秒數。這是一個日期 (因此一律會在帳單時區的第一天開始)。

這是帳單週期的第一天 (00:00:00.000)

endDate

string (int64 format)

必要:帳單週期的結束日期。這代表從 Epoch 紀元時間起算的毫秒數。

這是帳單週期的最後一天,23:59:59.999

匯款操作說明

收取此匯款通知相關資訊的結構。

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

string

REQUIRED:必須在匯款證明表單中附上的身分證件,用於匯款。

事件

代表傳輸陳述式中單一事件的結構。

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:針對此事件傳回的付款整合商。若擷取的是回應,則 paymentIntegratorTransactionId 回應 capture 呼叫 (以 paymentIntegratorRefundId 為回應 refund 呼叫)。

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

如果是反向退款,交易退單和反向交易事件會是付款通知中收到且付款通知的 requestId

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

eventCharge

string (Int64Value format)

REQUIRED:由陳述式定義的貨幣代碼。如果這個值為負數,代表 Google 支付給付款整合商的金錢價值。如果結果為正數,則來自 Google 支付給付款整合商的款項。

舉例來說,擷取交易一律是正數的,而且退款交易一律為負數。反向退款和反向交易事件一律為正數。交易事件一律為負值。

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

eventFee

string (Int64Value format)

REQUIRED:由陳述式定義的貨幣代碼。如果這個值為負數,代表 Google 支付給付款整合商的金錢價值。如果結果為正數,則來自 Google 支付給付款整合商的款項。

舉例來說,如果協議顯示 Google 會將 transactionCharge 的 1% 支付給付款整合商,且經過 1% 的交易退單程序後,這筆費用會轉為 1%,則退款費用將為負值,且退款金額為正數。

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

presentmentChargeAmount

string (Int64Value format)

OPTIONAL:在外幣交易前 (以交易幣別為準) 的交易金額。這個欄位的簽署慣例與 eventCharge 欄位相同。

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

presentmentCurrencyCode

string

OPTIONAL:以 3 個字母表示的 ISO 4217 貨幣代碼,代表簡報 (交易) 貨幣。

exchangeRate

string (Int64Value format)

OPTIONAL:將簡報金額轉換成結算金額的匯率。

這個值以「微」為單位 (1 分 = 0.0001 = 0.01%)。也就是說,如要取得匯率,請將這個欄位除以 10^10。

nanoExchangeRate

string (Int64Value format)

OPTIONAL:將簡報金額轉換成結算金額的匯率,以奈米點數表示。

這個值是以 nano 為基準 (1 分點 = 0.0001 = 0.01%) 的計算結果。也就是說,如要取得匯率,請將這個欄位除以 10^13。

這個欄位和廣告交易平台費率都會填入資料。可以代表不同精確度的匯率。日後推出的版本將移除 ExchangeRate,改用 nanoExchangeRate。