- Yêu cầu HTTP
- Nội dung yêu cầu
- Nội dung phản hồi
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Bắt đầu chuyển tiền giữa công ty xử lý thanh toán và tài khoản của khách hàng. Tổ hợp requestId
trong tiêu đề và paymentIntegratorAccountId
là khoá xác định giá trị nhận dạng duy nhất và xác định duy nhất giao dịch này. Tất cả các trường hợp thay đổi trên giao dịch này sẽ điền giá trị requestId
vào trường disburseFundsRequestId
.
Nếu điểm cuối gặp lỗi trong khi xử lý yêu cầu, thì nội dung phản hồi từ điểm cuối này phải thuộc loại
.ErrorResponse
Yêu cầu mẫu sẽ có dạng như sau:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "liUrreQY233839dfFFb24gaQM",
"requestTimestamp": "1502220434778"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "208000000"
}
Phản hồi mẫu sẽ có dạng như sau:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
Yêu cầu HTTP
POST https://www.integratorhost.example.com/v1/disburseFunds
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 ( |
Các trường | |
---|---|
requestHeader |
REQUIRED: Tiêu đề chung cho tất cả các yêu cầu. |
paymentIntegratorAccountId |
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 giao dịch này. |
transactionDescription |
BẮT BUỘC: Đây là nội dung mô tả về giao dịch có thể xuất hiện trong bảng sao kê của khách hàng. Đã bản địa hoá sang userLocale trong |
currencyCode |
BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217 |
amount |
BẮT BUỘC: Số tiền của giao dịch mua, tính theo một phần triệu của đơn vị tiền tệ. |
Trường nhóm
|
|
upiDetails |
KHÔNG BẮT BUỘC: Thông tin thanh toán dành riêng cho các phương thức thanh toán có UPI. |
Nội dung phản hồi
Đối tượng phản hồi cho phương thức giải ngâ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 ( |
Các trường | |
---|---|
responseHeader |
REQUIRED: Tiêu đề chung cho tất cả các câu trả lời. |
paymentIntegratorTransactionId |
BẮT BUỘC: Giá trị nhận dạng này dành riêng cho trình tích hợp và do trình tích hợp tạo ra. Đây là giá trị nhận dạng mà bên tích hợp biết giao dịch này. Để thuận tiện, mã nhận dạng này đi kèm trong chi tiết chuyển tiền |
disburseFundsResult |
BẮT BUỘC: Kết quả của yêu cầu giải ngân. |
UpiDetails
Thông tin chi tiết về tài khoản UPI để thanh toán.
Biểu diễn dưới dạng JSON |
---|
{ "vpa": string } |
Các trường | |
---|---|
vpa |
BẮT BUỘC: Địa chỉ thanh toán ảo (VPA) của người dùng dùng để chuyển tiền qua giao thức UPI. Ví dụ: foo@icici. |
DisburseFundsResult
Thông tin về kết quả cuối cùng của khoản giải ngân.
Biểu diễn dưới dạng JSON |
---|
{ "disburseFundsResultCode": enum ( |
Các trường | |
---|---|
disburseFundsResultCode |
REQUIRED: Mã kết quả của khoản thanh toán này. |
rawResult |
KHÔNG BẮT BUỘC: Kết quả thô của khoản giải ngân này. Dùng để hỗ trợ công cụ phân tích rủi ro và xử lý rủi ro của Google. Trong các trường hợp ánh xạ mã từ chối, dữ liệu đôi khi sẽ bị mất. Đơn vị tích hợp có thể chọn cung cấp cho Google một mã thô. Ví dụ: cổng vào thẻ tín dụng (đơn vị tích hợp) có thể sử dụng trường này để thông báo cho Google về mã từ chối chính xác nhận được từ mạng VISA. Trong trường hợp đó, Giá trị này là bắt buộc nếu |
Trường nhóm
|
|
transactionMaxLimit |
KHÔNG BẮT BUỘC: Nếu Số tiền này bằng một phần triệu của |
transactionMinLimit |
KHÔNG BẮT BUỘC: Nếu Số tiền này bằng một phần triệu của |
DisburseFundsResultCode
Mã kết quả cho lệnh gọi nhận tiền.
Enum | |
---|---|
UNKNOWN_RESULT |
Đừng bao giờ đặt giá trị mặc định này! |
SUCCESS |
Đã thanh toán thành công. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
Số tiền giải ngân đã yêu cầu không đáp ứng số tiền tối thiểu cho mỗi giao dịch của nhà tích hợp. Nếu mã này được sử dụng, hãy điền số tiền giao dịch tối thiểu vào trường transactionMinLimit để thông báo cho người dùng. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
Số tiền giải ngân được yêu cầu vượt quá giới hạn tối đa cho mỗi giao dịch của nhà tích hợp. Nếu bạn sử dụng mã này, hãy điền hạn mức giao dịch vào trường transactionMaxLimit để thông báo cho người dùng. |
ACCOUNT_CLOSED |
Tài khoản của người dùng bị giữ với công cụ tích hợp đã bị đóng. Giá trị trả về này sẽ khiến công cụ của người dùng bị đóng bằng Google. Người dùng sẽ buộc phải thêm một phương thức mới. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Tài khoản của người dùng với trình tích hợp đã bị đóng, do có thể sẽ tiếp quản tài khoản này. Giá trị trả về này sẽ khiến công cụ của người dùng bị đóng bằng Google. Người dùng sẽ buộc phải thêm một phương thức mới. |
ACCOUNT_CLOSED_FRAUD |
Tài khoản của người dùng bị giữ với đơn vị tổng hợp đã bị đóng do hành vi gian lận. Giá trị trả về này sẽ khiến công cụ của người dùng bị đóng bằng Google. Người dùng sẽ buộc phải thêm một phương thức mới. |
ACCOUNT_ON_HOLD |
Tài khoản của người dùng đang bị tạm ngưng. |
RawResult
Đối tượng kết quả thô.
Biểu diễn dưới dạng JSON |
---|
{ "scope": string, "rawCode": string } |
Các trường | |
---|---|
scope |
KHÔNG BẮT BUỘC: Phạm vi của mã thô, có thể để trống. |
rawCode |
BẮT BUỘC: Mã thô từ trình tích hợp hoặc các hệ thống con trong đó. |