Servicio de ejecución de pagos

Después de consumir el servicio de creación de transacciones y obtener un NIT, puede continuar con el siguiente paso en el flujo: la llamada al servicio de ejecución de pagos. Esta operación también debe consumirse en los flujos de pago programados. En este caso, Portal Carat garantiza que la cita solo se activará si se confirma el pago.

Detalles de la llamada#

  • Recurso: /v1/payments/{nit}
  • Método HTTP: POST
  • Formato de la solicitud: JSON
  • Formato de la 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
comerciante_claveClave de autenticación para la tienda de pagos online. Las claves de producción y certificación serán diferentes. < 80 ANSI
Content-TypeDebe enviarse con el valor application / json.= 15 ANSI

Ejemplos#

A continuación, se muestran algunos ejemplos de llamadas al servicio de pago mediante la herramienta cURL.

Pago con captura automática#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"123"
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "13034649671",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Bin",
"authorizer_date": "13/07/2017T15:52",
"authorization_number": "132030",
"merchant_usn": "13034649671",
"esitef_usn": "170713097340300",
"sitef_usn": "132030",
"host_usn": "999132030",
"payment_date": "13/07/2017T15:52",
"amount": "1000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005"
}
}

Pago con confirmación tardía#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"123"
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "PPC",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "13035748930",
"customer_receipt": "==== CUPOM COMPRADOR ====",
"merchant_receipt": "==== CUPOM ESTABELECIMENTO ====",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Bin",
"authorizer_date": "13/07/2017T15:58",
"authorization_number": "132031",
"merchant_usn": "13035748930",
"esitef_usn": "170713097340340",
"sitef_usn": "132031",
"host_usn": "999132031 ",
"payment_date": "13/07/2017T15:58",
"amount": "1000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005"
}
}

Pago agendado#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"123"
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "13040222890",
"customer_receipt": "==== CUPOM COMPRADOR ====",
"merchant_receipt": "==== CUPOM ESTABELECIMENTO ====",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Bin",
"authorizer_date": "13/07/2017T16:03",
"authorization_number": "132032",
"merchant_usn": "13040222890",
"esitef_usn": "170713097340360",
"sitef_usn": "132032",
"host_usn": "999132032 ",
"payment_date": "13/07/2017T16:03",
"amount": "1000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005"
},
"schedule": {
"status": "ATV",
"sid": "qwertyuiopasdfghjklzxcvbnm0123456789qwertyuiopasdfghjklzxcvbnm01",
"schedule_usn": "170713000000020",
"amount": "900",
"initial_date": "03/08/2017",
"next_date": "03/08/2017",
"number_of_times": "3",
"soft_descriptor": "Assinatura",
"show_times_invoice": "false"
}
}

Pago con tarjeta almacenada#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"token":"g16hJtpdU6XEN3FP-ApQ9pKTGII5Fa9Y12tRX-qfyC-+BUCV5OaFn807zwwOR6rDtKoRnIJg0QbikaJqJqosyQ=="
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "13034649671",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Bin",
"authorizer_date": "13/07/2017T15:52",
"authorization_number": "132030",
"merchant_usn": "13034649671",
"esitef_usn": "170713097340300",
"sitef_usn": "132030",
"host_usn": "999132030",
"payment_date": "13/07/2017T15:52",
"amount": "1000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005"
}
}

Pago con prefijos#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"expiry_date":"1222",
"security_code":"123",
"number":"5555555555555555"
},
"acquirer":{
"prefixes":{
"TRAT":"1"
}
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao OK",
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "21105507366",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Bin",
"authorizer_date": "21/11/2017T10:55",
"authorization_number": "211981",
"merchant_usn": "21105507366",
"esitef_usn": "171121108905100",
"sitef_usn": "211981",
"host_usn": "999211981 ",
"amount": "1000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"payment_date": "21/11/2017T10:55"
}
}

Pago dividido para rutas BIN y Sipag a través de SiTef#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"number":"5555555555555555",
"expiry_date":"1222",
"security_code":"123"
},
"acquirer":{
"submerchant_split":[
{
"submerchant_code":"empresa01",
"submerchant_amount":"10"
},
{
"submerchant_code":"empresa02",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa03",
"submerchant_amount":"20"
},
{
"submerchant_code":"empresa04",
"submerchant_amount":"30"
},
{
"submerchant_code":"empresa05",
"submerchant_amount":"30"
}
]
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "APROVADA",
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"authorizer_id": "1",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "29/03/2019T13:26",
"authorization_number": "000058",
"merchant_usn": "20180809",
"esitef_usn": "190329026585100",
"sitef_usn": "000058",
"host_usn": "003000058 ",
"amount": "13000",
"payment_type": "C",
"issuer": "1",
"authorizer_merchant_id": "000000000000000",
"payment_date": "29/03/2019T13:26"
}
}

