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.
-
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"
}