Method: remittanceStatementDetails

Trả về thông tin chi tiết giao dịch về bảng sao kê chuyển tiền.

Đây là một API được phân trang. Bạn có thể chỉ định số lượng sự kiện giao dịch trên mỗi trang bằng numberOfEvents. Nếu bạn không chỉ định, Chrome sẽ trả về tối đa 1.000 sự kiện trên mỗi trang. Mỗi yêu cầu đối với API này sẽ trả về một nextEventOffset trỏ đến sự kiện giao dịch tiếp theo trong bảng sao kê, cũng như totalEvents chỉ định tổng số giao dịch trong bảng sao kê. Nếu trang được truy xuất hiện tại chứa các giao dịch mới nhất của bảng sao kê, nextEventOffset sẽ không xuất hiện trong phản hồi.

Giá trị statementIdrequestId trong remittanceStatementNotificationRequest

Nếu điểm cuối gặp lỗi trong khi xử lý yêu cầu, thì phản hồi từ điểm cuối này sẽ thuộc loại ErrorResponse.

Phản hồi cho truy vấn này có thể trống nếu phương thức này không trả về HTTP 200. Nội dung phản hồi bị trống trong trường hợp ErrorResponse có nội dung mô tả rõ ràng có thể được dùng để giúp kẻ tấn công hiểu được giá trị nhận dạng tài khoản của đối tác tích hợp thanh toán khác. Trong những trường hợp như vậy, khi khoá ký không khớp, không tìm thấy giá trị nhận dạng của trình tích hợp thanh toán hoặc không xác định được khoá mã hoá, thì phương thức này sẽ trả về một HTTP 404 có phần nội dung trống. Nếu chữ ký của yêu cầu có thể được xác minh thì thông tin bổ sung về lỗi sẽ được trả về trong nội dung phản hồi.

Yêu cầu mẫu sẽ có dạng như sau:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "statement_detail_request_139932019",
    "requestTimestamp": "1502551332087"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "statementId": "0123434-statement-abc",
  "numberOfEvents": 4
}

Câu trả lời mẫu sẽ có dạng như sau:


{
  "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"
    }
  ]
}

Yêu cầu HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/remittanceStatementDetails/:PIAID

Nội dung yêu cầu

Nội dung yêu cầu chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng JSON
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "statementId": string,
  "eventOffset": integer,
  "numberOfEvents": integer
}
Trường
requestHeader

object (RequestHeader)

BẮT BUỘC: Tiêu đề chung cho tất cả các yêu cầu.

paymentIntegratorAccountId

string

BẮT BUỘC: Đây là giá trị nhận dạng tài khoản của đối tác tích hợp thanh toán giúp xác định những điều kiện ràng buộc theo hợp đồng áp dụng cho bảng sao kê này.

statementId

string

BẮT BUỘC: Mã yêu cầu của thông báo bảng sao kê.

eventOffset

integer

KHÔNG BẮT BUỘC: Trả về các sự kiện bắt đầu tại giá trị chênh lệch này. Bạn nên đặt thuộc tính này thành nextEventOffset nếu một lệnh được trả về hoặc không được chỉ định nếu đây là yêu cầu đầu tiên. Nếu eventOffset bằng 0, các sự kiện sẽ được trả về bắt đầu bằng sự kiện đầu tiên. Nếu giá trị là 2, các sự kiện sẽ được trả về bắt đầu bằng sự kiện thứ ba. Nếu bạn không chỉ định, eventOffset sẽ được giả định là 0.

numberOfEvents

integer

KHÔNG BẮT BUỘC: Số sự kiện hiển thị trên mỗi trang. Nếu bạn không chỉ định hoặc lớn hơn 1.000, thì giá trị này sẽ là 1.000.

Nội dung phản hồi

Đối tượng phản hồi cho phương thức chi tiết bảng sao kê chuyển tiền.

Nếu thành công, phần nội dung phản hồi sẽ chứa dữ liệu có cấu trúc sau:

Biểu diễn dưới dạng 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)
    }
  ]
}
Trường
responseHeader

object (ResponseHeader)

BẮT BUỘC: Tiêu đề chung cho tất cả câu trả lời.

remittanceStatementSummary

object (RemittanceStatementSummary)

BẮT BUỘC: Bản tóm tắt bảng sao kê chuyển tiền này.

eventOffset

integer

BẮT BUỘC: Độ lệch sự kiện của phản hồi này.

nextEventOffset

integer

OPTIONAL: Độ lệch của sự kiện tiếp theo cần trả về. Nếu bạn chưa chỉ định, thì sẽ không có sự kiện nào khác để truy xuất cho câu lệnh này.

totalEvents

integer

BẮT BUỘC: Tổng số sự kiện trong bảng sao kê này.

totalWithholdingTaxes

string (Int64Value format)

