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. Este valor permite utilizar el Wallet de Tokens documentado aquí.

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