API – Developers Docs API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Inglés
API – Developers Docs API – Developers Docs
API – Developers Docs
  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Inglés

Addon Payments

  • Icono de carpeta cerrada Icono de apertura de carpetaIntegraciones
    • Empieza a integrar
      • Bienvenida para las integraciones en CMS
      • Introducción a las integraciones: Hosted, Host2Host y JavaScript
    • Plugins para CMS
      • PrestaShop
        • Instalación y configuración de PrestaShop
        • Errores frecuentes en la instalación y configuración de PrestaShop
        • Gestión de transacciones en PrestaShop
      • WooCommerce
        • Instalación y configuración de WooCommerce
        • Errores frecuentes en la instalación y configuración de WooCommerce
        • Gestión de transacciones en WooCommerce
      • Magento
        • Instalación y configuración de Magento
        • Errores frecuentes en la instalación y configuración de Magento
        • Gestión de transacciones en Magento
      • Salesforce
        • Salesforce Commerce Cloud
    • Tarjetas
      • Integración Hosted
      • Integración Host2Host
      • Integración JavaScript
      • PSD2 y 3DSv2
      • Certificación PCI DSS
    • Complementa tu integración
      • Funcionalidades adicionales
      • Gestión de las notificaciones
      • Complementa la integración JavaScript
      • Personalización de la experiencia de pago
      • Pase a Producción
      • Cifrado, firma y envío de la petición
      • Redirección del cliente
    • Métodos de pago
      • Apple Pay
      • PayByBank
      • Amex
      • PayPal
      • Worldpay
      • Bizum
      • PeX
      • Quix
    • Recursos
      • Glosario
      • Soluciones de pago
      • Códigos de respuesta
      • Códigos de países y estados
      • Códigos de divisa
      • Códigos y validaciones del tipo de documento identificativo
      • Tarjetas para pruebas
    • Herramientas
      • Cifrado y descifrado
      • Postman
      • SDKs
  • Icono de carpeta cerrada Icono de apertura de carpetaPortal BackOffice
    • Guía de uso de Pago por Enlace
    • Consulta de operaciones
    • Creación de usuarios
  • Icono de carpeta cerrada Icono de apertura de carpetaConsultas frecuentes

Bizum

Introducción

Bizum es una solución de pagos instantánea a través de la banca móvil. Permite realizar pagos entre particulares y a determinados comercios. Bizum vincula el número de teléfono del cliente a una cuenta bancaria del banco correspondiente. 

Para que tu comercio pueda usar Bizum con Addon Paymentes, debes:

  • Tener Bizum activado en tu comercio. Si tienes dudas o tienes que activarlo, contacta con el gestor de tu banco.
  • Solicitar al equipo de soporte de Addon Payments la activación y configuración de Bizum en tu TPV Virtual. 

En el caso de los clientes, deben:

  • Tener Bizum activado y correctamente configurado y asociado. Si los clientes tienen dudas con su Bizum, pueden consultar las preguntas frecuentes de la web de Bizum. 

Aquí puedes descargar el PDF de Reglas de Bizum.

Tipo de pagoPagos instantáneos
Países disponiblesEspaña
Divisas disponiblesEuro
Cantidad mínima para pagosDepende de la entidad ordenante
Cantidad máxima para pagosDepende de la entidad ordenante
¿Necesita redirección?Sí, para clientes sin RTP o si desconoces el teléfono del cliente
¿Admite pago en dos fases?Sí
¿Admite devoluciones?Sí, totales y parciales desde el BackOffice o mediante petición H2H

La integración de Bizum permite a tu comercio distintas operativas:

  1. RTP (Ready To Pay): Es una operativa que puede activar el banco al cliente. Agiliza el pago al permitir que el cliente sólo tenga que autorizar la operación desde la aplicación de su banco. Se debe incluir el nº de teléfono en la petición.
  2. Pago en dos fases (autenticación + autorización con captura): En la primera fase, el cliente autentica el pago, pero el importe no se retira de su cuenta. En la segunda fase, autorizas y capturas el importe de la transacción. Ya que la autenticación no bloquea el importe, la autorización posterior no está garantizada.
  3. Devoluciones: Permite devoluciones totales y parciales del importe de la transacción. 

Por último, dispones de una colección Postman donde puedes probar las distintas operativas de Bizum:

  • Postman

Credenciales para pruebas de integración de Bizum

En el entorno de Staging (pruebas) de Addon Payments podrás realizar las transacciones que necesites para verificar que Bizum se ha integrado correctamente.

Necesitas los siguientes datos para realizar pruebas en Bizum:

  • Nº de teléfono: 700000000
  • Importe: En el entorno de Staging (pruebas) el resultado de la transacción cambia según el importe. Estos son los resultados posibles según el importe:
ImporteCliente con BizumCliente con RTPResultado transacción
Importe inferior a 5.00€SíSíAutorizada
Importe igual o superior a 5.00€ e inferior a 10.00€SíSíDenegada
Importe entre 10.00€ y 15.00€SíNoAutorizada
Importe superior a 15.00€SíNoDenegada
Estas credenciales funcionarán siempre y cuando la pasarela de pago esté configurada para operar en el entorno de Staging de AP. Para probar la integración en entorno de Producción necesitarás usar credenciales reales y activas.

Entornos y endpoints: Staging y Producción

Addon Payments cuenta con dos (2) entornos operativos independientes:

Entorno de Staging:

  • Es el primer entorno con el cual entrarás en contacto.
  • Puedes hacer pruebas con las credenciales de la sección anterior.
  • Esto te permite comprobar la correcta gestión de las diferentes casuísticas por parte de tu integración.
  • Las tarjetas y cuentas reales no funcionan.

Entorno de Producción:

  • Es el entorno en el cual las transacciones tienen efectos contables.
  • Únicamente se puede transaccionar con tarjetas y cuentas reales y operativas.

A continuación, tienes los endpoints según el tipo de integración:

EntornoHostedHost2Host
Staginghttps://checkout-stg.addonpayments.com/EPGCheckout/rest/online/tokenize
https://checkout-stg.addonpayments.com/EPGCheckout/rest/online/pay

Producciónhttps://checkout.addonpayments.com/EPGCheckout/rest/online/tokenize
https://checkout.addonpayments.com/EPGCheckout/rest/online/pay

PeticiónEntornoURL
Petición /authStaginghttps://epgjs-mep-stg.addonpayments.com/auth
Petición /chargeStaginghttps://epgjs-mep-stg.addonpayments.com/charge/v2
Petición /authProducciónhttps://epgjs-mep.addonpayments.com/auth
Petición /chargeProducciónhttps://epgjs-mep.addonpayments.com/charge/v2

Integración por Hosted

Con Addon Payments puedes integrar la solución de pago Bizum en integraciones Hosted. Esto puede ser mediante RTP (el cliente autoriza desde su app del banco si tiene esta opción activa) o mediante redirección a una URL de Bizum.

En el cajero de pago, puedes elegir si mostrar sólo la solución de pago Bizum o mostrar todas las que tengas disponibles. Para mostrar sólo Bizum, debes enviar «paymentSolution: bizum». Si no envías este parámetro, se mostrarán todas las soluciones de pago. 

Bizum no es compatible con integraciones en iframe. Si la pasarela de pago está integrada dentro de un iframe y el cliente elige pagar con Bizum, será redirigido automáticamente a la pasarela de Bizum en una nueva pestaña del navegador.

Datos requeridos y opcionales Hosted

Estos son los parámetros requeridos/obligatorios (R) y opcionales (O) para realizar una transacción con Bizum vía Hosted:

CampoFormatoTipoDescripciónEjemplo
merchantIdNumérico entero
4~7 dígitos
REs el indicador de tu comercio en la plataforma de AP. Es facilitado por Soporte en el correo de bienvenida, es común para los dos entornos14983
merchantTransactionIdAlfanumérico
Máx. 12 caracteres
Min. 4 caracteres
No admite caracteres especiales
REs el identificador único de la transacción del comercio. Sirve para que tu plataforma enlace las notificaciones recibidas con el pedido del cliente.pedido91684
amountNumérico decimal
RImporte de la transacción. Si el importe tiene decimales, el separador es un punto (.). No se puede incluir el separador en los millares127.5
currencyAlfabético
3 caracteres
ISO-4217.3
RDivisa de la transacciónEUR
countryAlfabético
3 caracteres
ISO 4217.3
RPaís desde el que se envía la transacciónES
customerIdAlfanumérico
Máx. 80 caracteres
RId. del cliente en tu plataforma de comercio electrónico.A34623
statusURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma de comercio electrónico donde AP enviará la notificación con el estado de la transacción. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/status
successURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es autorizada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/success
errorURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es denegada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/error
cancelURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona el cliente si cancela la transacción durante el proceso de pago. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/cancel
awaitingURL Alfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
R (para clientes con RTP)URL de tu plataforma a la que se redirecciona el cliente si la transacción es por RTP y el cliente tiene que autenticar su transacción en la aplicación del banco. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/awaiting
telephoneAlfanumérico
Máximo 45 caracteres
R (para clientes con RTP)Número de teléfono. Sin el prefijo.700000000
phoneCodePrefijo internacional válidoR (para clientes con RTP con nº extranjero)Prefijo internacional del nº de teléfono del cliente. Sólo es necesario si el nº de teléfono no es español. +33
paymentSolutionAlfanumérico
Máx. 45 caracteres
ONombre de la solución de pago por la cual debe procesarse la transacción. Si quieres que el cliente solo vea Bizum debes incluir este parámetro. bizum
autoCaptureBooleano
– true: Captura automática del importe.
– false: Captura manual.
OEstablece si la transacción será una autorización o una autenticación + autorización y captura. En el último caso, requiere una captura o liberación posterior por parte del comercio.true

