Method: refundResultNotification

Thông báo cho Google về kết quả hoàn tiền sau khi gọi phương thức refund.

Khoản tiền hoàn lại sẽ được xử lý đồng bộ trong lệnh gọi phương thức refund. Tuy nhiên, phương thức này sẽ cung cấp cho Google tín hiệu sao lưu nhanh trong trường hợp lệnh gọi đồng bộ không thực hiện được sau khi thực hiện hành động nhưng trước khi có thể trả về kết quả. Điều này giúp Google tránh được sự chậm trễ do việc lên lịch thử lại trong tương lai.

Giá trị refundResult là không đổi cho refundRequestId này, vì vậy bạn không thể thay đổi giá trị của nó bằng lệnh gọi phương thức này tiếp theo.

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": 1,
      "revision": 0
    },
    "requestId": "HsKv5pvtQKTtz7rdcw1YqE",
    "requestTimestamp": "1481855928301"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
  "paymentIntegratorRefundId": "invisi/Id::xx__1243",
  "refundResult": "SUCCESS"
}

Một phản hồi mẫu sẽ có dạng như sau:


{
  "responseHeader": {
    "responseTimestamp": "1481855928376"
  },
  "result": "SUCCESS"
}

Yêu cầu HTTP

POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/: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,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
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: Giá trị nhận dạng tài khoản của nhà tích hợp thanh toán có khoản tiền hoàn lại.

refundRequestId

string

BẮT BUỘC: Giá trị nhận dạng duy nhất cho khoản tiền hoàn lại này, được thiết lập bởi trường requestId khi phương thức refund được gọi.

refundResult

enum (RefundResultCode)

BẮT BUỘC: Kết quả của khoản hoàn trả này.

paymentIntegratorRefundId

string

BẮT BUỘC: Mã nhận dạng này dành riêng cho nhà tích hợp và do nhà tích hợp tạo ra. Đây là giá trị nhận dạng mà nhà tích hợp biết về khoản tiền hoàn lại này.

Để thuận tiện, số nhận dạng này được bao gồm trong chi tiết chuyển khoản

Nội dung phản hồi

Đối tượng phản hồi cho phương thức refundResultNotification.

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)
  },
  "result": enum (RefundResultNotificationResultCode)
}
Các trường
responseHeader

object (ResponseHeader)

BẮT BUỘC: Tiêu đề chung cho tất cả các phản hồi.

result

enum (RefundResultNotificationResultCode)

BẮT BUỘC: Kết quả của cuộc gọi này.

Mã tiền hoàn lại

Mã kết quả duy nhất sẽ được hoàn tiền.

Enum
UNKNOWN_RESULT Khô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 Hoàn tiền 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 nhà tích hợp và Google. Google không được yêu cầu hoàn lại số tiền lớn hơn ảnh chụp gốc.
ACCOUNT_CLOSED

Tài khoản được tích hợp với nhà tích hợp đã bị đóng.

Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm 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 nhà tích hợp đã bị đóng, tài khoản bị nghi ngờ chiếm đoạt.

Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm 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 nhà tích hợp giữ đã bị đóng do gian lận.

Khi trả lại giá trị này, công cụ của người dùng sẽ bị đóng với Google. Người dùng sẽ buộc phải thêm 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ị treo và không thể chấp nhận tiền hoàn lại, nhưng tài khoản của người dùng sau đó có thể chấp nhận tiền hoàn lại. Google có thể yêu cầu một khoản tiền hoàn lại khác trong tương lai, nhưng sẽ làm như vậy với requestId mới nên yêu cầu này sẽ được coi là đã hoàn tất.
REFUND_EXCEEDS_MAXIMUM_BALANCE Không thể xử lý khoản hoàn trả vào thời điểm hiện tại, bởi vì làm như vậy sẽ làm cho số dư của người dùng vượt quá số tiền tối đa được phép. Google có thể yêu cầu một khoản tiền hoàn lại khác trong tương lai, nhưng sẽ làm như vậy với requestId mới nên yêu cầu này sẽ được coi là đã hoàn tất.
REFUND_WINDOW_EXCEEDED Không thể xử lý khoản tiền hoàn lại vì yêu cầu nằm ngoài khoảng thời gian hoàn lại được cho phép.

Mã kết quả thông báo hoàn lại

Mã kết quả cho phương thức refundResultNotification.

Enum
UNKNOWN_RESULT Không bao giờ đặt giá trị mặc định này!
SUCCESS Thông báo kết quả hoàn tiền thành công.