Reintentar pago#

Solicitud:

curl --location --request POST 'https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/461e709fee10271129a52abd81b43ab08a777cf029a76c9bc56685d2a18eff40' \
--header 'Content-Type: application/json' \
--header 'merchant_id: LOJABIN' \
--header 'merchant_key: 03FB956839B2303A323D37B2968C76CD6A68EC6A377274F2' \
--data-raw '{
"card": {
"expiry_date": "1023",
"number": "4220619003385567",
"security_code": "123"
}
}'
--verbose

Respuesta:

{
"code": "255",
"message": "Transaction Denied",
"payment": {
"authorizer_code": "XYZ",
"authorizer_message": "NEGADA",
"status": "NEG",
"nit": "461e709fee10271129a52abd81b43ab08a777cf029a76c9bc56685d2a18eff40",
"order_id": "1648150290180",
"authorizer_id": "2",
"acquirer_id": "229",
"acquirer_name": "Bin",
"merchant_usn": "16114726760",
"esitef_usn": "220411095715390",
"sitef_usn": "500211",
"host_usn": "004500211 ",
"amount": "2000001",
"payment_type": "C",
"issuer": "1",
"authorizer_merchant_id": "000000000000000",
"terminal_id": "ES000001",
"retryable_code": "01"
}
}

Pago - Token de marca de tarjeta#

Algunas marcas de tarjetas poseen una solución de tokenización que ofrece el almacenamiento de tarjetas en cajas fuertes en la propia marca, de forma encriptada. Esta tokenización de marca tiene como objetivo mejorar la seguridad y la calidad de la información de la tarjeta transmitida, lo que conduce a posibles aumentos en la conversión de la aprobación por parte de los bancos emisores.

Solicitud:

curl
--request POST 'https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/payments/150533212ef1d2082ccff166fd2fb8d98ae645a541ad8ef54225c320bb0587a6' \
--header 'Content-Type: application/json' \
--header 'merchant_id: **********' \
--header 'merchant_key: **********' \
--data-raw '{
"amount": 3000,
"discount": 0,
"installments": 1,
"installment_type": 4,
"authorizer_id": "2",
"subtotal": 3000,
"card": {
"expiry_date": "1222",
"security_code": "123",
"number": "5555555555555555",
"cryptogram": "ALRzlt6NKQtPAAZAkOuIAAADFA==",
"wallet_type": "network_token"
}
}'
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "Transacao Aprov.",
"status": "CON",
"nit": "7aef0962f2d2ec05c4cd35fd0d91a11fb4a5ce77e9dff69bbb5fc0992d0bc017",
"customer_receipt": "====CUPOM COMPRADOR====",
"merchant_receipt": "====CUPOM ESTABELECIMENTO====",
"authorizer_id": "2",
"acquirer_id": "5",
"acquirer_name": "Bin",
"authorizer_date": "27/12/2022T17:06",
"authorization_number": "276147",
"esitef_usn": "221227000216620",
"sitef_usn": "276147",
"host_usn": "999276147 ",
"amount": "3000",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000005",
"terminal_id": "ES000023",
"payment_date": "27/12/2022T17:06"
}
}

Códigos de respuesta

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

Parámetros de solicitud#

En la siguiente tabla, hay una descripción de los parámetros de solicitud del servicio de pago:

ParámetroDescripciónFormatoObligatorio
authorizer_idCódigo de autorizador en el Portal Carat. Más información.
Si este campo no se envió en la etapa de creación de la transacción, se vuelve obligatorio al momento de consumir el servicio de pago.
< 3 NCOND.
customer_postal_codeCódigo postal (CEP en Brasil) del usuario. Esto debe enviarse para transacciones enrutadas de iCards a través de SiTef, si su colección está indicada en el servicio de búsqueda de tarjetas mediante el campo is_customer_postal_code_required. < 8 NCOND.
mccEl MCC (Merchant Category Code) es un código que clasifica una empresa por el tipo de bienes o productos suministrados. < 4 NNO
subacquirer_merchant_idIdentificación de la tienda en el sub adquirente. < 22 NNO
cardDatos de la tarjeta.
numberNúmero de tarjeta del comprador (PAN).