Autorización – Sin el teléfono del cliente

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Lanzas una petición sin el nº del cliente y obtienes la URL de redirección.
  2. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  3. Recibes una segunda notificación informando del estado de la transacción.

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pago mediante Bizum sin el nº de teléfono por Hosted. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=4.00&currency
=EUR&country=ES&customerId=000001&statusURL
=https://micomercio.com/recepcion_notificacion.php?tipo?redireccion&successURL
=https://micomercio.com/url-ok.php&errorURL=https://micomercio
.com/url-ko.php&cancelURL=https://micomercio.com/url
-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/tokenize' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: 2aoJ+ha5Ucb4JiXu775OVQ==' \
--form 'merchantId="12345"' \
--form 'encrypted="sHibJ8BRHFklHSLBTo7siFNJFV8LUJrqpWmlj4e9a7FojO1VXAXE55yXTA/qhYR2jT32HwHat63AcF7ZqHFMgAwKfzBwZdB255ioE2hpWaDgS98Tj/RdcjyiwYhcnAmz8+8sXBUSn0sp5gJ4ZTS7aDDQ3pR34sn2KkgKtnDEGh8erCi3v9q88R/BY1P9c9Kpzk4JzsnPlFE5wb3H27XvCiluT08JvsT6TAnq+I6DWxANQLefcNDoMuYnp4z+p1I/5MvZ0nMF7Y4KQCQRPRqSxBkz4I2EM0xGA4ndLnd/kX84hUjoNQgD2Gp/1hSKjYwNc+aZBz71jC3rxr8IASgUX5pj/G7+g1kqqiHxFX5fPrM+rr0pdTHKgD80TGo/q/nqU33Q+JcgQSiq0m/A9dIjDcebp83DwEmazdZaQl9WAXuiLUK/ip/C/wHDbMq34hHrhd8c1xw81Dcc6IsLyNRJ9mxcIpRoF8rpnL2snppTl1nZvQRnp6qn+3DMAHJgsNQPiHPTpU+KCE9tPz0in3KvkBVIbT3quODP/cB7GTOFlTdfKRZRTI/sgLHBcggTaLbYFsXYQ++061fcQPLm1BdnGcvIFy8KbrCL7tiw0tIsyXBCT+ARh+pG/zA+J/7PqKfpP3B5ITQMjg/xlcFl0NdqbkRBW12z7ZQwa6eUzZUneqdXN8rk9dBXZqQsgsMmjqVVRoDWJd2szrFpVTL/YJ+TDcQqPUMH/fMra3o+xyJcSAk=="' \
--form 'integrityCheck="ff80ef8e823c52266145aa01c53bdee5beadfe5f941c2921fc7b037cd06ed605"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redirigir al cliente: 

				
					https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize?token
=3acf6d9e-a58d-4664-b8e4-e4b924f89788&apiVersion=5
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Este es un ejemplo de las notificaciones que recibes. La primera informando de la URL a la que debes redireccionar al cliente y la segunda con el estado de la transacción:

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7740186</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>b3ca7ba7_96c6_4bd3_bbf8_056ab697ab08</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>PENDING</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>26</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7739892</message>
  <operations>
    <operation sorted-order="1">
      <amount>4.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"12%3A18","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949655661825480278698394628084188","Ds_ProcessedPayMethod":"68","Ds_Control_1700824708408":"1700824708408"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
      <transactionId>7739892</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>5d18a222_fbd3_4a46_a1a6_b32c103ea322</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>26</version>
  </workFlowResponse>
</response>
				
			

Autorización – Con el teléfono del cliente

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, se redirigirá al cliente a una URL de Bizum automáticamente, donde deberá autenticar la transacción. 

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos. 

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pago mediante Bizum con el nº de teléfono por Hosted. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=5.00&currency=EUR&country
=ES&customerId=000001&telephone=700000000&statusURL=https://micomercio
.com/recepcion_notificacion.php?tipo?redireccion&successURL
=https://micomercio.com/url-ok.php&errorURL=https://micomercio.com/url-ko
.php&cancelURL=https://micomercio.com/url-cancelacion.php
&awaitingURL=https://micomercio.com/url-espera.php
				
			
				
					curl --location --request POST 'https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/tokenize' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: mx3rdwlpuDA1vM14SFT5bw==' \
--form 'merchantId="12345"' \
--form 'encrypted="/kJtS1WhS33iGLIvOuv7ISPKF4D3lldTzKkEgeuuldajqZJ4jS9Nk1ZU/rpKt1pjxJeXL17eSkVfvA6QhOpnjHr5kr5EpN5zOZ/XmooMSkBN3gbRu23SIUHPuSC00b6ygyr+cU/yUlGeNOQl6OD5iDuJwWN7cV57DmXMtn0w3/4OGKHjZpP0SKBNeuNbwCQkVZ0iYB5rM5ZpRV3oulUbyau2tMGPokUvNWWGjyh6uf1b+BDyTYeINoI0oCDFsJaD6Vpjrw7C8JSSLy441SZW6/7/HEHqd39hsfpFQ7pb3y7GHo+TGGJ6BHi4SfZJ+5PwKasGdzgKvNxzWX4ozRBUpnbQNu44khf1/+NExvYluelD+ilvdkW9Qx5vzEzaO7x99tqk/zttfsq12KTDqaYIiE0y5W+QnyFy/jDPnVWxTivaJzhBqivfE6Mvt9lHC2jORgF6eC6MPStVB84NKvmcyUGSfUgdKoKu1ssT/zSc7IIS8y+Absb6CTX8ErteJCGmywbwu8OAP2+4R67pf/Kzm7XQHx3qgjlULs9TjDN2i+Bc4BV5hjC/ZVwV73R05FD/JufrWMAProhqNMIvRdonGWrjhVvASVTfyRPIhzRdiQD+y92IlU1YHQuapUJAxs7NVOf8rUM9SBxu3IH9JXj7cOP5UkzNVKSqyj0P1AYIlZXo/8e7wCT6tW5Yz1f6xQrAj7RCJXYgaiLpTFzNe9VDkGEYMCF5CI6z2eZmPQBFMsVJtroV3mvgBhRdK6j64utR' \
--form 'integrityCheck="e55c1dae947b376645b8fbd7f3612f0cf63045236c80b643f8335d3c4050ec70"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redirigir al cliente: 

				
					https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize?token
=2166f73d-6412-48d3-b440-6da9a961594b&apiVersion=5
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir:

  • telephone: nº de teléfono del cliente (sin el prefijo).
  • awaitingURL: URL de espera de tu comercio donde redirigir al cliente mientras autentica la transacción en la aplicación de su banco. 
  • phoneCode: Prefijo. Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado (success, cancelled, etc.) de la operación.

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde se redirigirá automáticamente al cliente, y la segunda con indicando el estado de la transacción. 

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 646268629</message>
	<operations>
		<operation sorted-order="1">
			<amount>1.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"20546099","Ds_Currency":"978","Ds_Amount":"100"}</details>
			<merchantTransactionId>20546099</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>20546099</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>646268629</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>8ff71c04_63a7_4adb_a042_7bf4fa4a77cc</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>1.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_Amount":"100","Ds_Currency":"978","Ds_Order":"20546099","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"0","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"93033831588759888194372923850580115","Ds_ProcessedPayMethod":"68","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"Operacion realizada correctamente"}</details>
			<merchantTransactionId>20546099</merchantTransactionId>
			<message>Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
		<paySolTransactionId>93033831588759888194372923850580115</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>646268629</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b297de10_1fb2_41cd_9f76_d3dc443620b8</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>30057</id>
		<name>Bizum</name>
		<version>3</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 646273462</message>
	<operations>
		<operation sorted-order="1">
			<amount>1.0</amount>
			<currency>EUR</currency>
		<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"13%3A31","Ds_SecurePayment":"1","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"Operacion realizada correctamente","Ds_Amount":"100","Ds_Currency":"978","Ds_Order":"20546099","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"312408","Ds_Bizum_CuentaTruncada":"ES72XXXXXXXXXXXXXXXX3604","Ds_Bizum_MobileNumber":"+34700000000","Ds_Bizum_IdOper":"93066994374227726480093163650083665","Ds_ProcessedPayMethod":"68"}</details>
			<merchantTransactionId>20546099</merchantTransactionId>
			<message>Auth Code : 312408 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>SUCCESS</status>
			<transactionId>646273462</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>2723ebd9_2d0b_4f90_a4f5_b2fd7e760edf</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>3</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_RtpStatus":"KO","Ds_RtpResponse":"BIZ00009","Ds_RtpDescription":"Ordenante no encontrado","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"00000001","Ds_Currency":"978","Ds_Amount":"500"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentDetails>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <status>ERROR</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>3100</code>
        <message>Response code not set</message>
        <uuid>4a5d48db_bbbe_4b03_96f2_41ff93744ba6</uuid>
      </respCode>
    </operation>
    <operation sorted-order="2">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7740186</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>b3ca7ba7_96c6_4bd3_bbf8_056ab697ab08</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>PENDING</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>26</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación. 

Pago en 2 pasos – Sin el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior.

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Lanzas una petición sin el nº del cliente y obtienes la URL de redirección.
  2. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  3. Recibes una segunda notificación informando del estado de la transacción. Si ha ido bien, en este caso el estado será «PENDING_CONFIRMATION». 
  4. Capturas el importe de la transacción mediante el portal BackOffice o una solicitud H2H. 

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pre-autorización mediante Bizum sin el nº de teléfono por Hosted. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=10.00&currency
=EUR&country=ES&customerId=000001&autoCapture=false&statusURL
=https://micomercio.com/recepcion_notificacion
.php?tipo?redireccion&successURL=https://micomercio.com/url-ok
.php&errorURL=https://micomercio.com/url-ko.php&cancelURL
=https://micomercio.com/url-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.addonpayments.com/EPGCheckout/rest/online/tokenize' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: 76XOR/DLWobB3LzAjYo9zQ==' \
--form 'merchantId="12345"' \
--form 'encrypted="kRkl1qQfFFloe5IEma51DW8gE7LxBj1FHdSvUTwFhf3uZjpIw/Tt2cwTRPxeCitSuCnEG3o77FuI3jK95yuB6YNnbGCf6i6Q66Gkx8gdIT698uqG7+wzYSu+p35hTHSJ3nENExq+GJlnKAIUIC2V/2Z0uxI0c+BERShgeKQA/nQuJl9yXShR+miisKytyXFUG5rTuhLopwr5xw+Z5Z/WdZi9AHiJojkD6vt6mMRt9i4gmj6MQ9dqUnJV+Hs84tWJVTUtZWCjSeZeS1bps3g0DsVv7XgoeH7GMYkGlUJW2gpErRBfkHk9MvxTL0hGbZPnaxdE/jBDGAHYK0cDdtKX0X5j1KZbXvWnEmw2ntGiMRUFuChywpC1Mdht48ca4Fj9euJnFgThpBtShqKn5pB/SZMNXiAmaQh4//3jw3t8owHalsypYUGT7pLJCgMssBxbY+AO43fg1KfMeUmzqT7LLnVjUwM6MqQ0hs1M1TiyAcNl3Jjkjh05DfDMK+a2mNbalDP9YXFZWOyUJIXTciY8yBIq51g6vOLuoT/l6NC043G4WeyQfdYl9ozw8JDtMUSaxl2xoee9aqbZh9mKp64hKwt7yevAPjasxKA3EarJv//6aHjnQTuPK4TmTTIQgndkLV2sFixICgqmbaWQuLeA3EDoPQ/X/7ZjL5k69Y6sHNfHG5+zcFbcGdKURuWVVULjhUakRPA+XBF5le0O+YnE1GxRrjS1BrZlcPtqwCpX7dKCf2GLlcaAncrAr5VbKMLDFedZwtQx/EdbOX8NuLWvMVF5889fdPyCLnOWDpGaXjM="' \
--form 'integrityCheck="a00d2a830fd1b8829a96e762bf528f5fdf07a4f56f72799fe19b42c1382dca54"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redirigir al cliente: 

				
					https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize
?token=e285f319-3a99-4c04-a4d9-d2b4fa468144&apiVersion=5
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir los opcionales:

  • autoCapture: Establecido como «false».

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Este es un ejemplo de las notificaciones que recibes. La primera informando de que el cliente ha sido redireccionado y la segunda con el estado de la transacción:

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7740186</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>b3ca7ba7_96c6_4bd3_bbf8_056ab697ab08</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>PENDING</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>26</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>PENDING_CONFIRMATION</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H el importe.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Pago en 2 pasos – Con el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior. 

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, se redirigirá al cliente a una URL de Bizum automáticamente, donde deberá autenticar la transacción. 

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos. 

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pre-autorización mediante Bizum con el nº de teléfono por Hosted. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=4.00&currency=EUR&countryz
=ES&customerId=000001&telephone=700000000&autoCapture=false&statusURL
=https://micomercio.com/recepcion_notificacion
.php?tipo?redireccion&successURL=https://micomercio.com/url-ok.php&errorURL
=https://micomercio.com/url-ko.php&cancelURL=https://micomercio.com/url
-cancelacion.php&awaitingURL=https://micomercio.com/url-espera.php
				
			
				
					curl --location --request POST 'https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/tokenize' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: hKPRwTwCpe7LlguwzTI4VA==' \
--form 'merchantId="12345"' \
--form 'encrypted="MaOk+AQO4FcjT0wFeC5TJtOsQp5YMK7BzekTCvKS3+uJGctgZzqxReV9JWunSRHBZe84Q1I3Ru3Ni68LMmdev4PXf1S5a/y9KwkjJMIe1t2xoYzd7SDplpMcoUPTq3QRKpsQvoyGAbISF2ZeeoioeYeZGMlDJvmDEsIvXchgzfGsRlByGkljxz4J1mI343WokLAXOkylrmPbutby1U1rAVkbNtdFUO5+tZwIGGPGX/jcK1fK7A4YhWU/2ErVZ8j0QMA++X+1Rm0BmiUJksXtPWDrMmrSI7qmlPKzx7KUn0M/X+dbFOpo1patwApwEe+KpaeHGlN7rGQiH42zrn+i+yaoAHoRLwvwTpxR1ohUhdUWyC3Jka2/8L9AxwHrm7DeVS2UwAWL2QzxVuX6wuy+RbABA3yZYn8REdwKR49HqrjdxIC+UNsttTwzmcbV6tu9/kwLGdZbRMILlaomYUwEjYDDg0VsKs+LLpL9VVmaJGsmS9AOu8DCC8XzvflA6W6I62sacOR/zERYUWBAVNy8jurlULeGdmMCkUONY9B6LgM9GhgbzvGpEhpmzGy/+sWgvcs9KsNd0vMElehiUzs9O/NVPkHpzEOEEZ0RH5qX3GJn8ZMmhDZ6+MBLL5ceqoP1x0PJQxAQRu0/ZzE808TjfZjlnEFcV5vk3cA9KbvTGYs/IvV+MiTvktRYZt1KuL5nE1zh82e6q0AOqdfjI/xh1BNMntnnNxfEb+JzB44MvYVkWwtU2OovLwi4qIWKojqX"' \
--form 'integrityCheck="40bfd9c4cdd89221b23cc2fea6568b6f23650964c65f75bbebe87b347a7a9231"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redirigir al cliente: 

				
					https://checkout.stg-eu-west3.epgint.com/EPGCheckout/rest/online/detokenize?token
=ef55c255-dd53-4768-a6ee-2dc748fdb99b&apiVersion=5
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir los opcionales:

  • autoCapture: Establecido como «false».
  • telephone: nº de teléfono del cliente (sin el prefijo).
  • awaitingURL: URL de espera de tu comercio donde redirigir al cliente mientras autentica la transacción en la aplicación de su banco. 
  • phoneCode: Prefijo. Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado de la operación. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde se redirigirá automáticamente al cliente, y la segunda con indicando el estado de la transacción. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 646268629</message>
	<operations>
		<operation sorted-order="1">
			<amount>1.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"20546099","Ds_Currency":"978","Ds_Amount":"100"}</details>
			<merchantTransactionId>20546099</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>20546099</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>646268629</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>8ff71c04_63a7_4adb_a042_7bf4fa4a77cc</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>1.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_Amount":"100","Ds_Currency":"978","Ds_Order":"20546099","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"0","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"93033831588759888194372923850580115","Ds_ProcessedPayMethod":"68","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"Operacion realizada correctamente"}</details>
			<merchantTransactionId>20546099</merchantTransactionId>
			<message>Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
		<paySolTransactionId>93033831588759888194372923850580115</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>646268629</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b297de10_1fb2_41cd_9f76_d3dc443620b8</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>30057</id>
		<name>Bizum</name>
		<version>3</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7854833</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.0</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"61659767","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>61659767</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>PENDING_CONFIRMATION</status>
			<transactionId>7854833</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>PENDING_CONFIRMATION</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_RtpStatus":"KO","Ds_RtpResponse":"BIZ00009","Ds_RtpDescription":"Ordenante no encontrado","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"00000001","Ds_Currency":"978","Ds_Amount":"500"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentDetails>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <status>ERROR</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>3100</code>
        <message>Response code not set</message>
        <uuid>4a5d48db_bbbe_4b03_96f2_41ff93744ba6</uuid>
      </respCode>
    </operation>
    <operation sorted-order="2">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7740186</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>b3ca7ba7_96c6_4bd3_bbf8_056ab697ab08</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>PENDING</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>26</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>PENDING_CONFIRMATION</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación. 

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Integración Host2Host

Con Addon Payments puedes integrar la solución de pago Bizum en integraciones Host2Host. Esto puede ser mediante RTP (el cliente autoriza desde su app del banco si tiene esta opción activa) o mediante redirección a una URL de Bizum.

Datos requeridos y opcionales Host2Host

Estos son los parámetros requeridos/obligatorios (R) y opcionales (O) para realizar una transacción con Bizum vía Host2Host:

CampoFormatoTipoDescripciónEjemplo
merchantIdNumérico entero
4~7 dígitos
REs el indicador de tu comercio en la plataforma de AP. Es facilitado por Soporte en el correo de bienvenida, es común para los dos entornos14983
merchantTransactionIdAlfanumérico
Máx. 12 caracteres
Min. 4 caracteres
No admite caracteres especiales
REs el identificador único de la transacción del comercio. Sirve para que tu plataforma enlace las notificaciones recibidas con el pedido del cliente.pedido91684
amountNumérico decimal
RImporte de la transacción. Si el importe tiene decimales, el separador es un punto (.). No se puede incluir el separador en los millares127.5
currencyAlfabético
3 caracteres
ISO-4217.3
RDivisa de la transacciónEUR
countryAlfabético
3 caracteres
ISO 4217.3
RPaís desde el que se envía la transacciónES
customerIdAlfanumérico
Máx. 80 caracteres
RId. del cliente en tu plataforma de comercio electrónico.A34623
paymentSolutionAlfanumérico
Máx. 45 caracteres
RNombre de la solución de pago por la cual debe procesarse la transacción. bizum
statusURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma de comercio electrónico donde AP enviará la notificación con el estado de la transacción. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/status
successURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es autorizada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/success
errorURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es denegada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/error
cancelURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona el cliente si cancela la transacción durante el proceso de pago. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/cancel
telephoneAlfanumérico
Máximo 45 caracteres
R (para clientes con RTP)Número de teléfono. Sin el prefijo.700000000
phoneCodePrefijo internacional válidoR (para clientes con RTP con nº extranjero)Prefijo internacional del nº de teléfono del cliente. Sólo es necesario si el nº de teléfono no es español.+33
autoCaptureBooleanoOEstablece si la transacción será una autorización o pre autorización. En el último caso, requiere una captura o liberación posterior por parte del comercio.True
awaitingURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
OURL de tu plataforma a la que se redirecciona el cliente si la transacción es por RTP y el cliente tiene que autenticar su transacción en la aplicación del banco. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/awaiting

Autorización – Sin el teléfono del cliente

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Lanzas una petición sin el nº del cliente.
  2. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  3. Recibes una segunda notificación informando del estado de la transacción.

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pago mediante Bizum sin el nº de teléfono por Host2Host. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=4.00&currency=EUR&country
=ES&customerId=000001&paymentSolution=bizum&statusURL=https://micomercio
.com?recepcion_notificacion.php&successURL
=https://micomercio.com/url-ok.php&errorURL=https://micomercio.com/url-ko
.php&cancelURL=https://micomercio.com/url-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/pay' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: TQ+v6BeLNBg8JphsymZmvg==' \
--form 'merchantId="12345"' \
--form 'encrypted="HjauGEYGslwi3uJNLBV+dGHjkUO+f9xe0EmV2Mole/xx7f86yA3xXR7o//hJ6FCj4OsjiY2zqLm3PSYgRiYtkaUT/EN3Rl4Yrv/Rv652pDt3ykSXIMpBekSXvbMlf4ANw3u0OHtthDFx3UXnSxsKAEEUWixFVZ+CI817XHJbkTt0AX80fpAxVNEu3rpKnw/5ueqht8G9uPgYucDh35oIJIIUeRNQBND7wcWkJeLRLHhRjrIwAPlo7qIw7Po7n4vOCx6CaGubAFn1ysacbLh1ww7rtiM/oyNvgwuIHiQ7S4p7c0/UAqw+LYMY4nso7/SeRssniKEUON6EtbIiym3KEMIoUxsHtDR+ncldZKltNBMOO95TYJO2uo89OD3JxSbU6UKczFL/bgVkARgR0Zaj1NJu9zWCcCd3TsjhY/efYSgMEzmwxfJklp++dU5Qn3t85i+HSs/WNF8/mHCQz21TpRDC//4+15eLzmyM7rHWB56GGh9BSeTngFcT/i2ggN5ZtUYF21FxoIn2bkcfhR1P/+sa/OdWCinz7faDCfHwUxc+72obyn1/zMbCPapWv05Ti2/F/xQ2+ynT4EwbO6fa4G7W8ASV31l4vId9FBC2OvPI5kpLg6pM0INzbWl571xRh6koGX+9fWHl50HO0KLTIeSYDSDxghIOTBNEx9eQAy6fvZko+W43OLXkA8uoK4IdO8Ir2TBzvG7ETdPJSdcioo44MAIpTbqqN3k/rNaSm8g="' \
--form 'integrityCheck="549a706477ff8b46a6b3b783c1959001e1500ce20d93b8c4dcfe70e34d7cf1c8"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redireccionar al cliente en una primera respuesta en el campo «redirectionResponse»:

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7732053</message>
  <operations>
    <operation sorted-order="1">
      <amount>4.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7732053</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7732053</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>cc9126f1_506e_4cfd_b9f8_08c38ae7ac4e</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>16</version>
  </workFlowResponse>