BẮT BUỘC: Tổng tất cả các khoản thuế khấu lưu cho bảng sao kê này.

Giá trị này được tính bằng micros.

captureEvents[]

object (Event)

BẮT BUỘC: Bộ sự kiện chụp.

refundEvents[]

object (Event)

BẮT BUỘC: Tập hợp các sự kiện hoàn tiền.

reverseRefundEvents[]

object (Event)

KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền đảo ngược.

chargebackEvents[]

object (Event)

KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền.

reverseChargebackEvents[]

object (Event)

KHÔNG BẮT BUỘC: Tập hợp các sự kiện hoàn tiền đảo ngược.

adjustmentEvents[]

object (Event)

KHÔNG BẮT BUỘC: Tập hợp các sự kiện điều chỉnh. Google có thể thêm các sự kiện điều chỉnh theo quyết định của mình để điều chỉnh chênh lệch trong thanh toán, ví dụ: nếu phí bị tính thấp đối với một tập hợp các giao dịch trước đó, thì Google có thể điều chỉnh để điều chỉnh toàn bộ đơn vị tích hợp.

RemittanceStatementSummary

Đối tượng tóm tắt về bảng sao kê chuyển tiền.

Biểu diễn dưới dạng JSON
{
  "statementDate": string,
  "billingPeriod": {
    object (BillingPeriod)
  },
  "dateDue": string,
  "currencyCode": string,
  "totalDueByIntegrator": string,
  "remittanceInstructions": {
    object (RemittanceInstructions)
  }
}
Trường
statementDate

string (int64 format)

BẮT BUỘC: Ngày (tại Hoa Kỳ/Los Angeles) mà bản tuyên bố này được tạo.

billingPeriod

object (BillingPeriod)

BẮT BUỘC: Kỳ thanh toán trong bảng sao kê này.

dateDue

string (int64 format)

KHÔNG BẮT BUỘC: Ngày đến hạn chuyển tiền. Thời gian này được biểu thị dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là ngày (và do đó sẽ luôn bắt đầu từ mili giây đầu tiên của ngày theo múi giờ thanh toán).

Giá trị này được thiết lập miễn là totalDueByIntegrator lớn hơn 0.

currencyCode

string

BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217.

totalDueByIntegrator

string (Int64Value format)

BẮT BUỘC: Giá trị này tính bằng phần triệu theo đơn vị tiền tệ của currencyCode. Giá trị này luôn dương.

remittanceInstructions

object (RemittanceInstructions)

BẮT BUỘC: Thông tin chi tiết về cách chuyển tiền thanh toán

BillingPeriod

Kỳ thanh toán của bảng sao kê này.

Biểu diễn dưới dạng JSON
{
  "startDate": string,
  "endDate": string
}
Trường
startDate

string (int64 format)

BẮT BUỘC: Ngày bắt đầu kỳ thanh toán. Thời gian này được biểu thị dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là ngày (và do đó sẽ luôn bắt đầu từ mili giây đầu tiên của ngày theo múi giờ thanh toán).

Đây là mili giây đầu tiên trong ngày của kỳ thanh toán, 00:00:00.000

endDate

string (int64 format)

BẮT BUỘC: Ngày kết thúc của kỳ thanh toán. Thời gian này được biểu thị dưới dạng mili giây từ thời gian bắt đầu của hệ thống.

Đây là mili giây cuối cùng của ngày cuối cùng của kỳ thanh toán, 23:59:59,999

RemittanceInstructions

Cấu trúc lưu trữ thông tin về cách thanh toán thông báo chuyển tiền này.

Biểu diễn dưới dạng JSON
{
  "memoLineId": string
}
Trường
memoLineId

string

BẮT BUỘC: Giá trị nhận dạng bắt buộc phải ghi vào dòng thư báo để nhận dạng khoản thanh toán nhằm nhận dạng khoản thanh toán được chuyển tiền.

Sự kiện

Cấu trúc thể hiện một sự kiện duy nhất trong bảng sao kê chuyển tiền.

Biểu diễn dưới dạng JSON
{
  "eventRequestId": string,
  "paymentIntegratorEventId": string,
  "eventCharge": string,
  "eventFee": string,
  "presentmentChargeAmount": string,
  "presentmentCurrencyCode": string,
  "exchangeRate": string,
  "nanoExchangeRate": string
}
Trường
eventRequestId

string

BẮT BUỘC: Đối với sự kiện chụp hoặc hoàn tiền, đây sẽ là requestId mà Google gửi cùng với yêu cầu. Đối với sự kiện hoàn tiền ngược, hoàn tiền và hoàn tiền đảo ngược, đây sẽ là requestId mà Bên tổng hợp thanh toán gửi cùng với thông báo về sự kiện đó. Đối với mức điều chỉnh, đây sẽ là mã nhận dạng duy nhất do Google chỉ định cho sự kiện điều chỉnh.

