Servicio de cancelación

Después de obtener un NIT de cancelación en el paso anterior, la tienda puede efectivamente realizar la reversión.

Después de una cancelación exitosa, la transacción de pago cambiará su estado a EST (extornado). Dependiendo de la adquirente, es posible realizar reversiones parciales, es decir, cancelar un importe inferior al pagado. En este caso, la transacción de pago mantendrá el satus CON.

Detalles de la llamada#

  • Recurso: /v1/cancellations/{nit}
  • Método HTTP: PUT
  • Formato da solicitud: JSON
  • Formato da 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 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 cancelación con la herramienta cURL.

Cancelación de pago a través de SiTef#

Solicitud:

Para usar este ejemplo, no olvide definir la variable {{url}} con el valor
esitef-homologacao.softwareexpress.com.br

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

Respuesta:

{
"code":"0",
"message":"OK. Transaction successful.",
"cancellation":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK",
"status":"CON",
"nit":" 1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"09062259711",
"customer_receipt":"=== COMPROVANTE ===",
"merchant_receipt":"=== COMPROVANTE ===",
"authorizer_id":"2",
"acquirer_id":"1005",
"acquirer_name":"Redecard",
"authorizer_date":"09/11/2017T18:23",
"authorization_number":"092423",
"merchant_usn":"9062259711",
"esitef_usn":"171109108051261",
"sitef_usn":"092424",
"host_usn":"999092424 ",
"amount":"1000",
"payment_type":"C",
"issuer":"2",
"authorizer_merchant_id":"000000000000005",
"esitef_date":"09/11/2017T18:23",
"is_host_cancel":"false"
}
}

Cancelación de pago a través de BIN#

Solicitud:

Para usar este ejemplo, no olvide definir la variable {{url}} con el valor
esitef-homologacao.softwareexpress.com.br

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{}
--verbose

Respuesta:

{
"code":"0",
"message":"OK. Transaction successful.",
"cancellation":{
"authorizer_code":"0",
"authorizer_message":"Operation Successful",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"order_id":"10022938077",
"customer_receipt":"=== COMPROVANTE ===",
"merchant_receipt":"=== COMPROVANTE ===",
"authorizer_id":"2",
"acquirer_id":"229",
"acquirer_name":"BIN",
"merchant_usn":"10022938091",
"esitef_usn":"171110108163221",
"amount":"1000",
"payment_type":"C",
"authorizer_merchant_id":"zzzzzzzzzzzzzzzzzz",
"esitef_date":"10/11/2017T14:29",
"is_host_cancel":"false"
}
}

Cancelación a través de host#

Solicitud

Para usar este ejemplo, no olvide definir la variable {{url}} con el valor
esitef-homologacao.softwareexpress.com.br

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"expiry_date":"1222",
"number":"455182001234512345"
},
"amount":"2000",
"acquirer":{
"host_usn":"123123123",
"sitef_usn":"123123",
"authorizer_date":"090917",
"authorizer_id":"1",
"tef_product_code":"0001",
"tef_flow_code":"01",
"authorization_number":"123456"
}
}
--verbose

Respuesta:

{
"code":"0",
"message":"OK. Transaction successful.",
"cancellation":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK!",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"customer_receipt":"=== COMPROVANTE ===",
"merchant_receipt":"=== COMPROVANTE ===",
"authorizer_id":"1",
"acquirer_id":"229",
"acquirer_name":"BIN",
"authorizer_date":"09/11/2017T18:42",
"authorization_number":"092425",
"esitef_usn":"171109108051271",
"sitef_usn":"092425",
"host_usn":"000092425 ",
"amount":"2000",
"payment_type":"C",
"authorizer_merchant_id":"020001355570001",
"esitef_date":"09/11/2017T18:42",
"is_host_cancel":"true"
}
}

Códigos de respuesta

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

Cancelación origen externo#

Solicitud:

Para usar este ejemplo, no olvide definir la variable {{url}} con el valor
esitef-homologacao.softwareexpress.com.br

curl
--request PUT "https://esitef-homologacao.softwareexpress.com.br/e-sitef/api/v1/cancellations/1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr"
--header "Content-Type: application/json"
--header "merchant_id: xxxxxxxxxxx"
--header "merchant_key: xxxxxxxxxxx"
--data-binary
{
"card":{
"expiry_date":"1222",
"number":"455182001234512345"
},
"amount":"2000",
"acquirer":{
"routing_id": "5",
"host_usn":"123123123",
"sitef_usn":"123123",
"authorizer_date":"090917",
"authorizer_id":"2",
"authorization_number":"123456"
}
}
--verbose

Respuesta:

{
"code":"0",
"message":"OK. Transaction successful.",
"cancellation":{
"authorizer_code":"000",
"authorizer_message":"Transacao OK!",
"status":"CON",
"nit":"1234567890abcdefghijklmnopqrstuvwxyz1234567890abcdefghijklmnopqr",
"customer_receipt":"=== COMPROVANTE ===",
"merchant_receipt":"=== COMPROVANTE ===",
"authorizer_id":"2",
"acquirer_id":"1005",
"acquirer_name":"Redecard",
"authorizer_date":"09/11/2017T18:42",
"authorization_number":"092425",
"esitef_usn":"171109108051271",
"sitef_usn":"092425",
"host_usn":"000092425 ",
"amount":"2000",
"payment_type":"C",
"authorizer_merchant_id":"020001355570001",
"esitef_date":"09/11/2017T18:42"
}
}

Parámetros de solicitud#

En la siguiente tabla se muestra la descripción de los parámetros de solicitud de servicio de cancelación:

ParámetroDescripciónFormatoRequerido
amountValor en centavos a cancelar. Es importante tener en cuenta que no todos los adquirentes admiten un extorno con un valor menor que el pago (cancelación parcial).
Si este campo no se envía, Portal Carat utilizará el monto total del pago.
< 12 NNO
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] (soft-descriptor.md) < 30 ANNO
card
numberNúmero de tarjeta del comprador (PAN). Obligatorio al cancelar pagos a través de SiTef. < 19 NCOND.
expiry_dateFecha de vencimiento de la tarjeta en formato "MMAY". Su obligación depende del comprador elegido.= 4 NCOND.
security_codeCódigo de seguridad. Obligatorio en función del contrato firmado con las redes adquirentes. < 5 NCOND.
tokenHASH de una tarjeta almacenada en Pagamento Online. 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 Visa Checkout y Autorizadores VEE (a través de CardSE a través de SiTef).
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
acquirerLos campos de este elemento solo deben enviarse en casos de cancelaciones a través de host, cancelaciones de origen externo o cancelaciones de rutas a través de PayPal.
routing_idInformación de enrutamiento utilizada para pagos realizados fuera de e-SiTef. 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
host_usnNSU del anfitrión / autorizador de la transacción que se cancelará. Obligatorio para cancelaciones a través de host y origen externo.= 20 NCOND.
sitef_usnSiTef NSU de la transacción a cancelar. Obligatorio para cancelaciones a través de host y origen externo.= 6 NCOND.
authorizer_dateFecha efectiva de pago de SiTef en formato "DD / MM / AAAA". Obligatorio para cancelaciones a través de host y origen externo.= 6DCOND.
authorizer_idCódigo de autorizador en el Portal Carat. Debe ser la misma cantidad enviada en el pago. Obligatorio para cancelaciones a través de host y origen externo. < 3 NCOND.
tef_product_codeCódigo de producto TEF obtenido al realizar el pago. Este campo puede recibir los siguientes valores:
0001 - Visa
0080 - Mastercard
Estos valores pueden ser cambiados por Cielo sin previo aviso. Obligatorio para cancelaciones vía host y origen externo para enrutamiento vía Cielo.
< 4 NCOND.
tef_flow_codeCódigo del flujo de TEF obtenido en el pago. Actualmente, este campo solo puede recibir el valor "01" (flujo de crédito). Obligatorio para cancelaciones vía host y origen externo para enrutamiento vía Cielo. < 2 NCOND.
authorization_numberNúmero de autorización de transacción que se cancelará. Obligatorio para cancelaciones a través de host y origen externo. < 60 NCOND.
product_codeCódigo de producto.
Es obligatorio y se usa solo cuando se enruta a través de Marisa.
< 6 NCOND.
refund_typeTipo de reversión que desea realizar en el pago.
Es obligatorio y se usa solo para enrutar a través de Paypal.

Valores permitidos:

Full - Se desea la reversión total del pago.

Partial - Se desea la reversión parcial del pago
< 7 ANCOND.
currency_codeCódigo de moneda que se utilizará en la reversión de acuerdo con ISO 4217. Para Real, el código utilizado es BRL.
Es obligatorio y se utiliza sólo para enrutar a través de Paypal.
< 3 ANCOND.
invoice_idCódigo de pedido para el reembolso del propio comerciante para consultas futuras o seguimiento.
Se usa sólo para enrutar a través de Paypal.
< 127 ANNO
noteMensaje personalizado para recordatorios de devolución de cargo.
Solo se usa para enrutamiento a través de Paypal.
< 256 ANNO
retry_untilFecha y hora límite hasta la que se intentará el extorno. Formato: AAAA-MM-DDTHH: MM: SS.
Se usa solo para enrutar a través de Paypal.
< 20 ANNO
refund_sourceFuente de fondos del comerciante que se utilizará para realizar la reversión.
Se usa solo para enrutar a través de Paypal.