</response>
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Una vez has redireccionado al cliente a la URL del «redirectionResponse» de la notificación anterior y el cliente completa el pago, recibes una respuesta definitiva con el estado de la transacción: 

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7732338</message>
  <operations>
    <operation sorted-order="1">
      <amount>4.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"17%2F11%2F2023","Ds_Hour":"16%3A43","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11890769189622827914078544055875742","Ds_ProcessedPayMethod":"68","Ds_Control_1700235810623":"1700235810623"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
      <transactionId>7732338</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>1561337c_37cd_455a_9699_f8f697e260b0</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Autorización – Con el teléfono del cliente

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, deberás redirigir al cliente a una URL de Bizum, donde deberá autenticar la transacción.

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos.

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pago mediante Bizum con el nº de teléfono por Host2Host. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=4.00&currency=EUR&country
=ES&customerId=000001&paymentSolution=bizum&telephone=700000000&statusURL
=https://micomercio.com/recepcion_notificacion
.php&successURL=https://micomercio.com/url-ok.php&errorURL
=https://micomercio.com/url-ko.php&cancelURL=https://micomercio.com/url
-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.easypaymentgateway.com/EPGCheckout/rest/online/pay' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: 9TGtX6TDQTiit7gOEfQNcw==' \
--form 'merchantId="12345"' \
--form 'encrypted="75vifOSdutnXj5OTtZRCtc2JMYtx05gc+KScBaPMNYYHP7d2WrDj4XrLWPeYxPIo7a03bVv8t0wTOzIOACVAWyzsJMyMNmaqmOVNQOL+wWbEFBX2d3q/b8KdyPcBq6AR20W0w8ohfXeeQMOMDLBz3LaIiwQ9lJVal+/keOUvhjELpknk6oEpSVP8me7vZQF68DPG3Za1uQ00Pdanyj8SD3dV+LfaVw=="' \
--form 'integrityCheck="5f0b6ba4898696647a39cb3d88db8a10af118b532a5d5d076003c8ef5f87ad1c"'
				
			

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir:

  • telephone: nº de teléfono del cliente (sin el prefijo).
  • phoneCode: Prefijo. Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado (success, cancelled, etc.) de la operación.