Token generado por la tarjeta (DPAN) para pago con token de marca de tarjeta. Más información
< 19 N
cryptogramCriptograma generado por la tarjeta.= 28 ASí para pagos con token de marca de tarjeta
expiry_dateFecha de vencimiento de la tarjeta en formato MMAA. Su obligación depende del comprador elegido. En la mayoría de los casos, este campo es obligatorio.= 4 NCOND.
security_codeCódigo de seguridad. Este campo puede no ser obligatorio si la empresa tiene un acuerdo en el contrato firmado con las redes adquirentes, solo para el pago de ciertos segmentos. Sin embargo, es posible configurar el campo obligatorio en la configuración de la tienda, consulte el soporte de Carat para obtener más información.
Importante: un pago con horario agendado implica el almacenamiento de la tarjeta comprador de datos en el entorno de Portal Carat. Sin embargo, por razones de seguridad, el código de seguridad no se puede almacenar. Por tanto, los pagos programados siempre se ejecutarán sin enviar el código de seguridad.
< 5 NCOND.
holderNombre del tarjetahabiente. < 30 ANCOND.
tokenHASH de una tarjeta almacenada en Portal Carat. No está permitido enviar un número de tarjeta abierta (campo número) y una tarjeta almacenada (campo token) en la misma solicitud.= 88 ANNO
wallet_transaction_idID de una transacción de billetera digital. Por ahora, esta funcionalidad solo está disponible para los autorizadores Visa Checkout, VEE (a través de CardSE-SiTef) y Google Pay.
No está permitido enviar un número de tarjeta abierta (campo número), una tarjeta almacenada (campo token) y un wallet_transaction_id en la misma solicitud.
< 25 ANNO
initial_wallet_transaction_idLe dice si la ID de Wallet (wallet_transaction_id) se está utilizando por primera vez. Si es la primera vez, envíe "true"; de lo contrario, envíe "false". < 5 T / FNO
wallet_typeCampo que especifica si la transacción se procesa con PAN o DPAN. Si "tipo" está vacío, el valor predeterminado es PAN (número de tarjeta no tokenizado). Si hay una transacción tokenizada, debes enviar el valor “network_token”.ANNO
external_authenticationEste elemento recibe campos de resultado de autenticación MPI.
versionVersión de 3DS utilizada en el proceso de autenticación (actualmente solo se acepta la versión 2)< 1 ANNO
eciIndicador de comercio electrónico: indica el nivel de seguridad de la transacción con autenticación del titular de la tarjeta< 3 NNO
reference_idIdentificador de la transacción de autenticación del titular de la tarjeta, realizada en un servicio externo a Carat (en nuestro Web Checkout, reference_id está referenciado por ds.transId en el retorno de autenticación de 3DS)< 40 NNO
cavvValor de verificación de autenticación del titular de la tarjeta: código que indica el resultado de la autenticación del titular de la tarjeta.< 40 NNO
acquirerSe requieren datos específicos según el adquirente / enrutamiento.
financing_planCódigo del plan de financiación. Requerido solo para pagos a plazos que devengan intereses enrutados por Via Certa Financiadora a través de SiTef.< 4 NNO
special_codeCódigo de uso general de Conductor / Renner.< 6 NNO
recurrencyFlag que define si se paga y el no. 5 T/FNO
recurrency_tidTID de la primera transacción en repetición. Identificador que diferencia la primera recurrencia de las posteriores. < 16 ANNO
recurrency_original_amountValor original de la transacción que inició la recurrencia. Este valor debe ser informado en todas las recurrencias posteriores. Se usa solo para la recurrencia. Campo utilizado solo en enrutamiento BIN, obligatorio cuando haya recurrencia< 18 ANNO
product_codeCódigo de producto.
Es obligatorio en el enrutamiento vía Marisa.
< 6 NCOND.
terminalTerminal SiTef que desea utilizar. Si no se envía, PayPal generará una terminal aleatoria.= 14 NNO
company_codeCódigo de la empresa SiTef que desea utilizar. Si no se envía, PayPal enviará el código de empresa registrado en la tienda.= 8 NNO
authorization_numberCódigo de Autorización. Obligatorio para el autorizador de Bradescard Voucher< 6 ANCOND.
acquirer.vouchers_filter[]Filtro de Vouchers: elección de cupones que no se aceptarán. Opciones de "Vouchers": 01 - Alimentación, 02 - Comida 03 - Cultura, 04 - Combustible, 05 - Beneficio.
Ejemplo:
No se aceptan cupones: Cultura, Combustible, Beneficio. Debe enviar:
"vouchers_filter": ["03", "04", "05"]
acquirer.prefixesElemento para enviar prefijos SiTef, como CYCLES, CPLANO y VLRADD. Si el prefijo enviado no es compatible con la tarjeta enviada, Portal Carat invalidará la transacción, evitando que se dé una falsa impresión del uso de una determinada funcionalidad.

Ejemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
keyNombre de prefijo.< 1024 ANNO
valueValor de prefijo.< 1024 ANNO
acquirer.submerchant_split[]Consiste en una matriz para pagos divididos, exclusiva para enrutamiento BIN y Sipag, ambos a través de SiTef. Permite dividir partes del monto total del pago entre otras empresas.
El número máximo de elementos permitidos en esta matriz es de 5 elementos. Cada elemento se compone de los campos submechant_code y submerchant_amount.
submerchant_codeCódigo de establecimiento BIN / Sipag< 51 ANNO
submerchant_amountvalor de transacción para el establecimiento< 12 NNO
acquirer.card_on_fileEstá destinado al envío de información específica como, por ejemplo, la autorización de almacenamiento de la tarjeta, confirmando que el titular de la tarjeta ha autorizado el almacenamiento de la misma.
Más información.
usageIndica el uso.
Por ejemplo, en caso de autorización de almacenamiento: authorized
< 11 ANNO
reasonIndica el motivo.
Por ejemplo, en caso de autorización de almacenamiento: card
< 11 ANNO

ATENCIÓN: Los parámetros terminal y company_code solo deben usarse para enrutamiento a través de SiTef y deben enviarse simultáneamente.
También es necesario solicitar permiso al equipo de servicio de Portal Carat Permite el envío de Company y Sitef Terminal vía REST .

Parámetros de respuesta#

Si tiene éxito, el código de respuesta HTTP será "201". Cualquier otro código debe interpretarse como un error. En la siguiente tabla se muestra la descripción de los parámetros de respuesta del servicio de realización de pagos:

ParámetroDescripciónFormato
codeCódigo de respuesta de Portal Carat. Cualquier código que no sea "0" significa error. [Más información.] (Api-codes.md # response-codes) < 4 N
messageMensaje de respuesta de Portal Carat. < 500 AN
payment
authorizer_codeCódigo de respuesta del autorizador. < 10 AN
authorizer_messageMensaje de respuesta del autorizador. < 500 AN
statusEstado de la transacción de pago en Portal Carat. [Más información.] (codigos-da-api.md#status-de-transacões-do-e-sitef)= 3 AN
nitIdentificador de la transacción de pago en PayPal.= 64 AN
order_idCódigo de pedido enviado por la tienda al crear la transacción. < 40 AN
merchant_usnNúmero secuencial único enviado por la tienda al crear la transacción. < 12 N
amountImporte de la compra especificado por la tienda (en centavos) al momento de la creación de la transacción. < 12 N
sitef_usnNúmero secuencial único de la transacción de pago de SiTef.= 6 N
sitef_usnNúmero secuencial único de la transacción de pago en Pagamento Online.= 15 N
customer_receiptCupón (a través del cliente). < 4000 AN
comerciante_receiptCupón (vía establecimiento). < 4000 AN
authorizer_idCódigo de autorización utilizado en la transacción. < 4 N
adquisr_idCódigo del adquirente utilizado en la transacción. < 4 N
adquirr_nameNombre del adquirente utilizado en la transacción. < 100 AN
authorizer_dateFecha de vigencia del pago devuelta por el autorizador en formato DD / MM / AAAA'T'HH: mm. Ejemplo: 07/13 / 2017T16: 03= 16 D
número_autorizaciónNumero de autorización. < 6 AN
host_usnAutorizador NSU.
Advertencia para realizar pagos PIX. Más información
< 15 AN
tidID de transacción en el adquirente. Este campo solo se devuelve en transacciones con adquirentes que no son SiTef. < 40 AN
payment_dateFecha de vigencia del pago en Portal Carat en el formato DD / MM / AAAA'T'HH: mm. Ejemplo: 07/13 / 2017T16: 03= 16 D
issuerMarca el código devuelto por el autorizador. < 5 AN
authorizer_merchant_idCódigo de afiliación del comerciante con la agencia autorizadora. < 100 AN
xidCampo XID devuelto en autenticaciones 3DS o ciertos adquirentes. < 40 AN
balanceSaldo disponible después del pago con tarjetas de regalo.< 12 N
recurrency_tidId. De transacción (TID) de la bandera, que se refiere a la primera transacción de la recurrencia. Solo se devuelve cuando es una recurrencia. < 16 AN
retryable_codeIndicador de reversibilidad de una transacción cuya autorización fue denegada por el autorizador. Este campo será devuelto en la respuesta a la solicitud de pago con tarjeta y deberá ser tomado en cuenta en el mecanismo de reintento de transacciones de la tienda en línea. Códigos válidos:
01 – Transacción denegada reversible, retener más tarde.
02 – Transacción denegada irreversible, no retentiva.
= 2 N
payment.analysis
codeCódigo de respuesta de la operación de análisis de fraude. < 4 N
messageMensaje de respuesta a la operación de análisis de fraude. < 200 AN
statusEstado de transacción de análisis de fraude de Portal Carat. Este campo puede tomar los siguientes valores:
NOV - Nuevo.
EXP - Caducado.
ACC - Aceptado
REJ - Rechazado
REV - En revisión
INV - No válido
= 3 AN
schedule
statusEstado de la agenda en el Portal Carat. [Más información.] (codigos-da-api.md#status-de-agendamento)= 3 AN
sidIdentificador de la transacción de reserva en Portal Carat.= 64 AN
schedule_usnNúmero secuencial único del Portal Carat.= 15 N
authorizer_idCódigo de autorización que se utilizará en pagos programados.

En operaciones con tarjeta tokenizada, si no se informa al autorizador, se utilizará el código autorizador utilizado en el almacenamiento de la tarjeta.
= 4 N
amountCantidad de pagos programados especificados por la tienda (en centavos) en la creación de la transacción. < 12 N
order_idCódigo de pedido enviado por la tienda al crear la transacción. < 40 AN
merchant_usnNúmero secuencial único enviado por la tienda al crear la transacción. < 12 N
initial_dateFecha de ejecución del primer pago programado en formato "DD / MM / AAAA".= 10 D
next_dateFecha de ejecución del próximo pago programado en formato "DD / MM / AAAA".= 10 D
number_of_timesNúmero total de pagamentos agendados. < 3 N
installmentsNúmero de cuotas que se utilizarán para los pagos programados. < 2 N
installment_typeTipo de financiación que se utilizará para los pagos agendados. < 2 N
soft_descriptorTexto adicional que aparecerá con el nombre del establecimiento en el extracto de la tarjeta de crédito del comprador. < 30 AN
show_times_invoicePara agendas de tiempo finitos, si este campo tiene un valor de true , agrega el número de ejecuciones / ejecuciones totales al final del campo soft_descriptor (ejemplo: Suscripción 3/12).< 5 T / F
terminal_idCódigo de terminal utilizado en la transacción< 8 AN
recurrency_tidId. De transacción (TID) de la bandera, que se refiere a la primera transacción de la recurrencia. Solo se devuelve cuando es una recurrencia. < 16 AN

Parámetros de Card-On-File#

Card on File se refiere a transacciones que involucran el almacenamiento de información de tarjetas de crédito para uso futuro. Estas transacciones indican que una tarjeta se ha almacenado de forma segura en un sistema, lo que permite utilizarla más tarde sin tener que volver a introducir los datos de la tarjeta. La opción de almacenar la tarjeta ofrece comodidad a los usuarios al permitirles realizar pagos de transacciones futuras de forma rápida y sencilla. Además, los emisores de tarjetas también pueden utilizar el almacenamiento de información de la tarjeta para el análisis de riesgos y la prevención del fraude, mejorando la seguridad de las transacciones y aumentando la tasa de conversión.

Para las operaciones de Card-On-File, se deben enviar los siguientes parámetros:

acquirer.card_on_file
usageIdentifica el uso- authorized
- first
- subsequent
reasonIdentificar la razón- card
- recurring
- cardholder
- unscheduled

Definiciones#

Se aceptan los siguientes valores para los parámetros usage y reason, dentro de acquirer.card_on_file:

usageDefinición
firstIndicar la primera ocurrencia
subsequentIndicar ocorrencias posteriores de una recurrencia
authorizedPara utilizar junto con el parámetro reason=card para indicar que el titular de la tarjeta ha autorizado el almacenamiento de la misma
reasonDefinición
cardholderCompras posteriores provocadas por el titular de la tarjeta
unscheduledCompras posteriores sin programar
recurringCompras recurrentes programadas
installmentCuota por recurrencia
cardDebe utilizarse junto con el parámetro usage=authorized para indicar que el titular de efectivo ha autorizado el almacenamiento de la tarjeta

MIT y CIT#

Hay dos tipos de transacciones con tarjeta registrada: CIT (Transacción iniciada por el titular de la tarjeta) y MIT (Transacción iniciada por el comerciante)

SiglaDefinición
CITEs cualquier transacción en la que el titular de la tarjeta participa activamente en la transacción, ya sea en una terminal en la tienda o através de una experiencia de pago online.
MITEs una transacción posterior con las credenciales ya almacenadas, para la cual el titular de la tarjeta ha dado su consentimiento previo al comerciante para almacenar las credenciales de pago para uso futuro, sin su participación activa. Tal sería el caso de la facturación automática de los servicios de suscripción, por citar un ejemplo.

Combinaciones válidas#

usagereasonDefinición¿MIT/CIT?
authorizedcardIndica que el titular de la tarjeta ha autorizado el almacenamiento de la tarjetaCIT
firstunscheduledIndica un pago únicoMIT
firstrecurringIndica la primera la primera ocurrencia de una recurrenciaMIT
subsequentrecurringIndica ocurrencias posteriores de una recurrenciaMIT
subsequentcardholderIndica un pago realizado por el usuario con la tarjeta ya almacenadaCIT
subsequentunscheduledIndica una ocurrencia posterior no programada iniciada por el comercianteMIT
subsequentinstallmentIndica cuota por periodicidadMIT

Recurrencia#

Los pagos recurrentes son transacciones con tarjeta de crédito que ocurren periódicamente y se repiten después de un cierto período de tiempo. Un ejemplo común se encuentra en las suscripciones, donde el comprador desea que se le cobre automáticamente, sin tener que volver a ingresar los datos de la tarjeta de crédito para cada transacción. En este tipo de pago, el cliente autoriza previamente cargos periódicos, estableciendo las condiciones y el intervalo de tiempo entre transacciones. Esto proporciona comodidad tanto para el comprador, que no tiene que preocuparse por realizar pagos repetidos manualmente, como para el vendedor, que mantiene una fuente constante de ingresos.

Para operaciones de recurrencia, se deben enviar los siguientes parámetros:

Acquirer
recurrencyIndica que este pago es parte de una recurrencia- true
- false
recurrency_tidTID de la primera transacción que provocó la recurrencia.
recurrency_original_amountValor original de la transacción que originó la recurrencia. Este valor debe ser informado en todas las recurrencias posteriores. Obligatorio solo para ELO
Acquirer.card_on_file
usageIdentifica el uso- first
- subsequent
reasonIdentifica el motivo- recurring
Wallet IDDPAN/Cartera Digital

Ejemplo#

Solicitud original

Para usar este ejemplo y los demás, no olvide establecer la variable {{url}} en el valor
sandbox.ecomm-bin.fiserv.com.br

Pedido:

curl --location 'https://{{url}}/e-sitef/api/v2/payments/'
--header 'Content-Type: application/json'
--header 'merchant_id: xxxxxxxxxxxxxxxxxxxx'
--header 'merchant_key: xxxxxxxxxxxxxxxxxxxx'
--data '{
"merchant_usn": "12050620649",
"order_id":"1686661308079",
"installments": "1",
"installment_type": "4",
"authorizer_id": "41",
"amount": "1100",
"card": {
"expiry_date": "1222",
"security_code": "123",
"number": "5555555555555555",
"cryptogram": "ALRzlt6NKQtPAAZAkOuIAAADFA==",
"wallet_type": "network_token"
},
"acquirer": {
"card_on_file": {
"usage": "authorized",
"reason": "card"
}
}
}'

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "APROVADA",
"status": "CON",
"nit": "402b901d6e3a013467a466c954b8e1634e57ea297983ae9b064e75742cae6538",
"order_id": "1686661308079",
"customer_receipt": " ==== customer recepitp =====",
"merchant_receipt": " ==== merchant receipt =====",
"authorizer_id": "41",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "13/06/2023T10:01",
"authorization_number": "500335",
"merchant_usn": "12050620649",
"esitef_usn": "230613015919750",
"sitef_usn": "500335",
"host_usn": "006500335 ",
"amount": "1100",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000000",
"terminal_id": "ES000005",
"payment_date": "13/06/2023T10:01",
"recurrency_tid": "999988887777666"
}
}

