Servicio de captura de autorización previa con origen externo

La funcionalidad de captura de fuente externa consiste en realizar la operación de captura de una transacción incluso si no está incluida en los registros de Portal Carat.

Actualmente, esta funcionalidad solo permite la captura de transacciones de autorización previa realizadas en Sitef.

Esta operación tiene un paso adicional en el flujo, en comparación con una captura normal. Se debe crear una captura mediante la operación beginTransaction, que generará un registro en el Portal Carat de una transacción con status = NOV, y devolverá el parámetro nit a la aplicación, que identificará esa transacción.

Creación de captura de fuente externa#

Detalles de la llamada#

  • Característica : /v1/transactions
  • Operación HTTP : POST
  • Formato de solicitud : JSON
  • Formato de respuesta : JSON
  • Parámetros de encabezado :
Nombre del parámetroDescripciónTamañoObligatorio
Content-TypeValor fijo "application/json"= 15 ASi
merchant_idCódigo de tienda en el Portal Carat. Los códigos de producción y certificación serán diferentes≤ 15 ASi
merchant_keyClave de autenticación para la tienda de pagos online. Las claves de producción y certificación serán diferentes.<80 ASi

Ejemplos#

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

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/transactions"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"order_id":"orderID",
"merchant_usn":"20190101",
"amount":"100",
"transaction_type":"capture",
"is_transaction_origin_external": "true"
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"capture": {
"status": "NOV",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "orderID",
"merchant_usn": "20190101",
"amount": "100"
}
}

Parámetros de solicitud#

Nombre del parámetroDescripciónTamañoObligatorio
amountMonto total de la compra (en centavos). Ejemplo: 1,00 = 100 ou 1.100,00 = 110000 – envíe el valor sin la coma y el punto<12NSi
encrypted_cardEste campo debe enviarse con un valor "true" si el número de tarjeta que se enviará en el siguiente paso del flujo utiliza cifrado SiTef.
La opción de enviar la tarjeta encriptada solo será posible con enrutamiento vía SiTef y es necesaria la configuración previa del SiTef en cuestión.
Opções:
1. "true"
2. "false" (valor default)
<5 ANNo
merchant_usnNúmero secuencial único para cada pedido, creado por la tienda.
O 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 la aplicación de la tienda formatee y envíe el campo.
<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.
Si la integración de la Tienda con las redes de adquisición / enrutamiento (Cielo, Redecard, etc.) es vía SiTef (TEF), el campo orderId que tiene una longitud máxima de 40 caracteres, se reducirá a 12 caracteres, debido a una restricción de SiTef. Esta reducción se realizará manteniendo los caracteres de izquierda a derecha (ej .: si un código de pedido ingresado es 12345678901234567890 en Portal Carat, en SiTef será solo 123456789012).
< 40 ANNo
transaction_typeValor fijo "captura"= 7 ASi

| is_transaction_origin_external | Indica si la transacción se originó fuera de PayPal. Valor fijo "true" | = 5 AN | Si | | soft_descriptor | Texto adicional que aparecerá con el nombre del establecimiento en el extracto de la tarjeta de crédito del comprador. Más información | < 22 AN | NO |

Escribe el título del campo "Tamaño":

A = alfanumérico

N = numérico

N A = no utilizado

Parámetros de respuesta#