Si el cliente tiene RTP activado, recomendamos que cuando el comercio reciba la primera notificación,  añada un aviso para que el cliente sepa que tiene que autenticar la operación en su aplicación del banco. En la imagen puedes ver un ejemplo que puedes adaptar a tu comercio. 

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde deberás redirigir al cliente (campo «redirectionResponse»), y la segunda con indicando el estado de la transacción.

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"42252710","Ds_Currency":"978","Ds_Amount":"400"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>42252710</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>4a2d854d_e7d0_4856_911f_f77f04c8554f</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>4.00</amount>
			<currency>EUR</currency>
		<details>{"Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"0","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"12841438308837499828322983974007788","Ds_ProcessedPayMethod":"68","Ds_Control_1709742417045":"1709742417045","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>SIS-T Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>12841438308837499828322983974007788</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>f255ba0c_77d7_4e35_abe2_c7c5fbb030fa</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>51606</id>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.0</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>SUCCESS</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
  <message>WorkFlow has finished successfully, for transaction Id: 7732326</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_RtpStatus":"KO","Ds_RtpResponse":"BIZ00009","Ds_RtpDescription":"Ordenante no encontrado","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"00000001","Ds_Currency":"978","Ds_Amount":"500"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentDetails>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <status>ERROR</status>
      <transactionId>7732326</transactionId>
      <respCode>
        <code>3100</code>
        <message>Response code not set</message>
        <uuid>01c4d1de_b7ec_45f8_a425_0d6ebb4a63e3</uuid>
      </respCode>
    </operation>
    <operation sorted-order="2">
      <amount>5.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7732326</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7732326</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>f5469c6b_fae9_40b7_a513_0bd03726041c</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>16</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7732326</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"17%2F11%2F2023","Ds_Hour":"16%3A29","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11890682709608412369688904194014401","Ds_ProcessedPayMethod":"68","Ds_Control_1700234947629":"1700234947629"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
      <transactionId>7732326</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>461218f4_3c18_4dbb_98bf_df7db348d863</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación.

Pago en 2 pasos – Sin el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior.

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Lanzas una petición sin el nº del cliente.
  2. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  3. Recibes una segunda notificación informando del estado de la transacción. Si ha ido bien, en este caso el estado será «PENDING_CONFIRMATION». 
  4. Capturas o cancelas el importe de la transacción mediante el portal BackOffice o una solicitud H2H.

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de pre-autorización mediante Bizum sin el nº de teléfono por Host2Host. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=10.00&currency=EUR&country
=ES&customerId=000001&paymentSolution=bizum&autoCapture=false&statusURL
=https://micomercio.com/recepcion_notificacion
.php&successURL=https://micomercio.com/url-ok.php&errorURL
=https://micomercio.com/url-ko.php&cancelURL=https://micomercio.com/url
-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.addonpayments.com/EPGCheckout/rest/online/pay' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: 76XOR/DLWobB3LzAjYo9zQ==' \
--form 'merchantId="12345"' \
--form 'encrypted="kRkl1qQfFFloe5IEma51DW8gE7LxBj1FHdSvUTwFhf3uZjpIw/Tt2cwTRPxeCitSuCnEG3o77FuI3jK95yuB6YNnbGCf6i6Q66Gkx8gdIT698uqG7+wzYSu+p35hTHSJ3nENExq+GJlnKAIUIC2V/2Z0uxI0c+BERShgeKQA/nQuJl9yXShR+miisKytyXFUG5rTuhLopwr5xw+Z5Z/WdZi9AHiJojkD6vt6mMRt9i4gmj6MQ9dqUnJV+Hs84tWJVTUtZWCjSeZeS1bps3g0DsVv7XgoeH7GMYkGlUJW2gpErRBfkHk9MvxTL0hGbZPnaxdE/jBDGAHYK0cDdtKX0X5j1KZbXvWnEmw2ntGiMRUFuChywpC1Mdht48ca4Fj9euJnFgThpBtShqKn5pB/SZMNXiAmaQh4//3jw3t8owHalsypYUGT7pLJCgMssBxbY+AO43fg1KfMeUmzqT7LLnVjUwM6MqQ0hs1M1TiyAcNl3Jjkjh05DfDMK+a2mNbalDP9YXFZWOyUJIXTciY8yBIq51g6vOLuoT/l6NC043G4WeyQfdYl9ozw8JDtMUSaxl2xoee9aqbZh9mKp64hKwt7yevAPjasxKA3EarJv//6aHjnQTuPK4TmTTIQgndkLV2sFixICgqmbaWQuLeA3EDoPQ/X/7ZjL5k69Y6sHNfHG5+zcFbcGdKURuWVVULjhUakRPA+XBF5le0O+YnE1GxRrjS1BrZlcPtqwCpX7dKCf2GLlcaAncrAr5VbKMLDFedZwtQx/EdbOX8NuLWvMVF5889fdPyCLnOWDpGaXjM="' \
--form 'integrityCheck="a00d2a830fd1b8829a96e762bf528f5fdf07a4f56f72799fe19b42c1382dca54"'
				
			

Una vez enviado el POST a Addon Payments, recibirás la URL donde redireccionar al cliente en una primera respuesta en el campo «redirectionResponse»:

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7735944</message>
  <operations>
    <operation sorted-order="1">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7735944</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7735944</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>0536c1aa_486c_43e3_b153_1d6fd08c0be6</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>16</version>
  </workFlowResponse>
</response>
				
			

Para conocer más sobre cuando redireccionar al cliente, visita la sección Redirección del cliente.

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir estos opcionales:

  • autoCapture: Establecido como «false». 

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Cuando el cliente completa el pago recibes una respuesta con el estado de la transacción. La transacción quedará como pendiente de confirmación hasta que captures el importe. 

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>PENDING_CONFIRMATION</status>
      <transactionId>7735944</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H del importe.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Pago en 2 pasos – Con el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior. 

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, se redirigirá al cliente a una URL de Bizum automáticamente, donde deberá autenticar la transacción. 

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos. 

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de pre-autorización mediante Bizum con el nº de teléfono por Host2Host. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&amount=10.00&currency=EUR&country
=ES&customerId=000001&paymentSolution=bizum&telephone=700000000&autoCapture
=false&statusURL=https://micomercio.com/recepcion_notificacion
.php&successURL=https://micomercio.com/url-ok.php&errorURL
=https://micomercio.com/url-ko.php&cancelURL=https://micomercio.com/url
-cancelacion.php
				
			
				
					curl --location --request POST 'https://checkout-stg.addonpayments.com/EPGCheckout/rest/online/pay' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: 76XOR/DLWobB3LzAjYo9zQ==' \
--form 'merchantId="12345"' \
--form 'encrypted="kRkl1qQfFFloe5IEma51DW8gE7LxBj1FHdSvUTwFhf3uZjpIw/Tt2cwTRPxeCitSuCnEG3o77FuI3jK95yuB6YNnbGCf6i6Q66Gkx8gdIT698uqG7+wzYSu+p35hTHSJ3nENExq+GJlnKAIUIC2V/2Z0uxI0c+BERShgeKQA/nQuJl9yXShR+miisKytyXFUG5rTuhLopwr5xw+Z5Z/WdZi9AHiJojkD6vt6mMRt9i4gmj6MQ9dqUnJV+Hs84tWJVTUtZWCjSeZeS1bps3g0DsVv7XgoeH7GMYkGlUJW2gpErRBfkHk9MvxTL0hGbZPnaxdE/jBDGAHYK0cDdtKX0X5j1KZbXvWnEmw2ntGiMRUFuChywpC1Mdht48ca4Fj9euJnFgThpBtShqKn5pB/SZMNXiAmaQh4//3jw3t8owHalsypYUGT7pLJCgMssBxbY+AO43fg1KfMeUmzqT7LLnVjUwM6MqQ0hs1M1TiyAcNl3Jjkjh05DfDMK+a2mNbalDP9YXFZWOyUJIXTciY8yBIq51g6vOLuoT/l6NC043G4WeyQfdYl9ozw8JDtMUSaxl2xoee9aqbZh9mKp64hKwt7yevAPjasxKA3EarJv//6aHjnQTuPK4TmTTIQgndkLV2sFixICgqmbaWQuLeA3EDoPQ/X/7ZjL5k69Y6sHNfHG5+zcFbcGdKURuWVVULjhUakRPA+XBF5le0O+YnE1GxRrjS1BrZlcPtqwCpX7dKCf2GLlcaAncrAr5VbKMLDFedZwtQx/EdbOX8NuLWvMVF5889fdPyCLnOWDpGaXjM="' \
--form 'integrityCheck="a00d2a830fd1b8829a96e762bf528f5fdf07a4f56f72799fe19b42c1382dca54"'
				
			

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir los opcionales:

  • autoCapture: Establecido como «false».
  • telephone: nº de teléfono del cliente (sin el prefijo). 
  • phoneCode: Prefijo. Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado de la operación. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde se redirigirá automáticamente al cliente, y la segunda con indicando el estado de la transacción. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"42252710","Ds_Currency":"978","Ds_Amount":"400"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>42252710</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>4a2d854d_e7d0_4856_911f_f77f04c8554f</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>4.00</amount>
			<currency>EUR</currency>
		<details>{"Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"7","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"12841438308837499828322983974007788","Ds_ProcessedPayMethod":"68","Ds_Control_1709742417045":"1709742417045","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>SIS-T Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>12841438308837499828322983974007788</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>f255ba0c_77d7_4e35_abe2_c7c5fbb030fa</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>51606</id>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.0</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>PENDING_CONFIRMATION</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>PENDING_CONFIRMATION</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
  <message>WorkFlow has finished successfully, for transaction Id: 7735875</message>
  <operations>
    <operation sorted-order="1">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_RtpStatus":"KO","Ds_RtpResponse":"BIZ00009","Ds_RtpDescription":"Ordenante no encontrado","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"00000001","Ds_Currency":"978","Ds_Amount":"1000"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentDetails>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <status>ERROR</status>
      <transactionId>7735875</transactionId>
      <respCode>
        <code>3100</code>
        <message>Response code not set</message>
        <uuid>30d01ef5_0151_4133_8f60_abbd447602d6</uuid>
      </respCode>
    </operation>
    <operation sorted-order="2">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7735875</redirectionResponse>
      <status>PENDING</status>
      <transactionId>7735875</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>229fcf71_ddaa_4481_84d0_62e956164a94</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>16</version>
  </workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7735875</message>
	<operations>
		<operation sorted-order="1">
			<amount>10</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>PENDING_CONFIRMATION</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>PENDING_CONFIRMATION</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación. 

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Devoluciones Bizum – H2H

Puedes realizar devoluciones de transacciones Bizum siempre que:

  • La transacción esté autorizada y capturada (estado «success»).

Tienes dos formas de realizar las devoluciones:

  1. Mediante el portal BackOffice, como puedes ver en la sección de Operaciones secundarias.
  2. Mediante el envío de una petición de devolución, como verás a continuación.

Devolución mediante petición

Deberás enviar una petición a este endpoint:

EntornoURL
Staginghttps://checkout-stg.addonpayments.com/EPGCheckout/rest/online/rebate
Producciónhttps://checkout.addonpayments.com/EPGCheckout/rest/online/rebate

Estos son los parámetros requeridos (R) y opcionales (O) para realizar una devolución en Bizum:

Importante: En «paymentSolution» deberás indicar «bizum».

CampoFormatoTipoDescripciónEjemplo
merchantIdNumérico entero
4~7 dígitos
REs el indicador de tu comercio en la plataforma de AP. Es facilitado por Soporte en el correo de bienvenida, es común para los dos entornos14983
transactionIdNumérico entero
Máx. 100 dígitos
RIdentificador de la transacción original sobre la cual va a realizarse una operación secundaria, como captura, liberación o devolución.76543210
paymentSolutionAlfanumérico
Máx. 45 caracteres
RNombre de la solución de pago por la cual ha sido procesada la transacción inicial. Se indica en la respuesta de la transacción original.bizum
merchantTransactionIdAlfanumérico
Máx. 12 caracteres
Min. 4 caracteres
No admite caracteres especiales
RIdentificador de la transacción en tu plataforma de comercio electrónico.
Sirve para que tu plataforma enlace las notificaciones recibidas con el pedido del cliente.
No puede repetirse entre transacciones.
pedido91684
amountNumérico decimal
0~1000000.00
OImporte de la transacción que se va a devolver. No puede exceder el importe total o restante. Si el importe tiene decimales, el separador es un punto (.). No se puede incluir el separador en los millares.2
descriptionMáx. 1000 caracteres
Página de códigos Latin-1 (ISO-8859-1)
ODescripción de la transacción.
Se guarda en los detalles de la transacción y se devuelve en la notificación.
No afecta a la transacción, sirve para que puedas realizar una mejor identificación.
Reembolso tras devolución del cliente

Petición

Recuerda que las peticiones enviadas a Addon Payments deben ser cifradas. Visita nuestra sección de Cifrado, firma y envío de la petición para más información.  

Estos son unos ejemplos de petición de devolución total de una transacción Bizum por H2H. Recuerda que la petición en cadena debe pasar el proceso de cifrado.

				
					merchantId=12345&merchantTransactionId=00000001&paymentSolution=bizum&transactionId=7742316
				
			
				
					curl --location --request POST 'https://checkout-stg.addonpayments.com/EPGCheckout/rest/online/rebate' \
--header 'apiVersion: 5' \
--header 'encryptionMode: CBC' \
--header 'iv: Z7VA6TpG9B84X9x9qqXoWQ==' \
--form 'merchantId="12345"' \
--form 'encrypted="4xUYxJxLc/ABCyqJfwttTalkds3YeijsJe6MlTnC6mgmbm0aXKwhI7thwa70o6lLyjrUtW8fFNUWf/l3jIojR4H5nW54PlVnedKEVhevNJNZ88z6m50W2THtDR70pQq6qjF37NCfOeq/UDCg0RB/MPfYUJRUIsfPk=' \
--form 'integrityCheck="1c256f5b834e5db6d5f453043a8a3830859b308f297cc2cf423064510c5c9b72"'
				
			

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Esta es la notificación recibida a una devolución de Bizum. Si la devolución es parcial, puedes ver el importe inicial y el restante:

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <operations>
    <operation sorted-order="1">
      <amount>4.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"0900","Ds_AuthorisationCode":"000000","Ds_TransactionType":"3","Ds_SecurePayment":"1","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"8926042f-51c4-47ff-8d21-4936faa7d7b","Ds_ProcessedPayMethod":"68","Ds_Control_1701173917133":"1701173917133"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Operation SUCCESS, with Authorization code : 000000</message>
      <operationType>REFUND</operationType>
      <optionalTransactionParams/>
      <originalAmount>4.0</originalAmount>
      <originalCurrency>EUR</originalCurrency>
      <originalTransactionId>7742316</originalTransactionId>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <remainingAmount>0.00</remainingAmount>
      <status>SUCCESS</status>
      <transactionId>7743183</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>5db4ea22_9694_4423_a3ce_911a269b714a</uuid>
      </respCode>
    </operation>
  </operations>
  <status>SUCCESS</status>
</response>
				
			

Integración por JavaScript

Con Addon Payments puedes integrar la solución de pago Bizum en integraciones JavaScript. Esto puede ser mediante RTP (el cliente autoriza desde su app del banco si tiene esta opción activa) o mediante redirección a una URL de Bizum.

Puedes elegir qué cajero de pago mostrar: Completo (todas las soluciones de pago que tengas disponibles) o limitado (en este caso, a bizum). Esto se establece según la función que emplees en el renderizado, como verás a continuación. 

Este es un resumen de la integración de Bizum mediante JavaScript. Puedes obtener más información general en la guía de Complementa JavaScript:

  1. Solicitas un authToken único y de un sólo uso para poder enlazar el cajero en tu web. 
  2. Tu plataforma de comercio electrónico enlaza el cajero de AP en un elemento “div” de tu web mediante la función de carga elegida (cajero completo o cajero limitado).
  3. AP compila el cajero selecciona en el “div” de tu web pasado como parámetro a la función de carga.
  4. El cliente selecciona el método de pago Bizum y pulsa el botón “Pagar”
  5. AP devuelve un “prepayToken” a tu web, el cual deberás capturar mediante un listener de javascript.
  6. Tu plataforma de comercio electrónico recoge el “prepayToken” y envía una petición de cobro a AP que lo contenga.

Bizum no es compatible con integraciones en elementos “div” ni “iframe”. Cuando el cliente inicie el pago, AP devolverá un “prepayToken”. El “prepayToken” se envía en el charge, AP devolverá una URL de redirección a la pasarela de Bizum.

Obtención del authtoken y renderizado del cajero

El primer paso es obtener el «authToken» que nos permitirá renderizar el cajero. Se debe mandar una petición con los datos mínimos que mostramos a continuación:

				
					{
    "merchantId":"12345",
    "merchantKey":"356a8a53-b188-404d-b6c1-5bd44f48066a",
    "productId":"123450001",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "operationType": "debit"
}
				
			
				
					curl --location --request POST 'https://epgjs-mep-stg.addonpayments.com/auth' \
--header 'Content-Type: application/json' \
--data-raw '{
    "merchantId":"12345",
    "merchantKey":"356a8a53-b188-404d-b6c1-5bd44f48066a",
    "productId":"123450001",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "operationType": "debit"
}'
				
			

Si la petición es válida, Addon Payments te devolverá un «authToken» con el que podrás renderizar el cajero en el frontal de tu página. Si la petición no es válida, se devolverá un mensaje como el que ves en la segunda pestaña:

				
					{
    "authToken": "23ed4dda-79f5-4a60-bcc0-52fe2f27b26e"
}
				
			
				
					{
    "error": true,
    "errorMessage": "Invalid merchant id or merchant key",
    "errorCode": 400
}

				
			

Las referencias de autorización recibidas tienen las siguientes características:

  • Validez de 30 minutos.
  • Puede usarse varias veces para enlazar la pasarela de pago.

Parámetros de la solicitud authToken

El tipo indica si el elemento es Requerido/Obligatorio (R) u Opcional (O).

CampoFormatoTipoDescripciónEjemplo
merchantIdNumérico entero
4~7 dígitos
REs el indicador de tu comercio en la plataforma de AP. Es facilitado por Soporte en el correo de bienvenida, es común para los dos entornos14983
merchantKeyAlfanumérico
Formato UUID
REs la contraseña de JavaScript. Se usa para verificar que la petición es legítima. Para el entorno de staging se envía en el correo de bienvenida, en entornos de producción se recupera a través del BackOffice.67a33d37-64b9-408e-a1b7-cef28ef94970
productIdNumérico entero
6~11 dígitos
RIdentificador del producto creado en tu comercio en AP. Es facilitado en el correo de bienvenida.149830
currencyAlfabético
3 caracteres
ISO-4217.3
RDivisa de la transacciónEUR
countryAlfabético
2 caracteres
ISO 3166-1 alfa-2
RPaís desde el que se envía la transacciónES
customerIdAlfanumérico
Máx. 80 caracteres
RId. del cliente en tu plataforma de comercio electrónico.
– Para guardar la tarjeta del cliente, usa el parámetro «forceTokenRequest«, con valor «true» para guardar el token y «false» para no hacerlo.
– Para que el cliente vea o no la opción de recordar su tarjeta, usa el parámetro «showRememberMe«, con valor «true» para mostrarle y «false» para ocultarlo.
A34623
operationTypeAlfanumérico
Máx. 45 caracteres
REspecifica el tipo de operación a realizar. Valores admitidos:
– debit (por defecto): Transacción de pago. Es decir, el efectivo viaja desde la cuenta del cliente al comercio.
– credit: Transacción de ingreso en cuenta del cliente. Es decir, el efectivo viaja desde el comercio hasta la cuenta del cliente. Por ejemplo, en el pago de un premio. No confundir con las devoluciones. Estas tienen su propio tipo de transacción.
debit
showRememberMeValores posibles:
– true: Muestra el checkbox de «Recuérdame», que el cliente puede marcar (o no) para guardar el token de la tarjeta.
– false: No muestra el checkbox de «Recuérdame». Sólo guardará el token de la tarjeta si «forceTokenRequest» es true.
OOculta o muestra el checkbox de «Recuérdame», para que el cliente elija si guardar o no el token de la tarjeta. true
forceTokenRequestBooleano
– true
– false
OIndica si guardar o no el token de la tarjeta del cliente. Si no quieres guardar la tarjeta, usa «false». Si este valor es «true» pero el cliente no marca el check de Recuérdame, no se guardará el token. false

Renderizado del cajero en el frontal

Una vez obtenido el «authToken» podrás renderizar el cajero en el frontal. Recuerda que no es posible renderizar el cajero en un localhost y debes autorizar el dominio desde el panel de control de Addon Payments. Puedes consultar más opciones de renderizado en nuestra guía ampliada sobre JavaScript.

A continuación, te ofrecemos un ejemplo simple que muestra como renderizar el método de pago Bizum:

				
					<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JS render cashier</title>
    <style>
        #render-cashier {
            width: 350px;
            margin-top: 100px;
            border: 1px solid #ccc;
            padding: 20px;
            text-align: center;
        }
    </style>
