Servicio de creación de transacciones

El consumo del servicio de creación de transacciones es obligatorio en los flujos de pago y programación. Como resultado de esta operación, el comerciante obtendrá un NIT (pago) que será necesario para los siguientes pasos del flujo, así como el uso del servicio de consulta de transacciones.

NIT tiene un límite de tiempo para su uso. Este plazo se configura en Portal Carat, y si se excede, la transacción cambiará de NOV (nuevo) a EXP (vencido), lo que impide futuras operaciones con esta transacción, por lo que es necesario consumir el servicio de creación de transacciones. de nuevo.

Detalles de la llamada#

  • Recurso: /v1/transactions
  • Método HTTP: POST
  • Formato de la solicitud: JSON
  • Formato de la resposta: 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 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 creación de transacciones mediante la herramienta cURL.

Creación de pago con confirmación automática#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1000"
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"status": "NOV",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "12042142155",
"merchant_usn": "12042142155",
"amount": "1000"
}
}

Creación de pagos con confirmación atrasada#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12050620649",
"order_id":"12050620649",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1000",
"additional_data":{
"postpone_confirmation":"true"
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"status": "NOV",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "12050620649",
"merchant_usn": "12050620649",
"amount": "1000"
}
}

Creación de pago con análisis de riesgo #

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn":"12042142155",
"order_id":"12042142155",
"installments":"1",
"installment_type":"4",
"authorizer_id":"2",
"amount":"1000",
"additional_data":{
"payer":{
"name":"Comprador",
"surname":"credito AF",
"email":"compradorteste@live.com",
"city":"Rio de Janeiro",
"state":"RJ",
"address_street_name":"Rua Jupiter",
"address_street_number":"174",
"address_zip_code":"21241140",
"born_date":"1991-01-02T08:30:00",
"address_street_complement":"AP 201",
"address_country":"BRA"
},
"shipment":{
"method":"LOW_COST",
"name":"Sr Comprador Teste",
"phones":[
{
"number":"21114740",
"ddd":"16",
"ddi":"55"
}
],
"receiver_address":{
"complement":"AP 201",
"city":"Rio de Janeiro",
"state":"RJ",
"country":"BRA",
"zip_code":"21241140",
"street_number":"174",
"street_name":"Rua Jupiter"
}
},
"connections":[
{
"from":"RAO",
"to":"SAO",
"flight_date":"2020-01-02T20:15:00"
}
],
"gift":"false",
"browser":{
"email":"compradorteste@live.com",
"agent":"Chrome",
"cookies_accepted":"false",
"host_name":"Teste",
"ip_address":"200.190.150.350"
},
"items":[
{
"title":"ItemTeste",
"quantity":"1",
"id":"1487337308522",
"risk":"HIGH",
"hedge":{
"time":"NORMAL",
"host":"OFF",
"nonSensical":"OFF",
"obscenities":"OFF",
"phone":"OFF",
"velocity":"HIGH"
},
"passenger":{
"name":"Comprador accept",
"email":"compradorteste@live.com",
"rating":"ADULT",
"phone":{
"number":"999994444",
"ddd":"11",
"ddi":"55"
},
"legal_document":"1234567890",
"customer_class":"Gold"
},
"unit_price":"1000",
"category_id":"other",
"gift_category":"OFF"
}
],
"extra_param":{
"acquirer_params":[
{
"key":"95",
"value":"parametros adicionais"
}
]
},
"anti_fraud":"enabled_before_auth",
"anti_fraud_institution":"AUTHORIZER",
"anti_fraud_criteria":"ALWAYS",
"finger_print_id":"074c1ee676ed4998ab66491013c565e2",
"returns_accepted":"true",
"journey_type":"OUTWARD"
}
}
--verbose

Resposta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"status": "NOV",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "12042142155",
"merchant_usn": "12042142155",
"amount": "1000"
}
}

Códigos de respuesta

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

Parámetros de solicitud#

En la siguiente tabla se muestra una descripción de los parámetros de solicitud del servicio de creación de transacciones:

ParámetroDescripciónFormatoRequerido
merchant_usnNúmero secuencial único para cada pedido, creado por la tienda. La NSU se utilizará en todas las comunicaciones con la tienda, con el fin de identificar el pedido. Como esta es una clave posible para el acceso desde el lado de la tienda, aunque es opcional para el Portal Carat, se recomienda encarecidamente que el campo sea formateado e enviado por la aplicación de la tienda.< 12 NNo
order_idCódigo de pedido que se mostrará al comprador, definido por el comerciante. Se recomienda que sea diferente para cada pedido para facilitar la trazabilidad. < 40 ANNo
installmentsNúmero de plazos. Envíe ‘1’ para transacciones en efectivo.< 2 NSi
installment_typeTipo de financiación a plazos:
valor 3 = cuotas con intereses de la compañía de tarjetas.
valor 4 = cuotas realizadas por la tienda y sin intereses (adoptar este valor por patrón/ default para transacciones en efectivo).
Valor 6 = pago a plazos con intereses del administrador (IATA).
valor 7 = pago a plazos realizado por la tienda y sin intereses (IATA).
El pago a plazos de IATA solo es utilizado por empresas en el segmento del transporte aéreo.
< 2 NSi
authorizer_idCódigo de autorizador en el Portal Carat. Más información.

