Generar enlace de cobro
POST /payment/api/v1/
Petición
Payload
-
amount (integer, required): Importe de la operación en decimales. 140 serán 1,4€.
-
redirect_after (required): URLs a las que se redireccionará.
- cancel (string, required): URL a la que se redireccionará si el cliente cancela la operación. Contendrá el
request_id
y se accederá medianteGET
. - success (string, required): URL a la que se redireccionará si la venta es ok. Contendrá el
request_id
y se accederá medianteGET
. - failure (string, required): URL a la que se redireccionará si la venta es ko. Contendrá el
request_id
y se accederá medianteGET
.
- cancel (string, required): URL a la que se redireccionará si el cliente cancela la operación. Contendrá el
-
type (enum[string]): DEFAULT=capture
Parámetro | Descripción |
---|---|
auto | La operación se autentica y se autoriza en tiempo de navegador. |
capture | La operación se autentica en tiempo de navegador y solo se autoriza cuando el comercio realiza un confirm. |
-
currency (string): DEFAULT=EUR. Será valida cualquier moneda definida según el ISO_4217.
-
order (string): Ticket de la operación.
-
expiration (integer): DEFAULT=900. Numero de segundos que tarda en expirar la sesión de pago.
-
user_id (string): DEFAULT=0. Identificador del perfil (único) del cliente. Las tarjetas del usuario se guardarán asociadas a ese valor. Este valor debe ser no modificable por el cliente. "0" es un valor reservado que significa no almacenar ni recuperar tarjetas. Este valor permite utilizar el Wallet de Tokens documentado aquí.
-
custom_css (string): CSS personalizado para la página de pago.
Parámetro | Descripción |
---|---|
#hpp-app | Personalizar el fondo de la pantalla de la info de la compra. Ej: "custom_css": " #hpp-app{background: black;} |
.shop__amount__text | Personalizar el texto "Importe total". Ej: "custom_css":".shop__amount__text{font-size:2em !important;color:red !important;}" |
.shop__amount | Personalizar importe. Ej: "custom_css":".shop__amount{font-size:2em !important;color:red;}" |
.shop__text | Personalizar cabecera carrito. Ej: "custom_css":".shop__text{font-size:2em !important;color:rgb(133, 133, 133);}" |
.article__description__detail__name | Personalizar nombre artículos carrito. Ej: "custom_css":".article__description__detail__name{font-size:2em !important;color:red;}" |
.article__description__detail__amount | Personalizar importe artículos carrito. Ej: "custom_css":".article__description__detail__amount{font-size:2em !important;color:#FFFFFF;}" |
.details__movile__quantity | Personalizar cabecera carrito. Ej: "custom_css":".details__movile__quantity{font-size:2em !important;color:red;}" |
.details__movile__total__text | Personalizar texto "Importe total". Ej: "custom_css":".details__movile__total__text{font-size:2em !important;color:red;}" |
.details__movile__total__amount | Personalizar importe. Ej: "custom_css":".details__movile__total__amount{font-size:2em !important;color:red;}" |
"custom_css":".shop__amount__text{font-size:2em !important;color:red !important;} .shop__amount{color:red !important;}"
-
logo (string): Logo URI. Se puede utilizar con data-uris para imágenes en base64.
-
custom_data (object): Datos personalizados desectructurados. Estos datos viajarán en la respuesta al confirmar la operacion ("Paso 3"). Ej:
{"foo":"bar"}
-
cart (array):
- items (object): Carrito de la compra. Se mostrará en la pagina de pagos.
- sku (string): Identificador único del artículo.
- tax (string): Importe de impuestos, en decimales.
- name (string): Nombre del producto.
- quantity (string): Cantidad.
- amount (interger): Importe total del producto (impuestos y envío incluidos).
- image (string): Imagen del producto.
- shipping (string): Importe de envío.
- items (object): Carrito de la compra. Se mostrará en la pagina de pagos.
-
callbacks: Llamda server to server que enviará información del evento especificado en el
when
.- url (string): URL a donde se va a hacer el callback.
- when (enum):
Evento | Descripción |
---|---|
payment_wall_load | se ha solicitado la carga del muro de pagos |
confirmation | confirmación realizada indiciando que se ha procesado el cobro |
payment_wall_loaded | cuando el muro de pagos ha terminado la carga (se ha renderizado) |
payment_wall_setup | se han cargado todos los scripts de los métodos de pago, no se ha renderizado el muro de pagos |
payment_wall_drawn | todos los métodos de pago se han mostrado por pantalla |
payment_wall_payment_ok | el cobro se ha completado con éxito, se ha realizado la captura de fondos |
payment_wall_payment_ok_dcc | el cobro se ha completado con éxito, se ha realizado la captura de fondos utilizando dcc |
payment_wall_payment_ko | no se ha podido realizar el cobro |
payment_wall_ko | se ha generado algún error en el procesamiento del cobro |
payment_wall_capture_ko | se ha generado algún error en la captura del instrumento de cobro |
payment_wall_processing_payment | se está enviando la validación del instrumento de cobro al emisor |
payment_wall_execute_payment | se ha solicitado una captura del instrumento de cobro para Apple Pay o Google Pay |
payment_wall_process_redirect | llegada al comercio desde un método de pago que ha requerido redirección |
payment_wall_offers_dcc | se está solicitando la selección de moneda en un cobro dcc |
payment_wall_set_extra_data | - |
payment_wall_set_extra_headers | - |
payment_wall_set_validation_function | - |
payment_wall_update_extra_data | - |
payment_wall_set_cart_data | se han extraído correctamente los items del carrito de la compra |
payment_wall_token_created | - |
payment_processed | - |
mail_sent | - |
Respuesta
Payload(object)
- url (string): URL indirecta a la página de seleción de metodos de pago.
- payment_methods (object): Métodos de pago disponibles.
- payment_method_name1 (object):
- url: URL directa al método de pago.
- supports_tokenization (boolean):
True
si el método de pago soporta tokenización. - supports_recurring (boolean):
True
si el método de pago soporta pagos recurrentes. - available_card_capturers(emun): Mostrará los wallets soportados y contratados previamente (gpay y apay).
- supports_refund (boolean):
True
si el método de pago soporta devoluciones. - supports_direct_payment (boolean):
True
si el método de pago soporta abrir directamente la pagina del metodo de pago ypayment_method_name1
contendrádirect_url
. - direct_url: URL directa a la pagina del método de pago. Este campo solo viajará en la respuesta si
supports_direct_payment
estrue
.
- payment_method_name1 (object):
Ejemplos
Ejemplo básico
- Petición
{
"key": "{{key}}",
"resource": "{{resource}}",
"mode": "sha256",
"nonce": "123123",
"payload": {
"amount": 15000,
"redirect_after": {
"cancel": "http://httpbin.org/get?type=cancel",
"success": "http://httpbin.org/get?type=ok",
"failure": "http://httpbin.org/get?type=ko"
}
}
}
- Respuesta
{
"type": "resource.status",
"code": "0",
"detail": "Successful payment request.",
"payload": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/fastpay",
"payment_methods": {
"payment_method_name1": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name1",
"supports_card_data": true,
"supports_security_data": true,
"supports_tokenization": true,
"supports_recurring": true,
"available_card_capturers": [
"gpay",
"apay"
],
"supports_refund": true,
"supports_direct_payment": false
},
"payment_method_name2": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name2",
"supports_card_data": false,
"supports_security_data": false,
"supports_tokenization": false,
"supports_refund": false,
"supports_recurring": false,
"available_card_capturers": [],
"supports_direct_payment": true,
"direct_url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name2/direct"
}
}
}
},
"request_id": "6268ee6d5dff38d7bc33dd37",
"uuid": "6268ee6d5dff38d7bc33dd37"
}
Ejemplo Personalizado
- Peticion
{
"key": "{{key}}",
"resource": "{{resource}}",
"mode": "sha256",
"nonce": "123123",
"payload": {
"currency": "EUR",
"custom_css": "body {font-size:1em;}",
"logo": "https://sipay.es/wp-content/uploads/logo.png",
"custom_data": {},
"amount": 15000,
"redirect_after": {
"cancel": "http://httpbin.org/post?type=cancel",
"success": "http://httpbin.org/post?type=ok",
"failure": "http://httpbin.org/post?type=ko"
}
}
}
- Respuesta
{
"type": "resource.status",
"code": "0",
"detail": "Successful payment request.",
"payload": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/fastpay",
"payment_methods": {
"payment_method_name1": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name1",
"supports_card_data": true,
"supports_security_data": true,
"supports_tokenization": true,
"supports_recurring": true,
"available_card_capturers": [
"gpay",
"apay"
],
"supports_refund": true,
"supports_direct_payment": false
},
"payment_method_name2": {
"url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name2",
"supports_card_data": false,
"supports_security_data": false,
"supports_tokenization": false,
"supports_refund": false,
"supports_recurring": false,
"available_card_capturers": [],
"supports_direct_payment": true,
"direct_url": "https://sandbox.sipay.es/payment/api/v1/6268ee6d5dff38d7bc33dd37/payment_method_name2/direct"
}
}
}
},
"request_id": "6268ee6d5dff38d7bc33dd37",
"uuid": "6268ee6d5dff38d7bc33dd37"
}