- 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 al método capture
o asynchronousCapture
.
El valor captureResult
es idempotente para este captureRequestId
, por lo que no se puede cambiar su valor mediante una llamada posterior a este método.
Si el extremo encuentra un error mientras se procesa la solicitud, la respuesta de este extremo será del tipo
.ErrorResponse
Es posible que las respuestas a esta consulta estén vacías si este método no muestra un HTTP 200. El cuerpo de la respuesta está vacío en los casos en que se pueda usar un elemento
con una descripción clara para ayudar a un atacante a comprender el identificador de la cuenta del integrador de pagos de otros integradores. En estos casos, en los que la clave de firma no coincide, no se encontró el identificador del integrador de pago o la clave de encriptación es desconocida, este método mostrará un HTTP 404 con un cuerpo vacío. Si se pudo verificar la firma de la solicitud, se mostrará información adicional sobre el error en el cuerpo de la respuesta.ErrorResponse
Una solicitud de ejemplo se ve de la siguiente manera:
{
"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 |
OBLIGATORIO: Es un 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 |
OBLIGATORIO: Es un identificador único para esta transacción. Este es el Es una string con una longitud máxima de 100 caracteres y contiene solo los caracteres "a-z", "A-Z", "0-9", ":", "-" y "_". |
captureResult |
OBLIGATORIO: Resultado de esta captura. |
paymentIntegratorTransactionId |
OPCIONAL: Este identificador es específico del integrador y lo genera el integrador. Es el identificador por 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 |
OBLIGATORIO: Es el encabezado común para todas las respuestas. |
result |
OBLIGATORIO: Resultado de esta llamada. |
Capturarresultado
Información sobre el resultado final de una captura.
Representación JSON |
---|
{ "captureResultCode": enum ( |
Campos | |
---|---|
captureResultCode |
OBLIGATORIO: Es el código de resultado de esta captura. |
rawResult |
OPCIONAL: Resultado sin procesar de esta captura. Se usa para ayudar a informar el motor de riesgos y las estadísticas de Google. En situaciones de rechazo del código, es posible que se pierdan datos. El integrador puede optar por darle a Google un código sin procesar. Por ejemplo, una puerta de enlace de tarjetas de crédito (el integrador) puede utilizar este campo para comunicar a Google el código de rechazo exacto que se recibió de la red VISA. En ese caso, el Este valor es obligatorio si |
Campo de unión
|
|
transactionMaxLimit |
OPCIONAL: Si Este importe es de micros del mismo objeto |
transactionMinLimit |
OPCIONAL: Si Este importe es de micros del mismo objeto |
currentBalance |
OPCIONAL: Si el resultado es Este valor debe estar en la misma moneda que |
Código de resultado de captura
Códigos de resultado para una captura
Enumeradores | |
---|---|
UNKNOWN_RESULT |
No establezcas 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 transacción para los mensajes del usuario. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
El importe de captura 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 transacción para fines de mensajería del usuario. |
CHARGE_EXCEEDS_DAILY_LIMIT |
No se puede usar la cuenta del usuario para realizar compras en este momento porque se superó el límite diario. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
No se puede usar la cuenta del usuario para realizar compras en este momento porque se superó el 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 tenía el integrador. Este valor de retorno provocará que el instrumento de pago 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 que tiene el integrador y se sospecha que la cuenta tomó el control. Este valor de retorno provocará que el instrumento de pago se cierre con Google. El usuario se verá obligado a agregar un instrumento nuevo. |
ACCOUNT_CLOSED_FRAUD |
Se cerró la cuenta del usuario que tenía el integrador debido a un fraude. Este valor de retorno provocará que el instrumento de pago 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 |
OTP no coincide con lo que envió el integrador. |
OTP_ALREADY_USED |
La OTP ya se usó. |
CAPTURE_REQUEST_EXPIRED |
El integrador tardó demasiado en captar los fondos del usuario. Google tratará el rechazo como un estado final, por lo que el integrador debe asegurarse de que los fondos del usuario no se obtengan más tarde o que el usuario reciba un reembolso automáticamente si la captura se realiza correctamente. |
INVALID_PIN |
El usuario proporcionó un PIN no válido. |
OS_LOCK_FAILED |
Este flujo de pago requiere un desafío de bloqueo del SO, y el usuario no pudo desbloquear el dispositivo. |
PIN_ENTRY_ATTEMPTS_EXHAUSTED |
Este flujo de pago requiere la entrada del PIN del usuario. El usuario no pudo ingresar el PIN suficientes veces que se quedó sin reintentos. |
USER_EXITED_PAYMENT_FLOW |
El usuario canceló el intento de pago completo (ya sea en el bloqueo del SO o en la pantalla de entrada del PIN). |
MONTHLY_FREQUENCY_LIMIT_EXCEEDED |
No se puede usar la cuenta del usuario para realizar compras en este momento porque se superó el límite mensual de intentos de transacción. |
DECLINED_BY_ISSUER |
Este código de rechazo 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 realmente un rechazo. Para Google, esta es una disminución permanente. Si el integrador muestra esto, depende de él rastrear el significado real del código del emisor y reembolsar al usuario si determina que el código es realmente Si este código de rechazo se utiliza para el mismo código subyacente durante más de una cantidad determinada de días, Google lo considerará como un error y lo rastreará según corresponda con respecto a las sanciones contractuales relacionadas con la corrección de errores. |
Resultado sin procesar
Objeto de resultado sin procesar.
Representación JSON |
---|
{ "scope": string, "rawCode": string } |
Campos | |
---|---|
scope |
OPCIONAL: El alcance del rawCode puede estar vacío. |
rawCode |
OBLIGATORIO: Código sin procesar del integrador o los subsistemas que contiene. |
CaptureResultNotificationResultCode.
Códigos de resultado para el método captureResultNotification
Enumeradores | |
---|---|
UNKNOWN_RESULT |
No establezcas este valor predeterminado. |
SUCCESS |
Se procesó correctamente la notificación de captura de resultados. |