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 không xác định, hàm sẽ trả về tối đa 1000 sự kiện cho 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 cuối cùng 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.

Các 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 các tình huống mà ErrorResponse có nội dung mô tả rõ ràng có thể được sử dụng để giúp kẻ tấn công hiểu giá trị nhận dạng tài khoản của nhà 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 giá trị nhận dạng nhà tích hợp thanh toán hoặc khoá mã hoá, phương thức này sẽ trả về HTTP 404 không có mã. 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ề nội dung phản hồi.

Một yêu cầu mẫu 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
}

Một 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 với cấu trúc như 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)

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à mã định danh tài khoản tích hợp thanh toán xác định ràng buộc hợp đồng xung quanh bảng sao kê này.

statementId

string

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

eventOffset

integer

KHÔNG BẮT BUỘC: Trả lại các sự kiện bắt đầu ở độ lệch này. Bạn phải đặt giá trị này thành nextEventOffset nếu 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, các sự kiện sẽ được trả về bắt đầu bằng sự kiện đầu tiên. Nếu đây là hai sự kiện, 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

TÙY CHỌN: Số sự kiện hiển thị trên mỗi trang. Nếu giá trị 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)

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 bảng sao kê chuyển tiền này.

eventOffset

integer

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

nextEventOffset

integer

TÙY CHỌN: Khoảng bù của sự kiện tiếp theo để trả về. Nếu bạn không chỉ định, sẽ không có thêm sự kiện nào cần 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 tất cả các khoản thuế được 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: Tập hợp các 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 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 bồi hoà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ể thêm sự kiện điều chỉnh theo quyết định của Google để điều chỉnh các khoản chênh lệch về khoản thanh toán, chẳng hạn như nếu các khoản phí được tính toán chưa đầy đủ cho một số giao dịch trước đó. Do đó, có thể sử dụng một mức điều chỉnh để làm dữ liệu tích hợp cho cả bên tích hợp.

Tóm tắt trạng thái chuyển tiền

Đố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)

BẮT BUỘC: Ngày (ở Mỹ/Los Angeles) mà báo cáo này được tạo.

billingPeriod

object (BillingPeriod)

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

dateDue

string (int64 format)

TÙY CHỌN: Ngày đến hạn chuyển tiền. Trạng thái này được biểu diễn dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là một 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 tính bằng micrô theo đơn vị tiền tệ là currencyCode. Giá trị này luôn dương.

remittanceInstructions

object (RemittanceInstructions)

BẮT BUỘC: Chi tiết về cách chuyển tiền thanh toán

Chu kỳ thanh toán

Chu 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)

BẮT BUỘC: Ngày bắt đầu của thời hạn thanh toán. Trạng thái này được biểu diễn dưới dạng mili giây từ thời gian bắt đầu của hệ thống. Đó là một 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à phần nghìn giây đầu tiên của ngày của thời hạn thanh toán, 00:00:00.000

endDate

string (int64 format)

BẮT BUỘC: Ngày kết thúc của thời hạn thanh toán. Trạng thái này được biểu diễn 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 thời hạn thanh toán, 23:59:59.999

Hướng dẫn chuyển tiền

Cấu trúc 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: Giá trị nhận dạng bắt buộc phải được đặt trên dòng thư báo cho khoản thanh toán để nhận dạng chuyển tiền.

Event (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 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, hoàn tiền và hoàn tiền, đây sẽ là requestId mà Công cụ 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ã nhận dạng duy nhất do Google gán cho sự kiện điều chỉnh.

paymentIntegratorEventId

string

BẮT BUỘC: ID nhà tích hợp thanh toán được trả lại cho sự kiện này. Để nắm bắt kết quả, đây là paymentIntegratorTransactionId từ phản hồi cho lệnh gọi capture. Đối với tiền hoàn lại, đây là paymentIntegratorRefundId từ phản hồi cho lệnh gọi refund.

Trường này có độ dài biến đổi, là một tích hợp bất kỳ ID nào 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 cùng một giá trị với trường eventRequestId.

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

eventCharge

string (Int64Value format)

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

Ví dụ: giao dịch thu thập sẽ luôn là số dương và giao dịch hoàn tiền sẽ luôn âm. Các sự kiện hoàn tiền và hoàn tiền ngược sẽ luôn có giá trị dương. Sự kiện bồi hoàn sẽ luôn là số â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ệ được xác định trong câu lệnh. Nếu giá trị này là âm thì giá trị này biểu thị giá trị tiền tệ đang chuyển từ Google sang trình tích hợp thanh toán. Nếu là số dương thì đó là tiền từ nhà tích hợp thanh toán đến từ Google.

Ví dụ: nếu một thỏa thuận cho biết rằng Google sẽ thanh toán 1% transactionCharge cho nhà tích hợp thanh toán và sẽ đảo ngược 1% đó khi hoàn lại giao dịch đó, thì phí thu giữ sẽ là số âm và khi hoàn trả, phí hoàn lại 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ệ của bản trình bày (còn gọi là giao dịch) trước khi trao đổi ngoại tệ. Trường này tuân theo quy ước ký hiệu giống như 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 ISO 4217 mô tả đơn vị tiền tệ của giao dịch (giao dịch).

exchangeRate

string (Int64Value format)

KHÔNG BẮT BUỘC: Tỷ giá hối đoái được sử dụng khi chuyển đổi số tiền trình bày thành số tiền quyết toán (hóa đơn).

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

Giá trị này được tính bằng nano điểm cơ bản (1 điểm cơ bản = 0,0001 = 0,01%). Tức là, để lấy 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. 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ị xóa, thay vào đó là nanoExchangeRate.