Method: asynchronousCapture

고객 계정과 통합업체 간의 송금 작업 시작을 트리거합니다. 통합자는 요청을 확인하고 캡처를 완료하기 위해 발생해야 하는 모든 작업 (예: 사용자로부터 PIN 수집)을 수행해야 합니다. 통합자는 CaptureResultNotification API를 호출하여 Google에 캡처의 최종 결과를 알립니다.

헤더 내의 requestIdpaymentIntegratorAccountId의 조합은 멱등성 키이며 이 트랜잭션을 고유하게 식별합니다. 이 거래의 모든 변형 (환불)은 captureRequestId 필드에 requestId 값을 채웁니다.

요청을 처리하는 동안 엔드포인트에서 오류가 발생하면 이 엔드포인트의 응답 본문은 ErrorResponse 유형이어야 합니다.

요청의 예는 다음과 같습니다.


{
  "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"
}

응답 예는 다음과 같습니다.


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

HTTP 요청

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

요청 본문

요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.

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.
}
필드
requestHeader

object (RequestHeader)

필수: 모든 요청의 공통 헤더입니다.

paymentIntegratorAccountId

string

필수: 이 거래와 관련된 계약상의 제약 조건을 식별하는 결제 통합업체 계정 식별자입니다.

transactionDescription

string

필수: 고객의 명세서에 기재할 수 있는 거래에 대한 설명입니다. requestHeader에 있는 userLocale로 현지화됩니다. 이 형식은 예고 없이 변경될 수 있으며 파싱해서는 안 됩니다.

currencyCode

string

필수: 3자리 ISO 4217 통화 코드

amount

string (Int64Value format)

필수: 구매 금액(마이크로 단위)입니다.

통합 필드 fopDetails.

fopDetails는 다음 중 하나여야 합니다.

upiDetails

object (UpiDetails)

선택사항: UPI 결제 수단별 결제 세부정보입니다.

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

선택사항: 토큰화된 결제 수단과 관련된 결제 세부정보입니다.

응답 본문

캡처 메서드의 응답 객체입니다.

성공할 경우 응답 본문에 다음 구조의 데이터가 포함됩니다.

JSON 표현
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "result": enum (AsynchronousCaptureResultCode)
}
필드
responseHeader

object (ResponseHeader)

REQUIRED: 모든 응답의 공통 헤더입니다.

paymentIntegratorTransactionId

string

필수: 이 식별자는 통합업체에만 해당되며 통합업체에 의해 생성됩니다. 이 ID는 통합업체가 이 트랜잭션을 아는 식별자입니다.

편의를 위해 송금 세부정보에 이 식별자가 포함되어 있습니다.

result

enum (AsynchronousCaptureResultCode)

필수: 비동기 캡처 호출의 결과입니다.

UpiDetails

캡처할 UPI 계좌의 세부정보입니다.

JSON 표현
{
  "vpa": string
}
필드
vpa

string

필수: UPI 프로토콜을 사용하여 이체하는 데 사용되는 사용자의 가상 수취인 주소 (VPA)입니다. 예: foo@icici

TokenizedInstrumentDetails

캡처할 계정의 세부정보입니다.

JSON 표현
{
  "googlePaymentToken": string
}
필드
googlePaymentToken

string

필수: 두 회사가 서로 구매를 위해 계정을 식별하는 데 사용하는 토큰입니다.

AsynchronousCaptureResultCode

비동기 캡처의 결과 코드입니다.

열거형
UNKNOWN_RESULT 이 기본값을 설정하면 안 됩니다.
ACKNOWLEDGED 캡처가 요청되었으며 통합업체는 캡처의 성공 또는 거부 여부를 판단하기 위해 추가 단계를 수행할 것입니다. 통합업체가 캡처 결과를 알게 되면 captureResultNotification API를 호출하여 Google에 결과를 알립니다.
ACCOUNT_CLOSED

통합업체에 보관된 사용자 계정이 해지되었습니다.

이 값을 반환하면 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 연결 흐름을 다시 거쳐 새 결제 수단을 추가해야 합니다.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

통합업체와 연결된 사용자 계정이 폐쇄되었으며 계정이 탈취된 것으로 의심됩니다.

이 값을 반환하면 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 연결 흐름을 다시 거쳐 새 결제 수단을 추가해야 합니다.

ACCOUNT_ON_HOLD 계정이 보류 중입니다.
ACCOUNT_CLOSED_FRAUD

통합업체에 보류된 사용자 계정이 사기로 인해 해지되었습니다.

이 값을 반환하면 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 연결 흐름을 다시 거쳐 새 결제 수단을 추가해야 합니다.