</head>
<body>
    <div id="render-cashier"></div>
    <script src="https://epgjs-rendercashier-stg.addonpayments.com/js/public/epgjs-4.0.0-min.js"></script>
    <script>
        var authtoken = "39c1cd83-fca9-4073-b056-7fbfe95c9e69"; // Add here your authToken
        function prePayCallback(prepayData) {
            // Show prepayToken This is just for example purposes only and should not be shown to your customer
            alert(JSON.stringify(prepayData, null, 2));
        }
        function displayingMessageOnButtonClick() {
            EPGJS_COMM.setEpgBaseUrl('https://epgjs-web-stg.addonpayments.com/');
            EPGJS.renderIntegratedCashier(authtoken, 'render-cashier', 'bizum');            
            EPGJS_COMM.setMerchantPrePayCallback(prePayCallback);
        }
        window.onload = displayingMessageOnButtonClick;
    </script>
</body>
</html>
				
			

En este código de ejemplo hay 3 funciones obligatorias para el correcto funcionamiento del cajero de JavaScript. Estas son:

1. EPGJS_COMM.setEpgBaseUrl(‘URL base’): Establece la URL a la cual el formulario enviará los datos del cliente. Cambia según el entorno donde estés operando.

2. EPGJS.renderIntegratedCashier: Es la función de renderizado del cajero. Establece cómo se verá el mismo. En este ejemplo, el cajero renderiza sólo bizum. Si quieres cargar todas las soluciones de pago que tengas disponibles, borra ‘bizum’ de «EPGJS.renderIntegratedCashier». Quedaría así:

EPGJS.renderIntegratedCashier(authtoken, 'render-cashier');

3. EPGJS_COMM.setMerchantPrePayCallback(función recepción): Establece la captura de la respuesta, que debemos crear previamente.

Esto te permitirá renderizar el cajero en el div del frontal para que el cliente pueda proceder con el pago. Cuando el cliente proceda con el botón de pago, Addon Payments te devolverá un objeto con el «prepayToken, lo que te permitirá enviar la petición de pago.

Obtención del prepayToken

Cuando el cliente seleccione el pago con Bizum, Addon Payments devolverá un «prepayToken», que deberás usar en el envío de la petición charge, como verás en las operativas siguientes. Este es un ejemplo:

"prePayToken": "8862abf9-ca5a-49da-9527-1e3163e64954"

Tu plataforma debe almacenar este código para continuar con el siguiente paso. Las referencias de autorización recibidas tienen las siguientes características:

  • Validez de 30 minutos.
  • Puede ser usada una única vez para autorizar el pago.

Datos requeridos y opcionales charge JS

Estos son los parámetros requeridos/obligatorios (R) y opcionales (O) para realizar un charge con Bizum vía JavaScript:

CampoFormatoTipoDescripciónEjemplo
prepayTokenAlfanumérico
UUID
RSe envía en la cabecera de la petición.
AP devuelve esta referencia después de que el cliente introduzca sus datos en el formulario de pago de JS. Es la referencia que enlaza con los datos de la tarjeta o cuenta del cliente para integración JavaScript.
97fe3726-adb1-4e24-9fb8-92593a75ae74
merchantIdNumérico entero
4~7 dígitos
REs el indicador de tu comercio en la plataforma de AP. Es facilitado por Soporte en el correo de bienvenida, es común para los dos entornos14983
merchantTransactionIdAlfanumérico
Máx. 12 caracteres
Min. 4 caracteres
No admite caracteres especiales
REs el identificador único de la transacción del comercio. Sirve para que tu plataforma enlace las notificaciones recibidas con el pedido del cliente.pedido91684
amountNumérico decimal
RImporte de la transacción. Si el importe tiene decimales, el separador es un punto (.). No se puede incluir el separador en los millares127.5
currencyAlfabético
3 caracteres
ISO-4217.3
RDivisa de la transacciónEUR
countryAlfabético
3 caracteres
ISO 4217.3
RPaís desde el que se envía la transacciónES
paymentSolutionAlfanumérico
Máx. 45 caracteres
RNombre de la solución de pago por la cual debe procesarse la transacción. bizum
customerIdAlfanumérico
Máx. 80 caracteres
RId. del cliente en tu plataforma de comercio electrónico.A34623
statusURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma de comercio electrónico donde AP enviará la notificación con el estado de la transacción. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/status
successURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es autorizada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/success
errorURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona al cliente si la transacción es denegada. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/error
cancelURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
RURL de tu plataforma a la que se redirecciona el cliente si cancela la transacción durante el proceso de pago. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/cancel
awaitingURLAlfanumérico (caracteres permitidos en URL)
Máx. 2048 caracteres
R (para clientes con RTP)URL de tu plataforma a la que se redirecciona el cliente si la transacción es por RTP y el cliente tiene que autenticar su transacción en la aplicación del banco. Si se envía en la petición, tendrá prioridad sobre la configurada en el Portal BackOffice de Addon Payments. Si no se envía en la petición, se redirigirá al cliente a la URL configurada en el módulo de administración.https://www.example.com/awaiting
telephoneAlfanumérico
Máximo 45 caracteres
R (para clientes con RTP)Número de teléfono. Sin el prefijo.700000000
phoneCodePrefijo internacional válidoR (para clientes con RTP con nº extranjero)Prefijo internacional del nº de teléfono del cliente. Sólo es necesario si el nº de teléfono no es español.+33
autoCaptureBooleano
– true: Captura automática del importe.
– false: Captura manual.
OEstablece si la transacción será una autorización o una autenticación + autorización y captura. En el último caso, requiere una captura o liberación posterior por parte del comercio.true

Charge – Sin el teléfono del cliente

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Obtienes el authToken y renderizas el cajero.
  2. Obtienes el prepayToken.
  3. Lanzas el charge sin el nº del cliente. (estamos aquí)
  4. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  5. Recibes una segunda notificación informando del estado de la transacción.

Petición

Una vez has obtenido el authToken, renderizado el cajero y obtenido el prepayToken, puedes lanzar la petición charge. A continuación, te mostramos un ejemplo de solicitud y respuesta con los campos básicos para Bizum de un charge sin el número de teléfono.

				
					{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "amount":"10.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "productId":"123450001",
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php"
}
				
			
				
					curl --location --request POST 'https://epgjs-mep-stg.addonpayments.com/charge/v2' \
--header 'Content-Type: application/json' \
--header 'prepayToken: 5b16a3a7-745a-490e-be69-4c94632e810d ' \
--data-raw '{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "amount":"10.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "productId":"123450001",
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php"
}'
				
			

Una vez enviado el charge, como no se ha indicado el número de teléfono del cliente, recibirás una primera notificación con una URL para redirigir al cliente y que complete el pago. Esta URL está en el «redirectionResponse»

				
					<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<payfrex-response operation-size=\"1\">
  <message>WorkFlow has finished successfully, for transaction Id: 7748982</message>
  <operations>
    <operation sorted-order=\"1\">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7748982</payFrexTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7748982</redirectionResponse>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>7b57a887_9692_4601_afa5_5484bb0fa01e</uuid>
      </respCode>
      <status>PENDING</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>27</version>
  </workFlowResponse>
</payfrex-response>
				
			

Parámetros del charge

Los parámetros que deben enviar se detallan en la tabla de parámetros del charge. En este caso, son todos los requeridos (R).

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Una vez has redireccionado al cliente a la URL del «redirectionResponse» de la notificación anterior y el cliente completa el pago, recibes una respuesta definitiva con el estado de la transacción: 

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7748985</message>
  <operations>
    <operation sorted-order="1">
      <amount>4.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"01%2F12%2F2023","Ds_Hour":"18%3A07","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"12012235171751293542359516641966458","Ds_ProcessedPayMethod":"68","Ds_Control_1701450461429":"1701450461429"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7748985</payFrexTransactionId>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</payfrex-response>
				
			

Charge – Con el teléfono del cliente

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, deberás redirigir al cliente a una URL de Bizum, donde deberá autenticar la transacción.

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos.

Petición

Una vez has obtenido el authToken, renderizado el cajero y obtenido el prepayToken, puedes lanzar la petición charge. A continuación, te mostramos un ejemplo de solicitud y respuesta con los campos básicos para Bizum de un charge con el número de teléfono.

				
					{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"4.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "telephone":"700000000",
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php",
    "awaitingURL":"https:\/\/micomercio.com\/url-espera.php"
}
				
			
				
					curl --location --request POST 'https://epgjs-mep-stg.addonpayments.com/charge/v2' \
--header 'Content-Type: application/json' \
--header 'prepayToken: 5b16a3a7-745a-490e-be69-4c94632e810d ' \
--data-raw '{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"4.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "telephone":"700000000",
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php",
    "awaitingURL":"https:\/\/micomercio.com\/url-espera.php"
}'
				
			

Parámetros de la solicitud

Los parámetros básicos para enviar una petición en este caso son los Requeridos/Obligatorios (R) de la tabla de datos requeridos y opcionales. 