paymentIntegratorEventId

string

BẮT BUỘC: Mã nhận dạng đơn vị tích hợp thanh toán được trả về cho sự kiện này. Đối với ảnh chụp, đây là paymentIntegratorTransactionId trong phản hồi cho một lệnh gọi capture. Để hoàn lại tiền, đây là paymentIntegratorRefundId từ phản hồi cho một lệnh gọi refund.

Trường này có độ dài thay đổi, vì đó là trình tích hợp, bất kỳ mã nhận dạng nào bạn cung cấp cho sự kiện này sẽ được phản ánh tại đây. Nếu nhà tích hợp không cung cấp giá trị cho sự kiện tương ứng, thì trường này sẽ chứa cùng một giá trị với trường eventRequestId.

Đối với sự kiện hoàn tiền ngược, hoàn tiền và hoàn tiền ngược, đây sẽ là requestId mà Bên tổng hợp thanh toán gửi cùng với thông báo về sự kiện đó.

Độ dài và định dạng của trường này phụ thuộc vào trường nguồn cho mỗi mã nhận dạng. Hãy tham khảo tài liệu của từng trường nguồn để biết thông tin chi tiết về yêu cầu đối với độ dài và bộ ký tự. Cụ thể, xin lưu ý rằng đôi khi, trường này có thể chứa mã nhận dạng do Google tạo. Những mã này có thể có các yêu cầu về độ dài tối đa khác với mã do đối tác tích hợp tạo.

eventCharge

string (Int64Value format)

BẮT BUỘC: Bằng mã đơn vị tiền tệ do bảng sao kê xác định. Nếu giá trị này là số âm, thì đây là giá trị tiền tệ được chuyển từ Google sang đơn vị tích hợp thanh toán. Nếu giá trị này là dương thì đó là tiền từ bên tích hợp thanh toán đến hạn cho Google.

Ví dụ: khi ghi nhận giao dịch sẽ luôn có giá trị dương và giao dịch hoàn tiền sẽ luôn có giá trị âm. Sự kiện hoàn tiền ngược và hoàn tiền ngược sẽ luôn có giá trị dương. Sự kiện hoàn tiền sẽ luôn có giá trị âm.

Giá trị này được tính bằng micros.

eventFee

string (Int64Value format)

BẮT BUỘC: Bằng mã đơn vị tiền tệ do bảng sao kê xác định. Nếu giá trị này là số âm, thì đây là giá trị tiền tệ được chuyển từ Google sang đơn vị tích hợp thanh toán. Nếu giá trị này là dương thì đó là tiền từ bên tích hợp thanh toán đến hạn cho Google.

Ví dụ: Nếu một thoả thuận quy định rằng Google sẽ trả 1% transactionCharge cho đơn vị tích hợp thanh toán và sẽ huỷ bỏ 1% đó sau khi hoàn tiền cho giao dịch đó, thì phí thu thập sẽ là số âm và sau khi hoàn lại, phí hoàn tiền sẽ là số dương.

Giá trị này được tính bằng micros.

presentmentChargeAmount

string (Int64Value format)

KHÔNG BẮT BUỘC: Số tiền giao dịch bằng đơn vị tiền tệ dùng để tính (còn gọi là giao dịch) trước khi tính tỷ giá hối đoái. Trường này tuân theo quy ước dấu giống với trường eventCharge.

Giá trị này được tính bằng micros.

presentmentCurrencyCode

string

KHÔNG BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo tiêu chuẩn ISO 4217, dùng để chỉ định đơn vị tiền tệ của quà tặng (giao dịch).

exchangeRate

string (Int64Value format)

KHÔNG BẮT BUỘC: Tỷ giá hối đoái dùng để quy đổi số tiền thanh toán sang số tiền thanh toán (hoá đơn).

Giá trị này được tính bằng điểm cơ bản vi (1 điểm cơ bản = 0,0001 = ,01%). Tức là để biết được tỷ giá hối đoái, hãy chia trường này cho 10^10.

nanoExchangeRate

string (Int64Value format)

KHÔNG BẮT BUỘC: Tỷ giá hối đoái dùng để quy đổi số tiền thanh toán sang số tiền thanh toán (hoá đơn), tính bằng điểm cơ bản nano.

Giá trị này được tính bằng điểm cơ bản nano (1 điểm cơ bản = 0,0001 = ,01%). Tức là để biết được tỷ giá hối đoái, hãy chia trường này cho 10^13.

Cả trường này và ExchangeRate sẽ được điền sẵn. Chúng là tỷ giá hối đoái tương đương được thể hiện với độ chính xác khác nhau. Trong các phiên bản trong tương lai, ExchangeRate sẽ bị xoá và được thay bằng nanoExchangeRate.