El parámetro recurency_tid de la solicitud anterior se usa en todas las solicitudes posteriores. También tenga en cuenta los parámetros de la estructura card_on_file que cambian en la primera solicitud de la recurrencia y en las solicitudes posteriores (segunda y posteriores).

Primer pago recurrente

Pedido:

curl --location 'https://{{url}}/e-sitef/api/v2/payments/'
--header 'Content-Type: application/json'
--header 'merchant_id: xxxxxxxxxxxxxxxxxxxx'
--header 'merchant_key: xxxxxxxxxxxxxxxxxxxx'
--data '{
"merchant_usn": "12050620649",
"order_id":"1686665131999",
"installments": "1",
"installment_type": "4",
"authorizer_id": "41",
"amount": "1100",
"card": {
"expiry_date": "1222",
"security_code": "123",
"number": "5555555555555555",
"cryptogram": "ALRzlt6NKQtPAAZAkOuIAAADFA==",
"wallet_type": "network_token"
},
"acquirer": {
"card_on_file": {
"usage": "first",
"reason": "recurring"
},
"recurrency": "true",
"recurrency_tid": "999988887777666",
"recurrency_original_amount": "1100"
}
}'

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "APROVADA",
"status": "CON",
"nit": "599b99407d094e9e7f9a13fa6de2b492e7f7f251dca1db17893a94d1fc8d1690",
"order_id": "1686665131999",
"customer_receipt": " ==== customer receipt ====",
"merchant_receipt": " ==== merchant receipt ====",
"authorizer_id": "41",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "13/06/2023T11:05",
"authorization_number": "500337",
"merchant_usn": "12050620649",
"esitef_usn": "230613015921370",
"sitef_usn": "500337",
"host_usn": "006500337 ",
"amount": "1100",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000000",
"terminal_id": "ES000005",
"payment_date": "13/06/2023T11:05"
}
}

