- HTTP 要求
- 要求主體
- 回應主體
- RequestHeader
- 版本
- RemittanceStatementSummary
- BillingPeriod
- RemittanceInstructions
- ResponseHeader
- StatementNotificationResultCode
通知整合商新的匯款聲明。
每當有新的對帳單通知,Google 會支付整合商的款項或積欠 Google 的款項時,就會發生對帳單通知。
如果整合商傳回成功,則會確認已收到陳述式。
requestId
也是陳述式 ID (在其他地方使用)。標頭與 paymentIntegratorAccountId
中的 requestId
組合是冪等鍵,專門用來識別此陳述式。
如果端點在處理要求時發生錯誤,來自這個端點的回應主體應為
類型。ErrorResponse
以下是要求範例:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "0123434-statement-abc",
"requestTimestamp": "1502632800000"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"remittanceStatementSummary": {
"statementDate": "1502607600000",
"billingPeriod": {
"startDate": "1502434800000",
"endDate": "1502521199000"
},
"dateDue": "1503212400000",
"currencyCode": "INR",
"totalDueByIntegrator": "1076000000",
"remittanceInstructions": {
"memoLineId": "stmt-1AB-pp0-invisi"
}
}
}
回應範例如下所示:
{
"responseHeader": {
"responseTimestamp": "1502632802000"
},
"paymentIntegratorStatementId": "334a",
"result": "ACCEPTED"
}
HTTP 要求
POST https://www.integratorhost.example.com/v1/remittanceStatementNotification
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{ "requestHeader": { object ( |
欄位 | |
---|---|
requestHeader |
必要項目:所有要求的通用標頭。 |
paymentIntegratorAccountId |
REQUIRED:這是付款整合商帳戶 ID,可用來識別有關這份對帳單的合約限制。 |
remittanceStatementSummary |
必要項目:這份匯款聲明的摘要。 |
回應主體
匯款陳述式通知方法的回應物件。
如果成功,回應主體即會包含具有以下結構的資料:
JSON 表示法 |
---|
{ "responseHeader": { object ( |
欄位 | |
---|---|
responseHeader |
必要項目:所有回應的通用標頭。 |
paymentIntegratorStatementId |
必要項目:識別整合商 ID 會將此陳述式解讀為。這是已產生整合商。 |
result |
必要項目:此陳述式通知的結果。 |
RequestHeader
針對傳送至伺服器的所有要求所定義的標頭物件。
JSON 表示法 |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
欄位 | |
---|---|
requestId |
必要項目:這項要求的專屬 ID。 這是一個長度上限為 100 個字元的字串,並且只包含「a-z」、「A-Z」、「0-9」、「:」、「-」和「_」等字元。 |
requestTimestamp |
必要項目:這項要求的時間戳記,以 Epoch 紀元時間起算的毫秒為單位。接收端應驗證這個時間戳記是否為「現在」的 ±60 秒。重試時,此要求時間戳記並不是冪等的。 |
userLocale |
已淘汰:由兩或三個字母組成的 ISO 639-2 Alpha 3 語言代碼,後面可選擇加上連字號和 ISO 3166-1 Alpha-2 國家/地區代碼,例如「pt」、「pt-BR」、「fil」或「fil-PH」。請使用這個屬性來驅動回應中的 |
protocolVersion |
必要項目:這項要求的版本。 |
版本
版本物件是傳統版 a.b.c
版本結構的結構化格式。相同數字的主要版本保證能夠相容。請注意,輕微和修訂可能經常變更,恕不另行通知。整合商必須支援相同主要版本的所有要求。
JSON 表示法 |
---|
{ "major": integer, "minor": integer, "revision": integer } |
欄位 | |
---|---|
major |
必要項目:主要版本。標示為不同版本的廣告素材不保證能夠相容。 |
minor |
必要項目:子版本。這表示重大錯誤修正。 |
revision |
必要項目:子版本。這代表小錯誤修正。 |
RemittanceStatementSummary
匯款聲明的摘要物件。
JSON 表示法 |
---|
{ "statementDate": string, "billingPeriod": { object ( |
欄位 | |
---|---|
statementDate |
必要項目:這個陳述式的建立日期 (美洲/洛杉磯)。 |
billingPeriod |
必要項目:這份對帳單涵蓋的帳單週期。 |
dateDue |
OPTIONAL:匯款的截止日期。以 Epoch 紀元時間計算的毫秒為單位。是日期 (因此一律會以帳單時區為準,從當天的第一毫秒開始)。 只要 |
currencyCode |
必要項目:以 3 個字母表示的 ISO 4217 貨幣代碼。 |
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。 |
ResponseHeader
從伺服器傳送的所有回應中定義的標頭物件。
JSON 表示法 |
---|
{ "responseTimestamp": string } |
欄位 | |
---|---|
responseTimestamp |
必要項目:此回應的時間戳記,以 Epoch 紀元時間起算的毫秒為單位。接收端應驗證這個時間戳記是否為「現在」的 ±60 秒。 |
StatementNotificationResultCode
對帳單通知的結果代碼。
列舉 | |
---|---|
UNKNOWN_RESULT |
請不要設定這個預設值! |
ACCEPTED |
整合商已接受這個陳述式。 |