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

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

amount

string (Int64Value format)

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

통합 필드 destinationFopDetails.

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

upiDetails

object (UpiDetails)

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

응답 본문

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

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

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

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

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

disburseFundsResult

object (DisburseFundsResult)

REQUIRED: 지급 자금 호출의 결과입니다.

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)

REQUIRED: 지급의 결과 코드입니다.

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의 범위이며 비워둘 수 있습니다.

rawCode

string

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