Hoàn tiền một phần hoặc toàn bộ giao dịch được thực hiện thông qua capture
. Tổ hợp requestId
trong tiêu đề và paymentIntegratorAccountId
là khoá giá trị nhận dạng duy nhất cho giao dịch này.
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",
"captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"currencyCode": "INR",
"refundAmount": "208000000"
}
Câu trả lời mẫu sẽ có dạng như sau:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}
Yêu cầu HTTP
POST https://www.integratorhost.example.com/v1/refund
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 ( |
Trường | |
---|---|
requestHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả các yêu cầu. |
paymentIntegratorAccountId |
BẮT BUỘC: Đây là mã tài khoản của đối tác tích hợp thanh toán xác định những ràng buộc hợp đồng liên quan đến giao dịch này. |
captureRequestId |
BẮT BUỘC: Giá trị nhận dạng duy nhất của giao dịch này. Đây là |
currencyCode |
BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217 |
refundAmount |
BẮT BUỘC: Số tiền hoàn lại, một số dương micrô của đơn vị tiền tệ. |
Nội dung phản hồi
Đối tượng phản hồi cho phương thức hoà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 ( |
Trường | |
---|---|
responseHeader |
BẮT BUỘC: Tiêu đề chung cho tất cả câu trả lời. |
paymentIntegratorRefundId |
KHÔNG BẮT BUỘC: Giá trị nhận dạng này dành riêng cho đơn vị tích hợp và do đơn vị tích hợp tạo ra. Đây là giá trị nhận dạng mà đối tác tích hợp biết khoản tiền hoàn lại này. Để thuận tiện, mã nhận dạng này được đưa vào thông tin chuyển tiền |
result |
BẮT BUỘC: Kết quả của khoản tiền hoàn lại này. |
rawResult |
KHÔNG BẮT BUỘC: Kết quả thô của khoản tiền hoàn lại này. Dùng để cung cấp thông tin cho công cụ phân tích và công cụ đánh giá rủi ro của Google. Trong các tình huống liên kết mã từ chối, đôi khi dữ liệu 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 (nhà tích hợp) có thể sử dụng trường này để cung cấp cho Google 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 |
RefundResultCode
Mã kết quả duy nhất sẽ được hoàn tiền.
Enum | |
---|---|
UNKNOWN_RESULT |
Đừng bao giờ đặt giá trị mặc định này! |
SUCCESS |
Đã hoàn tiền thành công. |
NO_MONEY_LEFT_ON_TRANSACTION |
v1.refund không thành công, không còn tiền trong giao dịch. Thông thường, lỗi này thể hiện lỗi giữa đơn vị tích hợp và Google. Google sẽ không yêu cầu hoàn lại số tiền lớn hơn ảnh chụp ban đầu. |
ACCOUNT_CLOSED |
Tài khoản do đối tác tích hợp giữ lại đã bị đóng. Việc trả về giá trị này sẽ khiến phương thức của người dùng bị đóng với Google. Người dùng sẽ buộc phải thêm một công cụ mới bằng cách thực hiện lại quy trình liên kết. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Tài khoản của người dùng với đơn vị tích hợp đã bị đóng và có thể là tài khoản bị chiếm đoạt. Việc trả về giá trị này sẽ khiến phương thức của người dùng bị đóng với Google. Người dùng sẽ buộc phải thêm một công cụ mới bằng cách thực hiện lại quy trình liên kết. |
ACCOUNT_CLOSED_FRAUD |
Tài khoản của người dùng do đối tác tích hợp nắm giữ đã bị đóng do gian lận. Việc trả về giá trị này sẽ khiến phương thức của người dùng bị đóng với Google. Người dùng sẽ buộc phải thêm một công cụ mới bằng cách thực hiện lại quy trình liên kết. |
ACCOUNT_ON_HOLD |
Tài khoản của người dùng hiện đang bị tạm ngưng và không thể chấp nhận yêu cầu hoàn tiền nhưng sau đó tài khoản của người dùng có thể chấp nhận yêu cầu hoàn tiền. Google có thể yêu cầu hoàn tiền một lần nữa trong tương lai, nhưng sẽ yêu cầu hoàn tiền bằng một requestId mới. Vì vậy, yêu cầu này sẽ được coi là đã hoàn tất. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
Hiện tại, chúng tôi không thể xử lý khoản hoàn tiền vì làm như vậy sẽ khiến số dư của người dùng vượt quá số tiền tối đa cho phép. Google có thể yêu cầu hoàn tiền một lần nữa trong tương lai, nhưng sẽ yêu cầu hoàn tiền bằng một requestId mới. Vì vậy, yêu cầu này sẽ được coi là đã hoàn tất. |
REFUND_WINDOW_EXCEEDED |
Không thể xử lý yêu cầu hoàn tiền vì yêu cầu đã hết thời hạn hoàn tiền cho phép. |