- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- UpiDetails
- TokenizedInstrumentDetails
- AsynchronousCaptureResultCode
Activa el inicio de una operación de transferencia de dinero entre la cuenta de un cliente y el integrador. El integrador debe confirmar la solicitud y realizar las acciones necesarias para completar la captura (p.ej., obtener un PIN del usuario). El integrador informará a Google el resultado final de la captura llamando a la API CaptureResultNotification.
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 (reembolsos) propagan el valor requestId en el campo captureRequestId.
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": 1,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashIN_INR",
"upiDetails": {
"vpa": "foo@icici"
},
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000"
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "ACKNOWLEDGED",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
Solicitud HTTP
POST https://www.integratorhost.example.com/v1/asynchronousCapture
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: Es el importe de la compra, expresado en micrones de la unidad de moneda. |
Campo de unión
|
|
upiDetails |
OPCIONAL: Son los detalles del pago específicos de los instrumentos de UPI. |
tokenizedInstrumentDetails |
OPCIONAL: Detalles del pago específicos de los instrumentos con asignación de token. |
Cuerpo de la respuesta
Objeto de respuesta para el método de captura.
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. |
result |
REQUIRED: Es el resultado de la llamada de captura asíncrona. |
UpiDetails
Detalles sobre la cuenta de UPI desde la que se realizará la captura.
| 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. |
TokenizedInstrumentDetails
Detalles sobre la cuenta desde la cual se realizará la captura.
| Representación JSON |
|---|
{ "googlePaymentToken": string } |
| Campos | |
|---|---|
googlePaymentToken |
OBLIGATORIO: Este es el token que usarán ambas empresas para identificar la cuenta para las compras entre ellas. |
AsynchronousCaptureResultCode
Códigos de resultado para asíncronoCapture.
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
ACKNOWLEDGED |
Se solicitó la captura y el integrador realizará pasos adicionales para determinar si la captura se realizó correctamente o se rechazó. Una vez que el integrador conozca el resultado de la captura, llamará a la API de captureResultNotification para informar a Google sobre este. |
ACCOUNT_CLOSED |
Se cerró la cuenta del usuario que se retuvo con el integrador. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
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. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |
ACCOUNT_ON_HOLD |
La cuenta está suspendida. |
ACCOUNT_CLOSED_FRAUD |
La cuenta del usuario que se retuvo con el integrador se cerró debido a un fraude. Devolver este valor hará que el instrumento del usuario se cierre con Google. El usuario se verá obligado a agregar un nuevo instrumento siguiendo el flujo de asociación nuevamente. |