Nombre del parámetroDescripciónTamaño
codeCódigo de respuesta de Portal Carat. Cualquier código que no sea ‘0’ significa error. Para obtener más información, consulte [Códigos de respuesta] (codigos-da-api.md#response-codes).<4 N
messageMensaje de respuesta de Portal Carat.<500 A
amountMonto de la transacción especificado por la tienda (en centavos) al momento de la creación de la transacción.<12 N
merchant_usnNúmero secuencial único enviado por la tienda al crear la transacción.<12 N
nitIdentificador de la transacción de autorización previa en Pagamento Online.= 64 A
order_idCódigo de pedido enviado por la tienda en la creación de la transacción < 40 AN
statusEstado de la transacción de autorización previa en Portal Carat.= 3 A

Captura de fuente externa efectiva#

La ejecución sigue el mismo flujo de una [captura de transacción originada en el Portal Carat] (pre-autorizacao-rest-capture.md), pero es necesario enviar algunos parámetros más en la solicitud.

Parámetros de solicitud#

ParámetroDescripciónFormatoObligatorio
acquirerLos campos de este elemento solo deben enviarse en casos de captura de origen externo.
routing_idInformación de enrutamiento utilizada para pagos realizados fuera de Portal Carat. Esta información, si se envía, se utiliza para identificar el enrutamiento en SiTef. Esta información solo tiene sentido en transacciones de origen externo. < 5 NNO
authorizer_idCódigo de autorizador en el Portal Carat. Debe ser la misma cantidad enviada en el pago. < 3 NSi
host_usnNSU del anfitrión / autorizador de la transacción que se cancelará.= 9 NSi
authorization_numberNúmero de autorización de la transacción a cancelar. < 6 NSi
authorizer_dateFecha efectiva de pago de SiTef en formato "DD / MM / AAAA".= 10 DSi
order_idCódigo de pedido utilizado en la autorización previa iniciada fuera de PayPal. < 40 ANNo
identification_numberCPF o CNPJ utilizados en la autorización previa iniciada externamente a Portal Carat. < 20 ANSi
terminalTerminal SiTef que desea utilizar. Si no se envía, Portal Carat generará una terminal aleatoria.= 8 ANNo
company_codeCódigo de la empresa SiTef que desea utilizar. Si no se envía, Portal Carat enviará el código de empresa registrado en la tienda.= 8 NNo

Escribe el título del campo "Tamaño":

A = alfanumérico

N = numérico

N A = não utilizado

Nota:#

1 - Cuando se envía información de terminal y company_code, el comportamiento de cardquery cambia ligeramente. En este momento, al ejecutar la cardquery, Portal Carat identificará la red devuelta por SiTef. Una vez identificado, se utilizará en lugar de registrarse en la tienda.

2 - En operaciones de origen externo, no podemos validar la red que se utilizó en la parte externa de la operación, que se realizó fuera de Portal Carat. En estos casos utilizamos la red configurada en SiTef. Debido a esto, los cambios de configuración, si se realizan durante la mitad de la operación, pueden causar solicitudes inválidas o denegadas . Por ejemplo, si se realizó una autorización previa en el medio físico en la red 181 y, antes de finalizar la captura, se cambia la configuración de SiTef a la red 125, las operaciones que se realicen vía Portal Carat asumirán la red 125.

ATENCIÓN: Los parámetros terminal y company_code deben enviarse simultáneamente.
También es necesario solicitar permiso al equipo de Portal Carat * Permite enviar la Empresa y el Terminal SiTef vía REST *.

Ejemplo#

Solicitud:

curl
--request POST "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/preauthorizations/capture/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"amount": "300",
"installments": "1",
"installment_type": "4",
"card": {
"number": "5555555555555555",
"expiry_date": "1222",
"security_code": "123"
},
"acquirer": {
"authorizer_id": "2",
"authorization_number": 212820,
"identification_number": "11111111555",
"order_id": 1611256811271,
"authorizer_date": "21/01/2021",
"host_usn": 999212820
}
}
--verbose

Respuesta:

{
"code": "0",
"message": "OK. Transaction successful.",
"capture": {
"status": "CON",
"nit": "1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id": "orderID",
"customer_receipt": "=== CUSTOMER RECEIPT ===",
"merchant_receipt": "=== MERCHANT RECEIPT ===",
"authorizer_id": "2",
"acquirer_id": "1005",
"acquirer_name": "Redecard",
"authorizer_code": "000",
"authorizer_message": "Transacao OK.",
"authorizer_date": "21/01/2021T19:40",
"authorizer_merchant_id": "000000000000000",
"authorization_number": "212195",
"esitef_usn": "180921015287704",
"merchant_usn": "20190101",
"sitef_usn": "212195",
"host_usn": "999212195",
"amount": "100",
"payment_type": "C",
"issuer": "2"
}
}