Method: asynchronousCapture

Kích hoạt hoạt động di chuyển tiền giữa tài khoản của khách hàng và đơn vị tích hợp. Nhà tích hợp phải xác nhận yêu cầu và thực hiện mọi hành động cần thiết để hoàn tất quy trình thu thập dữ liệu (ví dụ: thu thập mã PIN từ người dùng). Đơn vị tích hợp sẽ thông báo cho Google về kết quả cuối cùng của ảnh chụp bằng cách gọi CaptureResultNotification API.

Tổ hợp requestId trong tiêu đề và paymentIntegratorAccountId là khoá giá trị nhận dạng và xác định duy nhất giao dịch này. Tất cả các trường hợp đột biến trong giao dịch này (hoàn tiền) đều được điền vào giá trị requestId trong trường captureRequestId.

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": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

Câu trả lời mẫu sẽ có dạng như sau:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

Yêu cầu HTTP

POST https://www.integratorhost.example.com/v1/asynchronousCapture

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 (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field fopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  },
  "tokenizedInstrumentDetails": {
    object (TokenizedInstrumentDetails)
  }
  // End of list of possible types for union field fopDetails.
}
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 đối tác tích hợp thanh toán giúp xác định những ràng buộc theo hợp đồng liên quan đến giao dịch này.

transactionDescription

string

BẮT BUỘC: Đây là nội dung mô tả về giao dịch có thể được đưa vào bảng sao kê của khách hàng. Đã bản địa hoá sang userLocale có trong requestHeader. Bạn có thể thay đổi định dạng này mà không cần thông báo và tuyệt đối không được phân tích cú pháp định dạng này.

currencyCode

string

BẮT BUỘC: Mã đơn vị tiền tệ gồm 3 chữ cái theo ISO 4217

amount

string (Int64Value format)

BẮT BUỘC: Số tiền mua hàng, tính bằng đơn vị tiền tệ một phần triệu.

Trường kết hợp fopDetails.

fopDetails chỉ có thể là một trong những trạng thái sau đây:

upiDetails

object (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 qua UPI.

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

KHÔNG BẮT BUỘC: Chi tiết thanh toán dành riêng cho các phương thức được mã hoá.

Nội dung phản hồi

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

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)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
Trường
responseHeader

object (ResponseHeader)

BẮT BUỘC: Tiêu đề chung cho tất cả câu trả lời.

paymentIntegratorTransactionId

string

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 đối tác 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 giao dịch 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

enum (AsynchronousCaptureResultCode)

BẮT BUỘC: Kết quả của lệnh gọi thu thập không đồng bộ.

UpiDetails

Thông tin chi tiết về tài khoản UPI mà bạn muốn thu thập.

Biểu diễn dưới dạng JSON
{
  "vpa": string
}
Trường
vpa

string

BẮT BUỘC: Địa chỉ thanh toán ảo (VPA) của người dùng mà người dùng dùng để chuyển tiền qua giao thức UPI. Ví dụ: foo@icici.

TokenizedInstrumentDetails

Thông tin chi tiết về tài khoản mà bạn muốn lấy.

Biểu diễn dưới dạng JSON
{
  "googlePaymentToken": string
}
Trường
googlePaymentToken

string

BẮT BUỘC: Đây là mã thông báo mà cả hai công ty sẽ dùng để xác định tài khoản cho các giao dịch mua giữa nhau.

AsynchronousCaptureResultCode

Mã kết quả cho không đồng bộCapture.

Enum
UNKNOWN_RESULT Đừng bao giờ đặt giá trị mặc định này!
ACKNOWLEDGED Hoạt động thu thập đã được yêu cầu và đối tác tích hợp sẽ thực hiện các bước bổ sung để xác định xem hoạt động thu thập dữ liệu đã thành công hay bị từ chối. Sau khi biết được kết quả của việc thu thập dữ liệu, đối tác tích hợp sẽ thông báo cho Google về kết quả đó bằng cách gọi API captureResultNotification.
ACCOUNT_CLOSED

Tài khoản của người dùng do đối tác tích hợp nắm giữ đã 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_ON_HOLD Tài khoản đang bị tạm ngưng.
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.