Además, debes añadir los opcionales:

  • telephone: nº de teléfono del cliente (sin el prefijo).
  • awaitingURL: URL de espera de tu comercio donde redirigir al cliente mientras autentica la transacción en la aplicación de su banco.
  • phoneCode: Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado (success, cancelled, etc.) de la operación.

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde deberás redirigir al cliente (campo «redirectionResponse»), y la segunda con indicando el estado de la transacción.

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"42252710","Ds_Currency":"978","Ds_Amount":"400"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>42252710</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>4a2d854d_e7d0_4856_911f_f77f04c8554f</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>4.00</amount>
			<currency>EUR</currency>
		<details>{"Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"0","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"12841438308837499828322983974007788","Ds_ProcessedPayMethod":"68","Ds_Control_1709742417045":"1709742417045","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>SIS-T Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>12841438308837499828322983974007788</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>f255ba0c_77d7_4e35_abe2_c7c5fbb030fa</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>51606</id>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.0</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>SUCCESS</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<payfrex-response operation-size=\"2\">
  <message>WorkFlow has finished successfully, for transaction Id: 7748661</message>
  <operations>
    <operation sorted-order=\"1\">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <details>{\"Ds_RtpStatus\":\"KO\",\"Ds_RtpResponse\":\"BIZ00009\",\"Ds_RtpDescription\":\"Ordenante no encontrado\",\"Ds_MerchantCode\":\"008043853\",\"Ds_Terminal\":\"050\",\"Ds_Order\":\"00000001\",\"Ds_Currency\":\"978\",\"Ds_Amount\":\"1000\"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <payFrexTransactionId>7748661</payFrexTransactionId>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentDetails>
        <account/>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <respCode>
        <code>3099</code>
        <message>Unidentified error</message>
        <uuid>19dbc45c_f8ac_4d77_bc8e_4c93ad762e35</uuid>
      </respCode>
      <status>ERROR</status>
    </operation>
    <operation sorted-order=\"2\">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7748661</payFrexTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7748661</redirectionResponse>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>7b57a887_9692_4601_afa5_5484bb0fa01e</uuid>
      </respCode>
      <status>PENDING</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>27</version>
  </workFlowResponse>
</payfrex-response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7748661</message>
  <operations>
    <operation sorted-order="1">
      <amount>10.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"01%2F12%2F2023","Ds_Hour":"13%3A28","Ds_SecurePayment":"1","Ds_Amount":"1000","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"0","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"12010557780076608916549134960116084","Ds_ProcessedPayMethod":"68","Ds_Control_1701433687000":"1701433687000"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7748661</payFrexTransactionId>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>SUCCESS</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</payfrex-response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación.

Pago en 2 pasos – Sin el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior.

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si desconoces el nº de teléfono del cliente no puedes incluirlo en la petición. No se podrá comprobar si el cliente tiene RTP activado y la transacción se hará por redirección.

En una primera notificación recibirás en el campo «redirectionResponse» la URL a la que debes redirigir al cliente para completar la operación. Por parte del comercio, debes esperar hasta recibir una segunda notificación con el resultado de la transacción. 

A continuación, tienes un resumen del flujo de la transacción:

  1. Obtienes el authToken y renderizas el cajero.
  2. Obtienes el prepayToken.
  3. Lanzas el charge sin el nº del cliente. (estamos aquí)
  4. Recibes una primera notificación informando de la URL de Bizum a la que debes redirigir al cliente para completar la transacción.
  5. Recibes una segunda notificación informando del estado de la transacción. Si ha ido bien, en este caso el estado será «PENDING_CONFIRMATION». 
  6. Capturas o cancelas el importe de la transacción mediante el portal BackOffice o una solicitud H2H.

Petición

Una vez has obtenido el authToken, renderizado el cajero y obtenido el prepayToken, puedes lanzar la petición charge. A continuación, te mostramos un ejemplo de solicitud y respuesta con los campos básicos para Bizum de un charge de pre-autenticación sin el número de teléfono.

				
					{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"4.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "autocapture": false,
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php"
}
				
			
				
					cURL:
curl --location --request POST 'https://epgjs-mep-stg.addonpayments.com/charge/v2' \
--header 'Content-Type: application/json' \
--header 'prepayToken: 5112faba-e392-4c39-9508-87661ce15ba5' \
--data-raw '{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"10.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "autocapture": false,
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php"
}'
				
			

Una vez enviado el charge, como no se ha indicado el número de teléfono del cliente, recibirás una primera notificación con una URL para redirigir al cliente y que complete el pago. Esta URL está en el «redirectionResponse»

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7754307</message>
  <operations>
    <operation sorted-order="1">
      <amount>4.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>73348400</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7754307</payFrexTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7754307</redirectionResponse>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>9d135c37_6ff6_4a79_8611_859f01f4d746</uuid>
      </respCode>
      <status>PENDING</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>27</version>
  </workFlowResponse>
</payfrex-response>
				
			

Parámetros del charge

Los parámetros que deben enviar se detallan en la tabla de parámetros del charge. En este caso, son todos los requeridos (R).

Además, debes añadir:

  • autoCapture: Establecido como «false». 

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Cuando el cliente completa el pago recibes una respuesta con el estado de la transacción. La transacción quedará como pendiente de confirmación hasta que captures el importe. 

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>PENDING_CONFIRMATION</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H del importe.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Pago en 2 pasos – Con el teléfono del cliente

La autenticación + autorización y captura es un método de pago en 2 fases. El comercio deberá autorizar y capturar el importe una vez el cliente haya autenticado la transacción.

La pre-autenticaciones tiene un tiempo máximo de 30 días, pasado el cual las operaciones autenticadas no podrán ser autorizadas. El comercio no recibirá los fondos en su cuenta hasta que esta sea confirmada. Además, la autenticación no bloquea el importe de la cuenta del cliente, por lo que no se garantizan los fondos para la autorización y captura posterior. 

En esta operativa, si la transacción está autenticada pero no autorizada, quedará en status «PENDING_CONFIRMATION». Puedes liquidar manualmente estas transacciones desde el portal BackOffice de Addon Payments o mediante una solicitud H2H para capturar el importe.

Si el comercio envía el número de teléfono del cliente en la petición, pueden ocurrir dos cosas:

  • Si el cliente tiene activado RTP, cuando envíes una petición válida, quedará pendiente de ser autenticada por el cliente en su aplicación del banco.
  • Si el cliente no tiene activado RTP, se redirigirá al cliente a una URL de Bizum automáticamente, donde deberá autenticar la transacción. 

Independientemente de que el cliente tenga RTP activado o no, la petición que debe mandar el comercio es igual en los dos casos. 

Petición

Una vez has obtenido el authToken, renderizado el cajero y obtenido el prepayToken, puedes lanzar la petición charge. A continuación, te mostramos un ejemplo de solicitud y respuesta con los campos básicos para Bizum de un charge de pre-autenticación con el número de teléfono.

				
					{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"4.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "telephone":"700000000",
    "autocapture": false,
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php",
    "awaitingURL":"https:\/\/micomercio.com\/url-espera.php"
}

				
			
				
					curl --location --request POST 'https://epgjs-mep-stg.addonpayments.com/charge/v2' \
--header 'Content-Type: application/json' \
--header 'prepayToken: 5112faba-e392-4c39-9508-87661ce15ba5' \
--data-raw '{
    "merchantId":"12345",
    "merchantTransactionId":"00000001",
    "productId":"123450001",
    "amount":"4.00",
    "currency":"EUR",
    "country":"ES",
    "customerId":"000001",
    "paymentSolution":"bizum",
    "telephone":"700000000",
    "autocapture": false,
    "statusURL":"https:\/\/micomercio.com\/recepcion_notificacion.php",
    "successURL":"https:\/\/micomercio.com\/url-ok.php",
    "errorURL":"https:\/\/micomercio.com\/url-ko.php",
    "cancelURL":"https:\/\/micomercio.com\/url-cancelacion.php",
    "awaitingURL":"https:\/\/micomercio.com\/url-espera.php"
}'
				
			

Parámetros del charge

Los parámetros que deben enviar se detallan en la tabla de parámetros del charge. En este caso, son todos los requeridos (R).

Además, debes añadir:

  • autoCapture: Establecido como «false». 
  • telephone: nº de teléfono del cliente (sin el prefijo). 
  • awaitingURL: URL de espera de tu comercio donde redirigir al cliente mientras autentica la transacción en la aplicación de su banco.
  • phoneCode: Prefijo. Sólo si el nº de teléfono no es español.

Respuesta

Visita nuestra sección de Recepción y gestión de las notificaciones para conocer su estructura.

Las notificaciones que recibes cambian dependiendo si el cliente tiene RTP activado o no.

Si tiene RTP activado, recibirás 2 notificaciones: La primera indicando que la transacción está pendiente de autenticar por el cliente, y la segunda indicando el estado de la operación. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

