- Solicitud HTTP
- Cuerpo de la solicitud
- Cuerpo de la respuesta
- CaptureResult
- CaptureResultCode
- RawResult
- CaptureResultNotificationResultCode
Notifica a Google el resultado de una captura después de que se haya realizado una llamada de método capture o asynchronousCapture.
El valor captureResult es idempotente para este captureRequestId, por lo que su valor no se puede cambiar con una llamada posterior a este método.
Si el extremo encuentra un error mientras procesa la solicitud, la respuesta de este extremo será del tipo .ErrorResponse
Es posible que las respuestas de esta consulta estén vacías si este método no muestra un HTTP 200. El cuerpo de la respuesta estará vacío en situaciones en las que se pueda usar una con una descripción clara para ayudar a un atacante a comprender el identificador de cuenta del integrador de pagos de otros integradores. En estas situaciones, en las que la clave de firma no coincide, no se encontró el identificador del integrador de pagos o se desconocía la clave de encriptación, este método mostrará un error HTTP 404 con un cuerpo vacío. Si se puede verificar la firma de la solicitud, se devolverá información adicional sobre el error en el cuerpo de la respuesta.ErrorResponse
A continuación, se muestra una solicitud de ejemplo:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "KcgwSKrV76eVNDUbsZ4UA3",
"requestTimestamp": "1481852928293"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"captureRequestId": "awNaC510cefae3IJdNEvW2",
"captureResult": {
"captureResultCode": "SUCCESS"
}
}
Una respuesta de ejemplo se ve de la siguiente manera:
{
"responseHeader": {
"responseTimestamp": "1481852928324"
},
"result": "SUCCESS"
}
Solicitud HTTP
POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/:PIAID
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 |
OBLIGATORIO: Es el identificador de la cuenta del integrador de pagos en el que se produjo la captura. |
captureRequestId |
REQUIRED: Es un identificador único para esta transacción. Este es el Es una cadena con una longitud máxima de 100 caracteres y contiene solo los caracteres "a-z", "A-Z", "0-9", ":", "-" y "_". |
captureResult |
OBLIGATORIO: Es el resultado de esta captura. |
paymentIntegratorTransactionId |
OPCIONAL: 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. |
Cuerpo de la respuesta
Objeto de respuesta para el método captureResultNotification
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 |
result |
OBLIGATORIO: Es el resultado de esta llamada. |
CaptureResult
Información sobre el resultado final de una captura.
| Representación JSON |
|---|
{ "captureResultCode": enum ( |
| Campos | |
|---|---|
captureResultCode |
OBLIGATORIO: Es el código del resultado de esta captura. |
rawResult |
OPCIONAL: Es el resultado sin procesar de esta captura. 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 |
currentBalance |
OPCIONAL: Si el resultado es Este valor debe coincidir con la moneda que |
CaptureResultCode
Códigos de resultado para una captura
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
La captura se realizó correctamente. |
CHARGE_UNDER_TRANSACTION_LIMIT |
El importe de captura 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. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
La cantidad de captura solicitada 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. |
CHARGE_EXCEEDS_DAILY_LIMIT |
La cuenta del usuario no se puede usar para realizar compras en este momento porque excedió su límite diario. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
La cuenta del usuario no se puede usar para realizar compras en este momento porque excedió su límite mensual. |
INSUFFICIENT_FUNDS |
Esta cuenta no tiene fondos suficientes para garantizar esta captura. |
SUSPECTED_FRAUD |
El integrador tiene motivos para sospechar que esta transacción es fraudulenta. |
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. |
OTP_NOT_MATCHED |
La OTP no coincidió con lo que envió el integrador. |
OTP_ALREADY_USED |
Ya se usó la OTP. |
CAPTURE_REQUEST_EXPIRED |
El integrador tardó demasiado en capturar los fondos del usuario. Google considerará este rechazo como un estado final, por lo que el integrador debe asegurarse de que los fondos del usuario no se recopilen más tarde o de que se le reembolse automáticamente si la captura se realizó correctamente. |
INVALID_PIN |
El usuario proporcionó un PIN no válido. |
OS_LOCK_FAILED |
Este flujo de pago requiere que se verifique el bloqueo del SO, y el usuario no pudo desbloquear el dispositivo. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
Este flujo de pago requiere que se ingrese el PIN del usuario. El usuario no pudo ingresar el PIN la cantidad de veces suficiente como para que se acaben los reintentos. |
USER_EXITED_PAYMENT_FLOW |
El usuario canceló todo el intento de pago (ya sea en el bloqueo del SO o en la pantalla de ingreso del PIN). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
La cuenta del usuario no se puede usar para realizar compras en este momento porque superó su límite mensual de intentos de transacciones. |
DECLINED_BY_ISSUER |
Este código de disminución nunca debe usarse en estado estable. Se diseñó como un código genérico temporal para usar cuando el integrador encuentra un código de rechazo desconocido de la entidad emisora subyacente del instrumento del usuario. Este código de resultado se puede usar mientras el integrador determina un código de resultado más apropiado para usar o negocia la adición de un código de resultado nuevo a esta especificación. Es importante destacar que este código de rechazo es en gran medida una disminución real. Es un descenso permanente en lo que respecta a Google. Si el integrador devuelve esto, depende de él rastrear lo que realmente significa el código de la entidad emisora y reembolsar al usuario si resulta que el código en realidad significa Si este código de rechazo se usa para el mismo código de rechazo subyacente durante más de una cantidad determinada de días, Google lo considerará como un error y lo hará un seguimiento correspondiente con respecto a cualquier penalización contractual relacionada con la corrección de errores. |
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. |
CaptureResultNotificationResultCode
Códigos de resultado para el método captureResultNotification
| Enumeraciones | |
|---|---|
UNKNOWN_RESULT |
No establezcas nunca este valor predeterminado. |
SUCCESS |
La notificación del resultado de la captura se procesó correctamente. |