Saltar al contenido principal

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á mediante GET.
    • success (string, required): URL a la que se redireccionará si la venta es ok. Contendrá el request_id y se accederá mediante GET.
    • failure (string, required): URL a la que se redireccionará si la venta es ko. Contendrá el request_id y se accederá mediante GET.
  • type (enum[string]): DEFAULT=capture

ParámetroDescripción
autoLa operación se autentica y se autoriza en tiempo de navegador.
captureLa 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ámetroDescripción
#hpp-appPersonalizar el fondo de la pantalla de la info de la compra. Ej: "custom_css": " #hpp-app{background: black;}
.shop__amount__textPersonalizar el texto "Importe total". Ej: "custom_css":".shop__amount__text{font-size:2em !important;color:red !important;}"
.shop__amountPersonalizar importe. Ej: "custom_css":".shop__amount{font-size:2em !important;color:red;}"
.shop__textPersonalizar cabecera carrito. Ej: "custom_css":".shop__text{font-size:2em !important;color:rgb(133, 133, 133);}"
.article__description__detail__namePersonalizar nombre artículos carrito. Ej: "custom_css":".article__description__detail__name{font-size:2em !important;color:red;}"
.article__description__detail__amountPersonalizar importe artículos carrito. Ej: "custom_css":".article__description__detail__amount{font-size:2em !important;color:#FFFFFF;}"
.details__movile__quantityPersonalizar cabecera carrito. Ej: "custom_css":".details__movile__quantity{font-size:2em !important;color:red;}"
.details__movile__total__textPersonalizar texto "Importe total". Ej: "custom_css":".details__movile__total__text{font-size:2em !important;color:red;}"
.details__movile__total__amountPersonalizar importe. Ej: "custom_css":".details__movile__total__amount{font-size:2em !important;color:red;}"
Ejemplo combinado:

"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.
  • 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):
EventoDescripción
payment_wall_loadse ha solicitado la carga del muro de pagos
confirmationconfirmación realizada indiciando que se ha procesado el cobro
payment_wall_loadedcuando el muro de pagos ha terminado la carga (se ha renderizado)
payment_wall_setupse han cargado todos los scripts de los métodos de pago, no se ha renderizado el muro de pagos
payment_wall_drawntodos los métodos de pago se han mostrado por pantalla
payment_wall_payment_okel cobro se ha completado con éxito, se ha realizado la captura de fondos
payment_wall_payment_ok_dccel cobro se ha completado con éxito, se ha realizado la captura de fondos utilizando dcc
payment_wall_payment_kono se ha podido realizar el cobro
payment_wall_kose ha generado algún error en el procesamiento del cobro
payment_wall_capture_kose ha generado algún error en la captura del instrumento de cobro
payment_wall_processing_paymentse está enviando la validación del instrumento de cobro al emisor
payment_wall_execute_paymentse ha solicitado una captura del instrumento de cobro para Apple Pay o Google Pay
payment_wall_process_redirectllegada al comercio desde un método de pago que ha requerido redirección
payment_wall_offers_dccse 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_datase 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 y payment_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 es true.

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