Devoluciones
(POST/refund)
Es importante para el comercio que los tickets de las operaciones no se repitan en el mismo día para poder identificar las operaciones. Con las devoluciones habrá que tener en cuenta tres formas diferentes de operar, dichas formas serán ejemplificadas:
- Devolución referenciada: En vez de enviar los datos de la tarjeta se envia el identificador de la operación (transaction_id) sobre la que se quiere hacer la devolución. Con este método el importe sera devuelto a la tarjeta utilizada en la operación original.
- Devolución con datos de tarjeta: Se indican explícitamente los datos de la tarjeta y el ticket de la misma.
- Devolución mediante token: Es la misma operación que
Devolución con datos de tarjeta
salvo que en vez de enviar los datos de la tarjeta explícitamente se envia el token asociado a la misma.
Payload
- amount (string, required): Importe de la operación
1000
- currency (string, required): Será valida cualquier moneda definida según el ISO_4217
EUR
- order (string): Ticket de la operación
sipay-order-001
- reconciliation (string): Identificador para la conciliación bancaria (p37)
1234sipay
- transaction_id (string): Identificador de la transacción.
000024899463550243139
- pan (string): Número de la tarjeta
6712009000000458
- month (string): Mes de expiración de la tarjeta
12
- year (string): Año de expiración de la tarjeta
2017
- token(string): Código alfanumérico asociado a los datos de la tarjeta. Sirve para almacenar los datos de la tarjeta en la bóveda segura y facilitar las futuras operaciones con dicha tarjeta sin que los datos de la misma tengan que volver a viajar por la red, securizando así el proceso de compra.
sipay-token-prueba-359ef8ce5c5f4003b71692e446908c27
- fastpay(object):
- request_id(string): Identificador de tarjeta devuelto por FastPay
- formato: [0-9a-fA-F]
- longitud: 32
- request_id(string): Identificador de tarjeta devuelto por FastPay
- catcher (object):
{"token": "1b5925567684485eb1590c105cf8c9ba"}
- custom_01 (string): Campo personalizable
custom_001
- custom_02 (string): Campo personalizable
custom_002
Ejemplo petición - Devolución referenciada
{
"key": "589365da65c48cff87d0874a",
"resource": "359ef8ce5c5f4003b71692e446908c27",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": "1000",
"currency": "EUR",
"order": "sipay-order-001",
"reconciliation": "1234sipay",
"transaction_id": "000024899463550243139",
"custom_01": "custom_001",
"custom_02": "custom_002"
}
}
Ejemplo petición - Devolución con datos de tarjeta**
{
"key": "589365da65c48cff87d0874a",
"resource": "359ef8ce5c5f4003b71692e446908c27",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": "1000",
"currency": "EUR",
"order": "sipay-order-001",
"reconciliation": "1234sipay",
"pan": "6712009000000458",
"month": "12",
"year": "2017",
"custom_01": "custom_001",
"custom_02": "custom_002"
}
}
Ejemplo petición - Devolución mediante token
{
"key": "589365da65c48cff87d0874a",
"resource": "359ef8ce5c5f4003b71692e446908c27",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": "1000",
"currency": "EUR",
"order": "sipay-order-001",
"reconciliation": "1234sipay",
"token": "sipay-token-prueba-359ef8ce5c5f4003b71692e446908c27",
"custom_01": "custom_001",
"custom_02": "custom_002"
}
}
Ejemplo petición - Devolución mediante previa captura de tarjeta en FastPay
{
"key": "589365da65c48cff87d0874a",
"resource": "359ef8ce5c5f4003b71692e446908c27",
"nonce": "1234567890",
"mode": "sha256",
"payload": {
"amount": "1000",
"currency": "EUR",
"order": "sipay-order-001",
"reconciliation": "1234sipay",
"catcher": {
"request_id": "f5a57382056b4383affa3d1aa617118b"
},
"custom_01": "custom_001",
"custom_02": "custom_002"
}
}
Success - 0 - refund
- code (string, required): Código interno de la operación. Dirigirse a Códigos de respuesta
- amount (string, required): Importe de la operación
1000
- currency (string, required): Moneda utilizada en la operación
EUR
- order (string, required): Ticket de la operación
sipay-order-001
- reconciliation (string, required): Identificador para la conciliación bancaria (p37)
1234-sipay
- card_trade (string, required): Emisor de la tarjeta. Solicite más información.
undefined
- card_type (string, required): Tipo de la tarjeta. Solicite más información.
undefined
- transaction_id (string, required): Identificador de la transacción.
000024899463550243139
- masked_card (string, required): Número de la tarjeta enmascarado
6712 00** ****0205
- approval (string, required): Código de aprobación de la entidad
346179
- authorizator (string, required): Entidad autorizadora de la operación
BANCO SANTANDER, S.A.
Ejemplo respuesta
{
"type": "success",
"code": "0",
"detail": "refund",
"description": "Refund processed successfully",
"uuid": "2df61337-c0c5-4b90-ab8c-6098c8b118ce",
"request_id": "5901ba6d7710014a2c89",
"payload": {
"amount": "1000",
"currency": "EUR",
"order": "sipay-order-001",
"reconciliation": "1234sipay",
"card_trade": "undefined",
"card_type": "undefined",
"transaction_id": "000024899463550243139",
"code": "0",
"masked_card": "6712 00** ****0205",
"approval": "346179",
"authorizator": "BANCO SANTANDER, S.A."
}
}