Solicitud posterior de recurrencia

Pedido:

curl --location 'https://{{url}}/e-sitef/api/v2/payments/'
--header 'Content-Type: application/json'
--header 'merchant_id: xxxxxxxxxxxxxxxxxxxx'
--header 'merchant_key: xxxxxxxxxxxxxxxxxxxx'
--data '{
"merchant_usn": "12050620649",
"order_id":"1686665569405",
"installments": "1",
"installment_type": "4",
"authorizer_id": "41",
"amount": "1100",
"card": {
"expiry_date": "1222",
"security_code": "123",
"number": "5555555555555555",
"cryptogram": "ALRzlt6NKQtPAAZAkOuIAAADFA==",
"wallet_type": "network_token"
},
"acquirer": {
"card_on_file": {
"usage": "subsequent",
"reason": "recurring"
},
"recurrency": "true",
"recurrency_tid": "999988887777666",
"recurrency_original_amount": "1100"
}
}'

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"authorizer_code": "000",
"authorizer_message": "APROVADA",
"status": "CON",
"nit": "396fce49041532b55d37898039225b6eaed936d1f331232e770475b3ce988809",
"order_id": "1686665569405",
"customer_receipt": " ==== customer receipt ==== ",
"merchant_receipt": " ==== merchant receipt ==== ",
"authorizer_id": "41",
"acquirer_id": "229",
"acquirer_name": "Bin",
"authorizer_date": "13/06/2023T11:12",
"authorization_number": "500338",
"merchant_usn": "12050620649",
"esitef_usn": "230613015921490",
"sitef_usn": "500338",
"host_usn": "006500338 ",
"amount": "1100",
"payment_type": "C",
"issuer": "2",
"authorizer_merchant_id": "000000000000000",
"terminal_id": "ES000005",
"payment_date": "13/06/2023T11:12"
}
}