Skip to main content

Bizum

Bizum is a mobile payment solution in Spain that allows shoppers to pay merchants using their phone number. It supports mobile-first flows, and recurring transactions via stored COF credentials.

Bizum enables direct payments through mobile number and authenticates users via their banking app.Bizum enables direct payments through mobile number and authenticates users via their banking app.

Mobile push notifications

The shopper enters their phone number. User authorizes the payment and the transaction is confirmed in seconds.

  • Pay via phone number with no card entry
  • Fast checkout experience

Details

Country Spain
Currency EUR
InputPhone number
Integrations Direct API

Capabilities

Refunds
Partial refunds
Multiple partial refunds
Final amount captured later
Multiple partial captures
Incremental authorizations
Disputes
Recurring payments
Split payments (instalments)
Flow TypesImmediateRecurring

Flow

Bizum Onboarding

This flow works for ONE_TIME , RECURRING , and TOKEN_ONLY transaction types.

Steps

  1. Shopper selects Bizum and enters their phone number.
info

Phone number should be associated with Bizum account.

  1. Merchant Initiates Payment with Nopan.
  2. Nopan initiates the payment with the Bizum gateway.
  3. Bizum sends a push notification to the shopper's bank app.
  4. Shopper confirms the transaction in their banking app.
  5. Nopan notifies merchant about transaction being completed.
  6. Alternatively merchant periodically checks for the status of transaction.

Integration

Send a POST /payments/initiate request to Nopan with the following format:

{
"processingAccountId": "merchant",
"clientTransactionId": "order123",
"returnUrl": "https://api.merchant.callback?ref=order123",
"transactionType": "ONE_TIME",
"paymentDetails": {
"amount": 50,
"currency": "EUR",
"country": "ES",
"description": "Product ID 1234 purchase"
},
"providerDetails": {
"providerId": "BIZUM"
},
"payerDetails": {
"payerId": "payerUUID",
"phone": {
"number": "633782248",
"countryCode": "+34"
}
},
"requestContext": {
"ipAddress": "203.0.113.45",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15",
"channel": "WEB",
"deviceId": "device-67890",
"locale": "es-ES"
},
"metadata": {
"orderId": "12345",
"customerId": "cust-789",
"campaign": "summer2025"
}
}
tip

Registered Bizum phone number is required.


Bizum Recurring

This flow works only with RECURRING transaction types.

Steps

  1. Merchant sends Nopan a Charge Request with either a payerId or a payment token.
  2. Nopan initiates a payment with Bizum gateway
  3. Once transaction is approved shopper is notified through the bank app.
  4. Nopan notifies merchant about transaction being completed.

Integration

Send a POST /payments/charge request to Nopan with the following format:

{
"clientTransactionId": "order123",
"transactionType": "RECURRING",
"paymentDetails": {
"amount": 200,
"currency": "EUR",
"country": "ES",
"description": "Product ID 1234 purchase"
},
"providerDetails": {
"providerId": "BIZUM"
},
"payerDetails": {
"payerId": "payerUUID",
"paymentToken": "paymentTokenUUID"
}
}
tip

paymentToken or payerId is required.


Testing

Leverage Nopan Mocking framework to test your Bizum integration with Nopan or use these values to simulate payments in test mode:

Test Phone number+34 700 000 000
ApprovedAmount less than €5
DeclinedAmount between €5 and €15
Declined (user is not registered)Amount over €15

Error Codes

info

For a full list of Nopan error codes, see Error Handling.

Bizum Code
Nopan Reason Code
Description
Action
BIZ00000 – Operation completed successfully
-1
Internal indicator that the flow was successful.
None
BIZ00001 – Required input parameter not provided
4000
Invalid input.
Fix Request
BIZ00002 – Incorrect parameter format
4000
Invalid input.
Fix Request
BIZ00003 – Element not found
4001
Payment not found.
Fix Request
BIZ00005 – Internal system error
8004
Provider error.
Retry
BIZ00006 – Security error in 3DES or MAC X9.19
8004
Provider error.
Fix Request
BIZ00007 – Operation not permitted
1020
Declined. Possible fraud.
Adjust Logic
BIZ00008 – Beneficiary not found
4001
Payment not found.
Fix Request
BIZ00009 – Sender not found
4001
Payment not found.
Fix Request
BIZ00202 – Functionality not yet implemented
8003
Operation not supported.
Adjust Logic
BIZ00213 – Authentication error. Security sequence failed
4060
Invalid token.
Fix Request
BIZ00224 – RTP authentication failed (KO)
4061
Token is expired.
Fix Request
BIZ00225 – Request to Pay authentication unsuccessful
2001
Payer cancelled the payment.
Adjust Logic

Requirements

  • Merchant must be registered in Spain and have Spain bank account.
  • Shopper must use a participating bank`s mobile app.
  • Recurring model require explicit shopper consent.

Learn More

Recurring Payments

Some additional information about recurring model:

Configuration
Recurring Model
Manual Confirmation of each Transaction
N/A
Amount
~Fixed (within PSD2 guidance)
Frequency
N/A
Expiration
COF might expire
Banks Retries
N/A

Learn more on Bizum website.