Si no tiene RTP activado, recibirás 2 notificaciones: La primera con la URL de Bizum a donde se redirigirá automáticamente al cliente, y la segunda con indicando el estado de la transacción. En las autenticaciones + autorizaciones, el estado será «PENDING_CONFIRMATION» hasta que autorices el importe.

				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="2">
	<message>WorkFlow has finished successfully, for transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.00</amount>
			<currency>EUR</currency>
			<details>{"Ds_RtpStatus":"OK","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"42252710","Ds_Currency":"978","Ds_Amount":"400"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Bizum RTP CHECK result : OK</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>42252710</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>COMPLETED</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>4a2d854d_e7d0_4856_911f_f77f04c8554f</uuid>
			</respCode>
		</operation>
		<operation sorted-order="2">
			<amount>4.00</amount>
			<currency>EUR</currency>
		<details>{"Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"50","Ds_Response":"9998","Ds_AuthorisationCode":"","Ds_TransactionType":"7","Ds_Language":"1","Ds_MerchantData":"","Ds_Bizum_IdOper":"12841438308837499828322983974007788","Ds_ProcessedPayMethod":"68","Ds_Control_1709742417045":"1709742417045","Ds_RtpResponse":"BIZ00000","Ds_RtpDescription":"SIS-T Operacion realizada correctamente"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>SIS-T Operacion realizada correctamente</message>
			<operationType>DEBIT</operationType>
			<optionalTransactionParams/>
			<paySolTransactionId>12841438308837499828322983974007788</paySolTransactionId>
			<paymentDetails>
				<extraDetails/>
			</paymentDetails>
			<paymentSolution>bizum</paymentSolution>
			<status>AWAITING_PAYSOL</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>f255ba0c_77d7_4e35_abe2_c7c5fbb030fa</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>SUCCESS</status>
	<workFlowResponse>
		<id>51606</id>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
	<message>Bizum callback response has finished successfully, for the transaction Id: 7857761</message>
	<operations>
		<operation sorted-order="1">
			<amount>4.0</amount>
			<currency>EUR</currency>
			<details>{"Ds_Date":"04%2F03%2F2024","Ds_Hour":"17%3A52","Ds_SecurePayment":"1","Ds_Amount":"400","Ds_Currency":"978","Ds_Order":"42252710","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"055219","Ds_Bizum_IdOper":"12824309843264433334493184357110832","Ds_ProcessedPayMethod":"68","Ds_Control_1709571139062":"1709571139062"}</details>
			<merchantTransactionId>42252710</merchantTransactionId>
			<message>Auth Code : 055219 - Transaccion autorizada para pagos y preautorizaciones</message>
			<operationType>DEBIT</operationType>
			<paymentSolution>bizum</paymentSolution>
			<status>PENDING_CONFIRMATION</status>
			<transactionId>7857761</transactionId>
			<respCode>
				<code>0000</code>
				<message>Successful</message>
				<uuid>b0f08af9_8712_4079_bb1f_be0531233f01</uuid>
			</respCode>
		</operation>
	</operations>
	<optionalTransactionParams/>
	<status>PENDING_CONFIRMATION</status>
	<workFlowResponse>
		<name>Bizum</name>
		<version>17</version>
	</workFlowResponse>
</response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<payfrex-response operation-size="2">
  <message>WorkFlow has finished successfully, for transaction Id: 7754307</message>
  <operations>
    <operation sorted-order="1">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <details>{"Ds_RtpStatus":"KO","Ds_RtpResponse":"BIZ00009","Ds_RtpDescription":"Ordenante no encontrado","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Order":"73348400","Ds_Currency":"978","Ds_Amount":"1000"}</details>
      <merchantTransactionId>73348400</merchantTransactionId>
      <message>Bizum RTP CHECK result : KO</message>
      <operationType>DEBIT</operationType>
      <optionalTransactionParams/>
      <payFrexTransactionId>7754307</payFrexTransactionId>
      <paySolTransactionId>73348400</paySolTransactionId>
      <paymentDetails>
        <account/>
        <extraDetails/>
      </paymentDetails>
      <paymentSolution>bizum</paymentSolution>
      <respCode>
        <code>3099</code>
        <message>Unidentified error</message>
        <uuid>e50bbcfb_dae6_4366_b751_9c4fc4281b08</uuid>
      </respCode>
      <status>ERROR</status>
    </operation>
    <operation sorted-order="2">
      <amount>10.00</amount>
      <currency>EUR</currency>
      <merchantTransactionId>73348400</merchantTransactionId>
      <message>Redirecting to bizum</message>
      <operationType>DEBIT</operationType>
      <payFrexTransactionId>7754307</payFrexTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <redirectionResponse>redirect:/rest/online/bizum/redirect?transactionId=7754307</redirectionResponse>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>9d135c37_6ff6_4a79_8611_859f01f4d746</uuid>
      </respCode>
      <status>PENDING</status>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
  <workFlowResponse>
    <id>51297</id>
    <name>Bizum</name>
    <version>27</version>
  </workFlowResponse>
</payfrex-response>
				
			
				
					<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response operation-size="1">
  <message>WorkFlow has finished successfully, for transaction Id: 7740186</message>
  <operations>
    <operation sorted-order="1">
      <amount>5.0</amount>
      <currency>EUR</currency>
      <details>{"Ds_Date":"24%2F11%2F2023","Ds_Hour":"13%3A10","Ds_SecurePayment":"1","Ds_Amount":"500","Ds_Currency":"978","Ds_Order":"00000001","Ds_MerchantCode":"008043853","Ds_Terminal":"050","Ds_Response":"0000","Ds_MerchantData":"","Ds_TransactionType":"7","Ds_ConsumerLanguage":"1","Ds_AuthorisationCode":"000000","Ds_Bizum_CuentaTruncada":"ES51XXXXXXXXXXXXXXXX0001","Ds_Bizum_IdOper":"11949962139757716477478348779539678","Ds_ProcessedPayMethod":"68","Ds_Control_1700827811045":"1700827811045"}</details>
      <merchantTransactionId>00000001</merchantTransactionId>
      <message>Auth Code : 000000 - Transaccion autorizada para pagos y preautorizaciones</message>
      <operationType>DEBIT</operationType>
      <paySolTransactionId>00000001</paySolTransactionId>
      <paymentSolution>bizum</paymentSolution>
      <status>PENDING_CONFIRMATION</status>
      <transactionId>7740186</transactionId>
      <respCode>
        <code>0000</code>
        <message>Successful</message>
        <uuid>c1bcd860_7bac_4bd8_914b_f6b318f00655</uuid>
      </respCode>
    </operation>
  </operations>
  <optionalTransactionParams/>
  <status>SUCCESS</status>
</response>
				
			

Nota: En operaciones con RTP, la solicitud de autenticación en la aplicación del banco del cliente sólo se recibe en el entorno de producción. En el entorno de pruebas (staging), se simula con una pausa de 5 segundas, tras la que se autoriza la operación. 

Puedes capturar el importe desde el portal BackOffice de Addon Payments o mediante una solicitud H2H.

Recuerda que para la captura debes guardar el «transactionId» de la transacción original, devuelto en al respuesta anterior, y el «paymentSolution» debe ser «bizum».

Códigos de error

Estos son los códigos de error que puedes recibir en las notificaciones de Bizum. Los puedes encontrar en las líneas «code», «paymentCode», «paymentMessage».

< code > Código Addon PaymentsMensaje Addon Payments< paymentCode >
Código solución pago
< paymentMessage > Mensaje solución pago
1501Functionality not available with this accountBIZ00202Funcionalidad aún no implementada.
1501Functionality not available with this accountSIS0028Error Comercio / terminal está dado de baja
1502Insufficient funds9677Bizum. Saldo disponible insuficiente.
1502Insufficient fundsSIS0677Bizum. Saldo disponible insuficiente.
1507Unknown error by the Payment Solution.SIS0026Problema con la configuracion.
1508A parameter on the payment call is invalid, check the Payment Solution ResponseSIS0617Error del parámetro DS_MERCHANT_EXCEP_SCA es de tipo MIT y no vienen datos de COF o de pago por referencia
1513Unable to process this operation please check the Payment Solution Response9298No puede realizar este tipo de operativa. (Contacte con su entidad)
1513Unable to process this operation please check the Payment Solution ResponseBIZ00007Operación no permitida.
1513Unable to process this operation please check the Payment Solution ResponseSIS0298No puede realizar este tipo de operativa. (Contacte con su entidad)
1520Unsupported API request. You are not registered to use this API9218El comercio no permite op. seguras por entrada /operaciones
1520Unsupported API request. You are not registered to use this APISIS0218El comercio no permite operaciones seguras por las entradas
1524The provided transaction reference has already been used for another transaction. You must provide a unique value for each request9051Error número de pedido repetido
1524The provided transaction reference has already been used for another transaction. You must provide a unique value for each request913Pedido repetido
1524The provided transaction reference has already been used for another transaction. You must provide a unique value for each requestSIS0051Error número de pedido repetido
1541The transaction was not completed in the permitted time and has expiredBIZ00010Llamada al servicio superó el tiempo establecido
1542Transaction was manually cancelled or declined by the merchant9928Anulacion de autorizacion en diferido realizada por el SIS (proceso batch)
1542Transaction was manually cancelled or declined by the merchant9929Anulacion de autorizacion en diferido realizada por el comercio
1548The third party processor has declined the transaction9676Bizum. El procesador rechaza la operación.
1548The third party processor has declined the transaction9966BIZUM ha devuelto un KO en la autorización
1548The third party processor has declined the transactionSIS0093Denegación emisor
1548The third party processor has declined the transactionSIS0676Bizum. El procesador rechaza la operación.
1610A parameter on the payment call is invalid, check the Payment Solution ResponseSIS0075El comercio tiene que revisar cómo está enviando el número de pedido
1611The refund was unable to be processed. Check Payment Solution ResponseSIS0054No existe operación sobre la que realizar la devolución
1612The orderID does not existSIS0059Revisar que existe esa operación
1612The orderID does not existSIS0060Revisar que exista la confirmación
1634Transaction pending to be processed by the Payment Solution9998Operación en proceso de solicitud de datos de tarjeta
5031Parameter with invalid formatBIZ00002El formato de algún parámetro es incorrecto.
5037There is a parameter in the request that is mandatoryBIZ00001Parámetro de entrada obligatorio no completado.
5037There is a parameter in the request that is mandatoryBIZ90001Parámetro DS_MERCHANT_BIZUM_MOBILENUMBER no especificado
8003Authentication not completed. Check Service ResponseBIZ00225La autenticación por request to pay no ha finalizado con éxito
8006Cancelled by requestor9673Bizum. Operación cancelada. El usuario no desea seguir.
8006Cancelled by requestor9674Bizum. Abono rechazado por beneficiario.
8006Cancelled by requestor9675Bizum. Cargo rechazado por ordenante.
8006Cancelled by requestor9915A peticion del usuario se ha cancelado el pago
8006Cancelled by requestorSIS0673Bizum. Operación cancelada. El usuario no desea seguir.
8006Cancelled by requestorSIS0674Bizum. Abono rechazado por beneficiario.
8006Cancelled by requestorSIS0675Bizum. Cargo rechazado por ordenante.
8019Security failureBIZ00006Error de seguridad 3DES o MAC X9.19
8019Security failureSIS0042Error en el calculo de la firma.
8020Service system error. Check Service Response9040El comercio tiene un error en la configuración, tienen que hablar con su entidad.
8020Service system error. Check Service Response909Error de sistema
8020Service system error. Check Service Response9475NotDefined
8020Service system error. Check Service ResponseBIZ00005Error interno del sistema.
8020Service system error. Check Service ResponseSIS0040El comercio tiene un error en la configuración, tienen que hablar con su entidad.
8020Service system error. Check Service ResponseSIS0881El sistema está ocupado, inténtelo más tarde
8032Authentication error184El cliente de la operación no se ha autenticado
8032Authentication error944Sesion Incorrecta
8032Authentication error9672Bizum. Fallo en la autenticación. Bloqueo tras tres intentos.
8032Authentication errorBIZ00213Error de autenticación de la petición recibida. Fallo en secuencia de seguridad.
8032Authentication errorBIZ00224La respuesta de la entidad a la autenticación por RTP es KO.
8032Authentication errorSIS0672Bizum. Fallo en la autenticación. Bloqueo tras tres intentos.
9000Element not foundBIZ00003No se encontró el elemento.
9002Payee not foundBIZ00008Beneficiario no encontrado.
9003Payer not foundBIZ00009Ordenante no encontrado
Comparte este documento

Bizum

Copiar el enlace

Icono del portapapeles
Tabla de Contenidos

Productos

  • Cyberpac
  • Addon Payments
  • Pagos integrados en TPV
  • Universal Pay
  • Addon 1 - XML API Integration

Ventas

Cuéntanos cómo es tu negocio para ofrecerte la mejor solución.

Contacta con un experto

Soporte técnico

¿Ya eres cliente y necesitas ayuda? Contacta con nosotros, estamos a tu disposición.

Ayuda

Socios

Trabajamos con los mejores partners de soluciones in-store y eCommerce. ¿Quieres unirte?

Únete a nosotros

© Comercia Global Payments

Política de privacidad
Ejercicio de Derechos
Información a Clientes
Canal de denuncia
Aviso Legal
Política de cookies
Pregúntale a la IA
Escribe tu pregunta. Por ejemplo: ¿Cómo creo un enlace de pago?
La SmartWiki puede omitir datos. Verifica la información o contacta con soporte.

SmartWiki, Impulsada por IA

API - Developers Docs
Gestionar el consentimiento de las cookies
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Siempre activo
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Administrar opciones Gestionar los servicios Gestionar {vendor_count} proveedores Leer más sobre estos propósitos
Ver preferencias
{title} {title} {title}

Cyberpac

Consulta la documentación de Cyberpac. Aquí tienes las distintas secciones:

Canales

Módulos de integración

Integraciones a medida

Consulta la documentación de las distintas secciones de integraciones:

Comienza a integrar

undraw_add_to_cart_re_wrdo 1 (1) (1)

Plugins para CMS

Complementa la integración

SDKs

Métodos de pago

Herramientas

Addon Payments

Consulta la documentación de Addon Payments. Aquí tienes las distintas secciones:

Integraciones

Consultas frecuentes

Portal Backoffice

Pagos integrados en TPV

Crea una solución que te ayudará a automatizar procesos. Incluso, podrás agregar procesos de pago en terminales físicos.

Pago integrado con TPV Android

Pago integrado con Smartphone TPV

Fichas Técnicas TPVs