- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- UpiDetails
- DisburseFundsResult
- DisburseFundsResultCode
- RawResult
Inicia el movimiento de dinero entre el procesador de pagos y la cuenta del cliente. La combinación de requestId
en el encabezado y paymentIntegratorAccountId
es la clave de idempotencia, que identifica de forma única esta transacción. Todas las mutaciones de esta transacción propagan el valor de requestId
en el campo disburseFundsRequestId
.
Si el extremo encuentra un error mientras procesa la solicitud, el cuerpo de la respuesta de este extremo debe ser del tipo
.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"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"
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
"disburseFundsResult": {
"disburseFundsResultCode": "SUCCESS"
}
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/disburseFunds
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
---|
{ "requestHeader": { object ( |
Campos | |
---|---|
requestHeader |
REQUIRED: Encabezado común para todas las solicitudes |
paymentIntegratorAccountId |
REQUIRED: Es el identificador de la cuenta del integrador de pagos que identifica las restricciones contractuales en torno a esta transacción. |
transactionDescription |
OBLIGATORIO: Esta es la descripción de la transacción que se puede incluir en el estado de cuenta del cliente. Se localiza en userLocale que se encuentra en |
currencyCode |
OBLIGATORIO: Código de moneda ISO 4217 de 3 letras |
amount |
OBLIGATORIO: Indica el importe de la compra, en micros, de la unidad de moneda. |
Campo de unión
|
|
upiDetails |
OPCIONAL: Son los detalles del pago específicos de los instrumentos de UPI. |
Cuerpo de la respuesta
Objeto de respuesta para el método de desembolso de fondos.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
---|
{ "responseHeader": { object ( |
Campos | |
---|---|
responseHeader |
REQUIRED: Encabezado común para todas las respuestas |
paymentIntegratorTransactionId |
REQUIRED: Este identificador es específico del integrador y lo genera este. Este es el identificador con el que el integrador conoce esta transacción. Para mayor comodidad, este identificador se incluye en los detalles de la remesa. |
disburseFundsResult |
OBLIGATORIO: Es el resultado de la llamada para desembolsar fondos. |
UpiDetails
Detalles sobre la cuenta de UPI a la que se debe realizar el desembolso.
Representación JSON |
---|
{ "vpa": string } |
Campos | |
---|---|
vpa |
OBLIGATORIO: La dirección de pago virtual (VPA) del usuario que se usa para transferir dinero con el protocolo de UPI. Por ejemplo, foo@icici. |
DisburseFundsResult
Información sobre el resultado final de un desembolso.
Representación JSON |
---|
{ "disburseFundsResultCode": enum ( |
Campos | |
---|---|
disburseFundsResultCode |
OBLIGATORIO: Es el código del resultado de este desembolso. |
rawResult |
OPCIONAL: Es el resultado sin procesar de este desembolso. Se usa para ayudar a fundamentar el motor de riesgos y las estadísticas de Google. En situaciones en las que se genera una asignación de código de rechazo, a veces se pierden los datos. El integrador puede optar por darle a Google un código sin procesar. Por ejemplo, una puerta de enlace de tarjeta de crédito (el integrador) puede usar este campo para comunicar a Google el código de rechazo exacto que se recibió de la red VISA. En ese caso, la Este valor es obligatorio si |
Campo de unión
|
|
transactionMaxLimit |
OPCIONAL: Si Esta cantidad es de micros de la misma |
transactionMinLimit |
OPCIONAL: Si Esta cantidad es de micros de la misma |
DisburseFundsResultCode
Códigos de resultado para llamadas de desembolso de fondos.
Enumeraciones | |
---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
El desembolso se realizó correctamente. |
DISBURSEMENT_UNDER_TRANSACTION_LIMIT |
El importe del desembolso solicitado no cumple con el importe mínimo por transacción del integrador. Si se usa este código, propaga el campo transactionMinLimit con el importe mínimo de la transacción para enviar mensajes a los usuarios. |
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT |
El importe del desembolso solicitado supera el límite máximo por transacción del integrador. Si se usa este código, propaga el campo transactionMaxLimit con el límite de transacciones para enviar mensajes a los usuarios. |
ACCOUNT_CLOSED |
Se cerró la cuenta del usuario que se retuvo con el integrador. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
Se cerró la cuenta del usuario con el integrador, por lo que se sospecha que se realizó una apropiación de la cuenta. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo. |
ACCOUNT_CLOSED_FRAUD |
La cuenta del usuario que se retuvo con el integrador se cerró debido a un fraude. Este valor de retorno hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo. |
ACCOUNT_ON_HOLD |
La cuenta del usuario está suspendida. |
RawResult
Objeto de resultado sin procesar.
Representación JSON |
---|
{ "scope": string, "rawCode": string } |
Campos | |
---|---|
scope |
OPCIONAL: El alcance del código sin procesar, puede estar vacío. |
rawCode |
OBLIGATORIO: Es el código sin procesar del integrador o los subsistemas que contiene. |