Servicio de confirmación de pago con dos tarjetas.

Después de crear y realizar un pago con múltiples métodos de pago pendientes de confirmación, el comerciante debe llamar al servicio de confirmación con múltiples métodos de pago para confirmarlo o deshacerlo utilizando el mismo NIT obtenido en el primer paso del flujo (es decir, el NIT de la primera transacción ).

Flujo#

El flujo de confirmación de pago con múltiples métodos de pago difiere de la confirmación normal por dos razones.

La primera razón es que tenemos dos transacciones para la misma llamada y cada una de ellas sirve para confirmar una de las formas de pago informadas.

La segunda razón es que la respuesta de confirmación de pago múltiple se compone de las respuestas para cada una de las transacciones. Por lo tanto, habrá situaciones en las que la respuesta de una transacción afectará la respuesta de la otra.

A seguir, cubriremos los escenarios previstos en Portal Carat con más detalle.

Caso de éxito#

Si la primera transacción no se confirma#

Cuando la primera confirmación falla, la segunda transacción se deshará. Se genera una incidencia para el equipo de soporte de Portal Carat y el comerciante, si lo desea, puede ponerse en contacto.

Ejemplo de respuesta#

{
"code": "255",
"message": "Transaction Denied",
"confirmations": [
{
"code": "259",
"message": "Denied transaction",
"payment": {
"authorizer_code": "409",
"authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
"status": "PPC",
"acquirer_id": "414"
}
},
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "200",
"authorizer_message": "Function performed error-free [Cód.: 00]",
"status": "PPN",
"acquirer_id": "414"
}
}
]
}

No confirmar la segunda transacción#

Cuando la segunda confirmación falla, la primera transacción ya está confirmada y la cancelación, si se desea, debe realizarse manualmente , ya sea mediante cancelación REST o el Portal del comerciante. Se genera una incidencia para el equipo de soporte de Portal Carat y el comerciante, si lo desea, puede ponerse en contacto.

Ejemplo de respuesta#

{
"code": "255",
"message": "Transaction Denied",
"confirmations": [
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "200",
"authorizer_message": "Function performed error-free [Cód.: 00]",
"status": "CON",
"acquirer_id": "414"
}
},
{
"code": "259",
"message": "Denied transaction",
"payment": {
"authorizer_code": "409",
"authorizer_message": "Brand / card type is invalid or not supported [Cód.: 5996]",
"status": "PPC",
"acquirer_id": "414"
}
}
]
}

Detalles de la llamada#

  • Recurso: /v1/payments/multiple/{nit}
  • Método HTTP: PUT
  • Formato de solicitud: query string
  • Formato de respuesta: JSON
  • Parámetros de encabezado:
ParámetroDescripciónFormatoObligatorio
merchant_idCódigo de tienda en el Portal Carat. Los códigos de producción y certificación serán diferentes. < 15 ANSI
merchant_keyClave de autenticación para la tienda de Portal Carat. Las claves de producción y certificación serán diferentes. < 80 AN

Ejemplo#

Abajo se muestra un ejemplo de una llamada de servicio de confirmación de pago utilizando la herramienta cURL.

Solicitud:

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/multiple/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr?confirm=true"
--header "merchant_id:xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"confirmations": [
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "130",
"status": "CON",
"acquirer_id": "5"
}
},
{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "130",
"status": "CON",
"acquirer_id": "5"
}
}
]
}

Códigos de respuesta

Ver referencia en Códigos API - Códigos de respuesta

Parámetros de solicitud#

En la tabla abajo, hay una descripción de los parámetros de solicitud para el servicio de confirmación de pago con múltiples métodos de pago:

ParámetroDescripciónFormatoObligatorio
confirmEste campo debe enviarse con el valor true si desea confirmar la transacción, o false si desea deshacer el pago.< 5 T/FSI

Parámetros de respuesta#

Si tiene éxito, el código de respuesta HTTP será 200. Cualquier otro código debe interpretarse como un error. En la tabla abajo se muestra la descripción de los parámetros de respuesta del servicio de confirmación de pago:

ParámetroDescripciónFormato
codeCódigo de respuesta de Portal Carat para el funcionamiento de múltiples métodos de pago. Cualquier código que no sea "0" significa error. Sepa mas.< 4 N
messageMensaje de respuesta de Portal Carat.< 500 AN
confirmations[]
codeCódigo de respuesta de Portal Carat para la operación de confirmación de una de las formas de pago. Cualquier código que no sea 0 significa error. Sepa mas.< 4 N
messageMensaje de respuesta de Portal Carat.< 500 AN
payment
statusStatus de la transacción de pago en Portal Carat. Sepa mas.= 3 AN
authorizer_codeCódigo de respuesta del autorizador. En caso de repetición de confirmación o cancelación, este campo no se devuelve.< 10 AN
authorizer_messageMensaje de respuesta del autorizador. En caso de repetición de confirmación o cancelación, este campo no se devuelve.< 500 AN
acquirer_idCódigo del adquirente utilizado en la transacción. En caso de repetición de confirmación o cancelación, este campo no se devuelve.< 4 N