Valores permitidos:

cualquier: el comerciante no tiene preferencia. Se utilizará cualquier fuente de fondos disponible.

default: se utilizará la fuente de fondos configurada en la cuenta del comerciante.

instant: el saldo del comerciante se utilizará como fuente de fondos.

eCheck - La opción “eCheck” se utilizará como fuente de fondos. Si el saldo del comerciante puede cubrir el contracargo, se utilizará el saldo.
< 7 ANNO
merchant_store_detailsInformación sobre el establecimiento del comerciante.
Se usa solo para enrutamiento a través de Paypal.
< 50 ANNO
refund_adviceIndicador para un cliente que ya ha recibido un reembolso por una transacción determinada.
Se usa solo para enrutar a través de Paypal.
< 5 ANNO
refund_item_detailsDetalles del artículo individual tratado en el extorno.
Sólo se usa para enrutar a través de Paypal.
NO
msg_sub_idEste ID identificará de forma única el mensaje y se puede utilizar para solicitar los últimos resultados de una solicitud anterior sin la necesidad de crear una nueva solicitud. Esto se puede hacer, por ejemplo, en llamadas que se cancelaron debido al tiempo de espera o errores durante el proceso.
Sólo se utiliza para enrutamiento a través de Paypal.
< 38 ANNO
terminal_idSe usa si es un punto de venta.
Se usa solo para enrutamiento a través de Paypal.
< 50 ANNO
store_idSe usa si es un punto de venta.
Se usa solo para enrutamiento a través de Paypal.
< 50 ANNO
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
acquirer.submerchant_split[]Consiste en una matriz para transacciones divididas, exclusivo para enrutamiento BIN y Sipag, ambos a través de SiTef . Permite la división de 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_amoutValor de transacción para el establecimiento < 12 NNO
ecomm_pos_refEste campo enviará una identificación que aparecerá en el campo PDV del informe SiTef Web para transacciones de comercio electrónico.< 8 AFNO

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 siguiente tabla se muestra la descripción de los parámetros de respuesta del servicio de cancelación:

ParámetroDescripciónFormato
codeCódigo de respuesta de Portal Carat. Cualquier código que no sea "0" (cero) significa falla. [Más información.] (codigos-da-api.md#codigos-de-resposta) < 4 N
messageMensaje de respuesta de Portal Carat. < 500 AN
cancellation
authorizer_codeCódigo de respuesta del autorizador. < 10 AN
authorizer_messageMensaje de respuesta del autorizador. < 500 AN
statusStatus de la transacción de cancelación de Portal Carat. [Más información.] (codigos-da-api.md#status-de-transacões-do-e-sitef)= 3 AN
nitNúmero de identificación de la transacción de cancelación en el Portal Carat.= 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 momento de la creación de la transacción. < 12 N
amountMonto de cancelación especificado en la tienda (en centavos). < 12 N
sitef_usnNúmero secuencial único de la transacción de cancelación de SiTef.= 6 N
esitef_usnNúmero secuencial único de la transacción de cancelación en el Portal Carat.= 15 N
customer_receiptCupón (a través del cliente). < 4000 AN
merchant_receiptCupón (vía establecimiento). < 4000 AN
authorizer_idCódigo de autorización utilizado en la transacción. < 4 N
acquirer__idCódigo del adquirente utilizado en la transacción. < 4 N
acquirer_nameNombre del adquirente utilizado en la transacción. < 100 AN
authorizer_dateFecha efectiva de cancelación devuelta por el autorizador en formato DD / MM / YYYY'T'HH: mm. Ejemplo: 07/13 / 2017T16: 03= 16 D
authorization_numberNumero de autorización. < 6 AN
host_usnNSU Autorizador. < 20 AN
tidID de transacción en el adquirente. Este campo solo se devuelve en transacciones con adquirentes externos al SiTef. < 40 AN
esitef_dateFecha efectiva de cancelación en el Portal Carat en el formato DD / MM / AAAA'T'HH: mm. Ejemplo: 07/13 / 2017T16: 03= 16 D
issuerCódigo de la marca de la tarjeta devuelto por el autorizador. < 5 AN
authorizer_merchant_idCódigo de afiliación del comerciante con la agencia autorizadora. < 100 AN
is_host_cancelEste campo devolverá el valor "verdadero" en caso de cancelación a través del host. < 5 T / F