Method: disburseFunds

결제 대행업체와 고객 계좌 간 이체를 시작합니다. 헤더 내의 requestIdpaymentIntegratorAccountId의 조합은 멱등성 키이며 이 거래를 고유하게 식별합니다. 이 트랜잭션의 모든 변형은 disburseFundsRequestId 필드의 requestId 값을 채웁니다.

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

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


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

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

HTTP 요청

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

요청 본문

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

JSON 표현
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field destinationFopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  }
  // End of list of possible types for union field destinationFopDetails.
}
필드
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

transactionDescription

string

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

currencyCode

string

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

amount

string (Int64Value format)

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

통합 필드 destinationFopDetails.

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

upiDetails

object (UpiDetails)

선택사항: UPI 수단에 해당하는 결제 세부정보입니다.

응답 본문

지불 방법의 응답 객체입니다.

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

JSON 표현
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorTransactionId": string,
  "disburseFundsResult": {
    object (DisburseFundsResult)
  }
}
필드
responseHeader

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

필수: 이 식별자는 통합업체에 따라 다르며 통합업체에 의해 생성됩니다. 이는 통합업체가 이 트랜잭션을 인식하는 데 사용하는 식별자입니다.

편의를 위해 이 식별자는 송금 세부정보에 포함됩니다.

disburseFundsResult

object (DisburseFundsResult)

필수: 지불 금액 호출의 결과입니다.

UpiDetails

지급할 UPI 계정에 관한 세부정보입니다.

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

string

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

DisburseFundsResult

지불의 최종 결과에 대한 정보입니다.

JSON 표현
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
필드
disburseFundsResultCode

enum (DisburseFundsResultCode)

필수: 이 지불의 결과 코드입니다.

rawResult

object (RawResult)

선택사항: 지불의 원시 결과입니다. Google의 위험 엔진 및 분석에 도움을 주는 데 사용됩니다. 거부 코드 매핑 시 데이터가 손실될 수 있습니다. 통합업체는 Google에 원시 코드를 제공할 수 있습니다. 예를 들어 신용카드 게이트웨이 (통합업체)는 이 필드를 사용하여 VISA 네트워크에서 수신한 거부 코드를 Google에 정확히 알릴 수 있습니다. 이 경우 scope는 'visa'이고 rawCode는 VISA 네트워크가 반환한 값입니다.

resultSUCCESS가 아닌 경우 이 값은 필수입니다.

통합 필드 FailureDetail.

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

transactionMaxLimit

string (Int64Value format)

선택사항: disburseFundsResultCodeDISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT인 경우 허용되는 최대 거래의 값입니다. 구조화된 사용자 대상 메시지 및 감소율 분석에 사용됩니다.

이 크기는 원래 disburseFunds 메서드 호출과 동일한 currencyCode마이크로입니다.

transactionMinLimit

string (Int64Value format)

선택사항: disburseFundsResultCodeDISBURSEMENT_UNDER_TRANSACTION_LIMIT인 경우 허용되는 최소 거래 금액입니다. 구조화된 사용자 대상 메시지 및 감소율 분석에 사용됩니다.

이 크기는 원래 disburseFunds 메서드 호출과 동일한 currencyCode마이크로입니다.

DisburseFundsResultCode

대금 지급 호출의 결과 코드입니다.

열거형
UNKNOWN_RESULT 이 기본값을 설정해서는 안 됩니다.
SUCCESS 지불이 완료되었습니다.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT 요청된 지불 금액이 통합업체의 최소 거래당 금액을 충족하지 않습니다. 이 코드를 사용하는 경우 사용자 메시지 전송을 위해 transactionMinLimit 필드에 최소 거래 금액을 입력합니다.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT 요청된 지불 금액이 통합업체의 최대 트랜잭션당 한도를 초과합니다. 이 코드를 사용하는 경우 사용자 메시지 전송을 위해 transactionMaxLimit 필드에 거래 한도를 입력합니다.
ACCOUNT_CLOSED 통합업체에 보유한 사용자의 계정이 폐쇄되었습니다. 이 반환 값으로 인해 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 새 결제 수단을 추가해야 합니다.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER 통합업체의 사용자 계정이 폐쇄되었으며 계정 인계가 의심됩니다. 이 반환 값으로 인해 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 새 결제 수단을 추가해야 합니다.
ACCOUNT_CLOSED_FRAUD 통합업체에 보유한 사용자 계정이 사기로 인해 해지되었습니다. 이 반환 값으로 인해 사용자의 결제 수단이 Google에서 종료됩니다. 사용자는 새 결제 수단을 추가해야 합니다.
ACCOUNT_ON_HOLD 사용자의 계정이 보류 중입니다.

RawResult

원시 결과 객체입니다.

JSON 표현
{
  "scope": string,
  "rawCode": string
}
필드
scope

string

선택사항: 원시코드의 범위이며 비어 있을 수 있습니다.

rawCode

string

필수: 통합업체 또는 하위 시스템의 원시 코드입니다.