Zimpler
Zimpler provides A2A payments from bank accounts in Europe and Brazil, and is a popular way to pay in the Nordic countries.
Payment type | Online banking (A2A Transfers) |
Payin countries | Sweden, Denmark, Finland, Estonia |
Payout countries | Sweden, Denmark, Finland, Estonia |
Customer currencies | EUR, SEK, DKK |
Processing currencies | EUR, SEK, DKK |
Refunds | Yes |
How to pay with Zimpler
- The customer will be redirected to a Zimpler hosted page where they can see a list of available banks in their country.
- The customer will select their bank and will be prompted to provide their online banking credentials and authenticate as they would when logging in their online bank account.
- The customer will select the account they want to use to make their payment and will be prompted to confirmation of the payment.
- After the payment is completed, the customer is redirected back to the shop or the merchant website.
Step 1. Make a transaction request
From your server, make a POST /payment_preauthorize request.
POST https://sandbox.payabl.com/pay/backoffice/payment_preauthorize
Include in request:
Parameter | Format | Description |
---|---|---|
merchantid | 40 characters | Merchant identification number assigned during account creation |
amount | digits only, either no decimals or two decimal places (e.g. 8 or 8.50) | Transaction’s total amount that will be deducted from the customer |
currency | 3 characters. ISO 4217 | The currency field contains the alpha-3 currency code for the transaction. Links to ISO |
orderid | max. 40 characters | The field orderid is optional and exclusively for the merchants' convenience |
gender | M or F | The gender of the customer. |
lastname | max. 50 characters | Last name of the customer |
street | max. 50 characters | Street in address of the customer. |
zip | max. 50 characters | Zip code of the customer. |
city | max. 50 characters | City of the customer |
country | 3 characters. ISO 3166-1 alpha-3 | Customer country. |
firstname | max. 50 characters | First name of the customer. |
birthday | ddmmyyyy | Date of birth of the customer |
house | The house number in the address of the customer. | |
customerip | Customer IP address. | |
url_return | max. 255 characters starting with http or https | URL for customer redirection |
url_success | max. 255 characters starting with http or https | Successful transaction redirect URL |
url_failed | max. 255 characters starting with http or https | Failed transaction redirect URL |
notification_url | max. 255 characters starting with http or https | URL for notifications. |
payment_method | 128 | payabl. Payment methods IDs |
bankcountry | 3 characters. ISO 3166-1 alpha-3 | e.g.: SWE |
signature | 40 characters | Signature Calculation2 |
Request example:
merchantid=gateway_test&amount=20&payment_method=128&country=FIN¤cy=EUR&bankcountry=FIN&gender=M&firstname=TEST&lastname=TEST&[email protected]&orderid=Payabl-Test&url_success=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/success.php&url_return=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/redirect_response.php&url_failed=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/failed.php¬ification_url=https://webhook.site/d837fedf-138d-4a6d-9fd4-ee0c7b4e36b7&customerip=127.0.0.1&mobile=00496975938501
Response example:
transactionid=105615645&transid=105615645&status=2000&errormessage=pending&errmsg=pending&amount=20&price=20¤cy=EUR&orderid=Payabl-Test&redirect_url=https%3A%2F%2Fcheckout-sandbox.zimpler.net%2Fv4%2Ffi%2Fdeposit%2Fd5e874aff6965a942195&user_id=916324
Public Sandbox Information
Do not use your personal email address, Order ID with sensitive information, real customer details and credit card or bank account data in the public Sandbox.
Redirection to
url_return
does not confirm that the transaction is successful. Always check the transaction vianotification_url
or use the diagnose interface to get the final status of the transaction.
Step 2. Handle the redirect
To complete the payment, you need to redirect the customer to the correct URL in the response.
Response example:
transactionid=105615645&transid=105615645&status=2000&errormessage=pending&errmsg=pending&amount=20&price=20¤cy=EUR&orderid=Payabl-Test&redirect_url=https%3A%2F%2Fcheckout-sandbox.zimpler.net%2Fv4%2Ffi%2Fdeposit%2Fd5e874aff6965a942195&user_id=916324
After the client completes the payment on Zimpler, they will be redirected back to your url_return
.
Additionally, you will receive a notification to notification_url
, which should be used to update statuses in your system.
Step 3. Receive the final status
Once the customer completes the payment, we will send a notification with the transaction's final status to the notification_url
specified by you.
url_return
and notification_url
should be passed by you in the Pre-authorization request.
Alternatively, you can communicate a notifciation_url
to be used by default to payabl. technical team. By doing so, you won't need to send it in every request.
Notification example
errormessage=×tamp=1706879649&type=capture&orderid=Payabl-Test&payment_method=128&errorcode=0&security=13ecde27309c876aecb6342fe033373cb7cb7dfb9a336d5c3b003e0e1b8a5722&transactionid=105615645
Notification fields reference:
Parameter | Description |
---|---|
transactionid | payabl. internal transaction id. Please use this transaction id when referring to the transaction in communications with the payabl. team |
type | Transaction type |
errorcode | Transaction error code (0 for success) |
errormessage | Brief explanation of transaction decline reason (empty on success) |
amount | Transaction amount |
orderid | Optional transaction identifier given by the merchant |
security | Signature to verify the authenticity of the notification. You can find more information here |
timestamp | Notification timestamp |
payment_state | Transaction state as described above |
Additional Customer details can be added to both callbacks. Please contact Tech support to enable them:
Parameter | Description |
---|---|
bank_country | Customer bank country |
bic | Customer bank BIC |
account_number | Customer account number |
account_holder | Account holder name |
Refunds
Zimpler supports refunds and can be initiated on a successfully captured transaction.
The request will send a credit note to the authorization system after the customer has already been charged. The refund amount will be credited to the customer and the merchant account will be charged.
The refund can be done in two ways:
- Through API integration
- Through payabl. dashboard
POST https://sandbox.payabl.com/pay/backoffice/payment_refund
Include in request:
Parameter | Format | Description |
---|---|---|
merchantid | 40 characters | Merchant identification number assigned during account creation |
amount | Digits only, either no decimals or two decimal places (e.g. 8 or 8.50) | Transaction’s total amount that will be deducted from the customer |
currency | 3 characters. ISO 4217 | The currency field contains the alpha-3 currency code for the transaction. Links to ISO |
transactionid | Digits only | Transaction ID on which the Refund will be done. |
notification_url | max. 255 characters starting with http or https | URL for notifications |
Request example:
merchantid=gateway_test&amount=1¤cy=EUR&transactionid=105615529¬ification_url=https://webhook.site/d837fedf-138d-4a6d-9fd4-ee0c7b4e36b7
Response example:
transactionid=105615529&transid=105615529&status=0&errormessage=&errmsg=&amount=1.00&price=1.00¤cy=EUR&orderid=Payabl-Test
Payouts
Zimpler allows merchant to send funds to any bank account from the listed countries.
Payout information
If the transactionid parameter for a successful deposit is provided in the request for a payout, you can omit the parameters bankcountry, accounttype, accountnumber, and nationalid.
POST https://sandbox.payabl.com/pay/backoffice/payment_cft
The payout request through Zimpler can be done in two ways:
- Payout based on an existing transaction
- New account details
Based on an existing transaction
Merchant can choose an existing successful deposit or CFT transaction ID to automatically extract the account details for payouts.
Parameter | Format | Description |
---|---|---|
merchantid | 40 characters | Merchant identification number assigned during account creation |
amount | Digits only, either no decimals or two decimal places (e.g. 8 or 8.50) | Transaction’s total amount that will be deducted from the customer |
currency | 3 characters. ISO 4217 | The currency field contains the alpha-3 currency code for the transaction. Links to ISO |
transactionid | Digits only | Transaction ID on which the Refund will be done. |
notification_url | max. 255 characters starting with http or https | URL for notifications |
Request example:
merchantid=gateway_test&amount=20&payment_method=128¤cy=EUR&orderid=Payabl-Test&transactionid=105615529
payabl. will send you a response letting you know if the payout was successful or not.
Response example:
transactionid=105615686&transid=105615686&status=0&errormessage=&errmsg=&amount=20&price=20¤cy=EUR&orderid=Payabl-Test
With bank account details
Parameter | Description |
---|---|
bankcountry | ISO 3166-1 alpha-2 country code of the recipient’s bank. Please check the table below for support countries |
accountnumber | IBAN or bank account number |
accounttype | Account type |
nationalid | National ID |
Case 1: If any of the above parameters is missing.
Request example:
merchantid=gateway_test&amount=20&payment_method=128¤cy=EUR&orderid=Payabl-Test&bankcountry=FIN&accountnumber=FI8557230220630219&accounttype=iban¬ification_url=https://webhook.site/d837fedf-138d-4a6d-9fd4-ee0c7b4e36b7&url_success=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/success.php&url_return=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/redirect_response.php&url_failed=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/failed.php
payabl. will send you a response.
Response example:
transactionid=105615794&transid=105615794&status=2000&errormessage=pending&errmsg=pending&amount=20&price=20¤cy=EUR&orderid=Payabl-Test&redirect_url=https%3A%2F%2Fcheckout-sandbox.zimpler.net%2Fv4%2Ffi%2Faccounts%2F196300c81390c6fbb6d3
Handle the redirect
You have to redirected to Zimpler page to complete the Payout.
Notification example
transactionid=105615788&type=cft&security=c935394c2058971bfeca06efd93586fa4f60b29acf26b96022c5d0a7ac1f80e8&errorcode=0&orderid=Payabl-Test&payment_method=128×tamp=1706885677&errormessage=
Case 2: If all parameters are added.
Parameter | Description |
---|---|
bankcountry | ISO 3166-1 alpha-2 country code of the recipient’s bank. Please check the table below for support countries |
accountnumber | IBAN or bank account number |
accounttype | Account type |
nationalid | National ID |
Request example:
merchantid=gateway_test&amount=20&payment_method=128¤cy=EUR&orderid=Payabl-Test&bankcountry=FIN&accountnumber=FI8557230220630219&accounttype=iban¬ification_url=https://webhook.site/d837fedf-138d-4a6d-9fd4-ee0c7b4e36b7&url_success=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/success.php&url_return=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/redirect_response.php&url_failed=http://dev-sim-ng.inatec.local/~simdad/InatecResponse/failed.php&nationalid=010200A9618
payabl. will send you a response.
Response example:
transactionid=105615796&transid=105615796&status=0&errormessage=&errmsg=&amount=20&price=20¤cy=EUR&orderid=Payabl-Test
Testing Credentials
Updated 9 months ago