En operaciones con tarjeta tokenizada, si no se informa al autorizador, se utilizará el código autorizador utilizado en el almacenamiento de la tarjeta.
< 3 NNo
amountMonto total de la compra (en centavos). Ejemplo: 1,00 = 100 o 1,100,00 = 110000 - envíe el valor sin la coma y el punto.< 12 NSi
soft_descriptorTexto adicional que aparecerá con el nombre del establecimiento en el extracto de la tarjeta de crédito del comprador. Más información< 25 ANNo
additional_dataElemento para enviar datos adicionales.
postpone_confirmationEste campo debe enviarse con un valor true si se desea un pago con confirmación tardía.< 5 T / FNo
customer_emailPara transacciones REST, envia el comprobante de cliente al e-mail informado.< 50 ANNo
additional_data.payerElemento de envío de datos sobre el comprador.
identification_numberDocumento de identificación del comprador (CPF/RG).< 20 ANNo
store_identificationIdentificación del comprador para el almacenamiento de la tarjeta.
Esta identificación debe ser única para cada usuario de la tienda.
Pero atención, esta garantía de unicidad es responsabilidad exclusiva de la tienda, Portal Carat no realizará ninguna validación.
< 20 ANSí para pagos programados
nameNombre del comprador.< 100 ANNo
surnameApellido del comprador.< 100 ANNo
additional_data.merchantElemento para el envío de datos relativos al comerciante.
emailDirección de correo electrónico del almacenista.< 1024 ANNo
additional_data.extra_param.prefixesElemento para el envío de prefijos SiTef, como CICLOS, CPLANO y VLRADD. Si el prefijo enviado no es compatible con la tarjeta enviada, Carat invalidará la transacción, evitando la falsa impresión del uso de una determinada funcionalidad.

Ejemplo:
{ "key" : "value" } -> { "CICLOS" : "01" }
keyNombre del prefijo.< 1024 ANNo
valueValor del prefijo.< 1024 ANNo

Campos de MCC dinámicos#

Inicialización de preautorización o transacción de pago REST#

Parámetros de solicitud#

Además de los campos mencionados en Servicio de creación de transacciones REST, Los campos siguientes se utilizan en el escenario dinámico específico de MCC de integración con bin:

Elemento para enviar datos adicionales. Elemento de envío de datos referentes al comerciante de un subcomprador.
ParámetroDescripciónFormatoObligatorio
soft_descriptorFrase personalizada que quedará impresa en la factura al portador. Para obtener información sobre el MCC dinámico, equivale al nombre del subinquilino.< 25 AN
additional_data
mccSubstore MCC.= 4 N
subacquirer_merchant_idCódigo de substore. Campo legado!!! Dar preferencia a additional_data.subacquirer_merchant.id< 15 NNO
additional_data.subacquirer_merchant
idCódigo de substore.< 15 N
phone_numberNúmero de teléfono del subinquilino.< 14 ANNO
addressDirección de substore.< 48 ANNO
cityCiudad del subarrendatario.< 13 ANNO
stateEstado de subinquilino, en formato de acrónimo de dos dígitos (ex.: SP).= 2 A
countryPaís del subarrendatario. seguir el modelo ISO 3166-1 alpha-2 (ex.: BR).= 2 A
zip_codeCódigo postal del comerciante.< 9 AN
identification_numberCNPJ del propietario de la sub-tienda.< 18 N
payment_facilitator_idCódigo de facilitador.< 11 N

Ejemplo#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"merchant_usn": "19035815234",
"order_id": "1616438400044",
"installments": "1",
"installment_type": "4",
"authorizer_id": "2",
"amount": "1300",
"soft_descriptor": "L012121",
"additional_data": {
"mcc": "1111",
"subacquirer_merchant": {
"id": "12345",
"address": "Avenida Paulista, 2000",
"city": "São Paulo",
"state": "SP",
"country": "BR",
"zip_code": "01107001",
"identification_number": "53455823000178",
"payment_facilitator_id": "654321",
"phone_number": "+55 11 99999-9999"
}
}
}

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"payment": {
"status": "NOV",
"nit": "6215a32a557f5dc4627b540f517e40abd6a8411cf89a2e073913aa25d7c95590",
"order_id": "1616438400044",
"merchant_usn": "19035815234",
"amount": "1300"
}
}

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 creación de transacciones:

ParámetroDescripciónFormato
codeCódigo de respuesta de Portal Carat. Cualquier código que no sea "0" significa error. Más información.< 4 N
messageMensaje de respuesta de Portal Carat.< 500 AN
payment
statusEstado de la transacción de pago en Portal Carat. Más información.= 3 AN
nitIdentificador de transacción en el Portal Carat (encriptado).= 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
amountMonto total de la compra (en centavos).< 12 N
schedule
sidIdentificador de la transacción de reserva en Portal Carat.= 64 AN
amountMonto programado especificado por la tienda (en centavos) para los pagos.< 12 N
statusEstado de la agenda en el Portal Carat. Más información.= 3 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