Method: remittanceStatementDetails

Trả về thông tin chi tiết về giao dịch của một bảng sao kê lệnh chuyển tiền.

Đây là một API 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 đến 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 hiện tại được truy xuất chứa các giao dịch gần đây nhất của bảng sao kê, thì nextEventOffset sẽ không xuất hiện trong phản hồi.

Giá trị statementId là requestId từ remittanceStatementNotificationRequest

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

Ví dụ về yêu cầu:


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

Ví dụ về phản hồi:


{
  "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 với 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 đơn vị tích hợp thanh toán, giúp xác định các ràng buộc theo hợp đồng liên quan đến câu lệnh này.

statementId

string

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

eventOffset

integer

KHÔNG BẮT BUỘC: Trả về các sự kiện bắt đầu tại độ lệch này. Bạn nên đặt giá trị này thành nextEventOffset nếu có giá trị được trả về hoặc không 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 từ 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 từ 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ố lượng sự kiện cần hiển thị trên mỗi trang. Nếu bạn không chỉ định hoặc chỉ định giá trị 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 thông báo 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ác phản hồi.

remittanceStatementSummary

object (RemittanceStatementSummary)

BẮT BUỘC: Tóm tắt nội dung của thông báo 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

KHÔNG BẮT BUỘC: Độ lệch của sự kiện tiếp theo cần trả về. Nếu không được chỉ định, thì không còn sự kiện nào để truy xuất cho câu lệnh này.

totalEvents

integer

BẮT BUỘC: Tổng số sự kiện trong báo cáo này.

totalWithholdingTaxes

string (Int64Value format)

BẮT BUỘC: Tổng số thuế đã khấu lưu cho báo cáo này.

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

captureEvents[]

object (Event)

BẮT BUỘC: Tập hợp các sự kiện chụp.

refundEvents[]

object (Event)

BẮT BUỘC: Nhóm 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 bồi hoàn.

reverseChargebackEvents[]

object (Event)

KHÔNG BẮT BUỘC: Tập hợp các sự kiện hủy bỏ yêu cầu đòi hoàn tiền.

adjustmentEvents[]

object (Event)

KHÔNG BẮT BUỘC: Nhóm sự kiện điều chỉnh. Google có thể tuỳ ý thêm các sự kiện điều chỉnh để điều chỉnh những điểm khác biệt trong việc thanh toán, ví dụ: nếu phí được tính thấp hơn cho một nhóm giao dịch trước đó, thì Google có thể sử dụng một khoản điều chỉnh để bù đắp cho bên 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 (theo múi giờ của Los Angeles, Hoa Kỳ) tạo ra tuyên bố này.

billingPeriod

object (BillingPeriod)

BẮT BUỘC: Kỳ thanh toán mà bảng sao kê này đề cập đến.

dateDue

string (int64 format)

KHÔNG BẮT BUỘC: Ngày đến hạn của khoản tiền thanh toán. Giá trị này được biểu thị bằng mili giây tính từ thời gian bắt đầu của hệ thống. Đây là một ngày (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 đặ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 tiêu chuẩn ISO 4217.

totalDueByIntegrator

string (Int64Value format)

BẮT BUỘC: Giá trị này tính bằng micro trong đơ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 của kỳ thanh toán. Giá trị này được biểu thị bằng mili giây tính từ thời gian bắt đầu của hệ thống. Đây là một ngày (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. Giá trị này được biểu thị bằ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 trong kỳ thanh toán, tức là 23:59:59.999

RemittanceInstructions

Cấu trúc lưu giữ 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 có trên dòng ghi chú của khoản thanh toán để xác định khoản chuyển tiền.

Sự kiện

Cấu trúc đại diện cho 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
}
Trường
eventRequestId

string

BẮT BUỘC: Đối với các sự kiện ghi lại 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, bồi hoàn và hủy bỏ yêu cầu đòi hoàn tiền, đây sẽ là requestId mà Trình tích hợp thanh toán gửi cùng với thông báo về sự kiện đó. Đối với các mức điều chỉnh, đây sẽ là một 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 mà đơn vị tích hợp thanh toán trả về cho sự kiện này. Đối với một yêu cầu ghi lại, đây là paymentIntegratorTransactionId trong phản hồi cho một lệnh gọi capture, đối với một yêu cầu hoàn tiền, đây là paymentIntegratorRefundId trong phản hồi cho một lệnh gọi refund.

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

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

eventCharge

string (Int64Value format)

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

Ví dụ: giao dịch ghi lại sẽ luôn dương và giao dịch hoàn tiền sẽ luôn âm. Các sự kiện hoàn tiền và hủy bỏ yêu cầu đòi hoàn tiền sẽ luôn là số dương. Sự kiện bồi hoà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: Trong mã đơn vị tiền tệ do câu lệnh xác định. Nếu giá trị này là số âm, thì giá trị này biểu thị giá trị bằng tiền chuyển từ Google sang đơn vị tích hợp thanh toán. Nếu đây là số dương, thì đó là số tiền mà nhà tích hợp thanh toán phải trả 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ẽ hoàn lại 1% đó khi hoàn tiền cho giao dịch đó, thì phí thu thập sẽ là số âm và phí hoàn tiền sẽ là số dương khi hoàn tiền.

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ệ trình bày (còn gọi là đơn vị tiền tệ giao dịch) trước khi quy đổi ngoại tệ. Trường này tuân theo cùng một quy ước về dấu như trường eventCharge.

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

presentmentCurrencyCode

string

KHÔNG BẮT BUỘC: Mã tiền tệ gồm 3 chữ cái theo tiêu chuẩn ISO 4217 biểu thị đơn vị tiền tệ trình bày (giao dịch).

exchangeRate
(deprecated)

string (Int64Value format)

KHÔNG DÙNG NỮA: Tỷ giá hối đoái được dùng để quy đổi số tiền trình bày sang số tiền thanh toán (hoá đơn).

Giá trị này được tính bằng micro điểm cơ sở (1 điểm cơ sở = 0,0001 = 0,01%). Tức là để biết 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 được dùng để quy đổi số tiền trình bày sang số tiền thanh toán (hoá đơn), được biểu thị bằng điểm cơ sở nano.

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

Cả trường này và exchangeRate đều sẽ được điền sẵn. Đây 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 sau này, exchangeRate sẽ bị xoá để thay thế bằng nanoExchangeRate.