Method: remittanceStatementDetails

Trả về thông tin chi tiết giao dịch liên quan đến 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, hệ thống 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 câu lệnh, cũng như totalEvents chỉ định tổng số giao dịch trong câu lệnh. Nếu trang được truy xuất hiện tại chứa các giao dịch gần đây nhất của câu lệnh, thì nextEventOffset sẽ không xuất hiện trong phản hồi.

Giá trị statementIdrequestId từ 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 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 bên tích hợp thanh toán của các nhà tích hợp khác. Trong các trường hợp này, khi khoá ký không khớp, không tìm thấy mã nhận dạng nhà tích hợp thanh toán hoặc khoá mã hoá không xác định, thì phương thức này sẽ trả về một HTTP 404 với phần nội dung trống. Nếu có thể xác minh được chữ ký yêu cầu, 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
}

Phản hồ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
}
Các trường
requestHeader

object (RequestHeader)

REQUIRED: Tiêu đề chung cho tất cả các yêu cầu.

paymentIntegratorAccountId

string

REQUIRED: Đây là mã nhận dạng tài khoản của đơn vị tích hợp thanh toán, giúp xác định những ràng buộc theo hợp đồng xung quanh tuyên bố này.

statementId

string

REQUIRED: Mã yêu cầu của thông báo về bảng sao kê.

eventOffset

integer

KHÔNG BẮT BUỘC: Trả về các sự kiện bắt đầu tại mức chênh lệch này. Bạn nên thiết lập thuộc tính này thành nextEventOffset nếu một giá trị được trả về hoặc không xác định nếu đây là yêu cầu đầu tiên. Nếu eventOffset bằng 0, hệ thống sẽ trả về các sự kiện bắt đầu bằng sự kiện đầu tiên. Nếu giá trị này là 2, các sự kiện sẽ được trả về bắt đầu bằng sự kiện thứ ba. Nếu 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 không xác định hoặc lớn hơn 1000, thì giá trị này sẽ là 1000.

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)
    }
  ]
}
Các trường
responseHeader

object (ResponseHeader)

REQUIRED: Tiêu đề chung cho tất cả các câu trả lời.

remittanceStatementSummary

object (RemittanceStatementSummary)

REQUIRED: Bản tóm tắt của bảng sao kê chuyển tiền này.

eventOffset

integer

REQUIRED: Mức chênh lệch sự kiện của phản hồi này.

nextEventOffset

integer

KHÔNG BẮT BUỘC: Độ lệch của sự kiện tiếp theo cần trả về. Nếu bạn chưa chỉ định thì 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 câu lệnh 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 phần triệu.

captureEvents[]

object (Event)

BẮT BUỘC: Nhóm các sự kiện chụp.

refundEvents[]

object (Event)

REQUIRED: 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 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 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ể tuỳ ý thêm sự kiện điều chỉnh để điều chỉnh sự khác biệt về hoá đơn, ví dụ: nếu các khoản phí bị tính thiếu cho một tập hợp các giao dịch trước đó, thì hệ thống có thể sử dụng một mức điều chỉnh để tạo nên 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)
  }
}
Các trường
statementDate

string (int64 format)

REQUIRED: Ngày (ở Mỹ/Los Angeles) mà tuyên bố này được tạo.

billingPeriod

object (BillingPeriod)

BẮT BUỘC: Kỳ thanh toán được áp dụng trong bảng sao kê này.

dateDue

string (int64 format)

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

Giá trị này được đặt 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 được tính bằng micrô theo đơn vị tiền tệ của currencyCode. Giá trị này luôn là số dương.

remittanceInstructions

object (RemittanceInstructions)

REQUIRED: Chi tiết về cách 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
}
Các trường
startDate

string (int64 format)

REQUIRED: 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ính từ thời gian bắt đầu của hệ thống. Đây là ngày (và do đó sẽ luôn bắt đầu vào mili giây đầu tiên của ngày trong 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)

REQUIRED: Ngày kết thúc kỳ thanh toán. Thời gian này được biểu thị dưới dạng mili giây tính 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

Nhà chứa 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
}
Các trường
memoLineId

string

BẮT BUỘC: Mã nhận dạng bắt buộc phải được đưa vào dòng thư báo để nhận dạng giao dịch chuyển tiền.

Sự kiện

Cấu trúc thể hiện một sự kiện duy nhất có 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
}
Các 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 các 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ích 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 mà Google chỉ định cho sự kiện điều chỉnh.

paymentIntegratorEventId

string

BẮT BUỘC: Xác định rằng bên tích hợp thanh toán đã trả về cho sự kiện này. Đối với ảnh chụp, đây là paymentIntegratorTransactionId trong phản hồi cuộc gọi capture. Đối với yêu cầu hoàn tiền, đây là paymentIntegratorRefundId trong phản hồi cho cuộc gọi refund.

Trường này có độ dài thay đổi. Với tư cách là nhà tích hợp, mã nhận dạng mà bạn cung cấp cho sự kiện này sẽ được phản ánh ở đâ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 giá trị giống với trường eventRequestId.

Đối với các 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ích 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 của từng mã. Tham khảo tài liệu cho từng trường nguồn để biết chi tiết về yêu cầu độ dài và bộ ký tự. Đặc biệt, xin lưu ý rằng trường này đôi khi có thể chứa mã do Google tạo. Các yêu cầu này có thể có các yêu cầu về độ dài tối đa khác với mã do nhà tích hợp tạo.

eventCharge

string (Int64Value format)

REQUIRED: Bằng mã đơn vị tiền tệ được xác định theo câu lệnh. Nếu giá trị này là số âm thì tức là giá trị tiền tệ chuyển từ Google sang bên tích hợp thanh toán. Nếu số tiền này dương thì đó là khoản tiền của công ty tích hợp thanh toán phải trả cho Google.

Ví dụ: số lượt giao dịch thu thập sẽ luôn là số dương và số giao dịch hoàn tiền sẽ luôn là số â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. Các sự kiện hoàn tiền sẽ luôn là số âm.

Giá trị này được tính bằng phần triệu.

eventFee

string (Int64Value format)

REQUIRED: Bằng mã đơn vị tiền tệ được xác định theo câu lệnh. Nếu giá trị này là số âm thì tức là giá trị tiền tệ chuyển từ Google sang bên tích hợp thanh toán. Nếu số tiền này dương thì đó là khoản tiền của công ty tích hợp thanh toán phải trả cho Google.

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

Giá trị này được tính bằng phần triệu.

presentmentChargeAmount

string (Int64Value format)

KHÔNG BẮT BUỘC: Số tiền giao dịch bằng đơn vị tiền tệ hiện tại (còn gọi là giao dịch) trước khi giao dịch ngoại hối. Trường này tuân theo quy ước ký tương tự như trường eventCharge.

Giá trị này được tính bằng phần triệu.

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, loại bỏ đơn vị tiền tệ xuất hiện (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 xuất hiện thành số tiền thanh toán (hoá đơn).

Giá trị này tính bằng điểm cơ sở vi mô (1 điểm cơ sở = ,0001 = ,01%). Tức là để tính 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 thành số tiền thanh toán (hoá đơn), biểu thị bằng điểm cơ sở nano.

Giá trị này tính bằng điểm cơ sở nano (1 điểm cơ sở = ,0001 = ,01%). Tức là để tính 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. Đây là tỷ giá hối đoái tương đương được biểu thị 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à thay vào đó là nanoExchangeRate.