Zimpler provides A2A payments from bank accounts in Europe and Brazil, and is a popular way to pay in the Nordic countries.

Payment typeOnline banking (A2A Transfers)
Payin countriesSweden, Denmark, Finland, Estonia
Payout countriesSweden, Denmark, Finland, Estonia
Customer currenciesEUR, SEK, DKK
Processing currenciesEUR, SEK, DKK
RefundsYes

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:

ParameterFormatDescription
merchantid40 charactersMerchant identification number assigned during account creation
amountdigits 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
currency3 characters. ISO 4217The currency field contains the alpha-3 currency code for the transaction. Links to ISO
orderidmax. 40 charactersThe field orderid is optional and exclusively for the merchants' convenience
genderM or FThe gender of the customer.
lastnamemax. 50 charactersLast name of the customer
streetmax. 50 charactersStreet in address of the customer.
zipmax. 50 charactersZip code of the customer.
citymax. 50 charactersCity of the customer
country3 characters. ISO 3166-1 alpha-3Customer country.
firstnamemax. 50 charactersFirst name of the customer.
birthdayddmmyyyyDate of birth of the customer
houseThe house number in the address of the customer.
customeripCustomer IP address.
url_returnmax. 255 characters starting with http or httpsURL for customer redirection
url_successmax. 255 characters starting with http or httpsSuccessful transaction redirect URL
url_failedmax. 255 characters starting with http or httpsFailed transaction redirect URL
notification_urlmax. 255 characters starting with http or httpsURL for notifications.
payment_method128payabl. Payment methods IDs
bankcountry3 characters. ISO 3166-1 alpha-3e.g.: SWE
signature40 charactersSignature Calculation2

Request example:

merchantid=gateway_test&amount=20&payment_method=128&country=FIN&currency=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&notification_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&currency=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 via notification_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&currency=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=&timestamp=1706879649&type=capture&orderid=Payabl-Test&payment_method=128&errorcode=0&security=13ecde27309c876aecb6342fe033373cb7cb7dfb9a336d5c3b003e0e1b8a5722&transactionid=105615645

Notification fields reference:

ParameterDescription
transactionidpayabl. internal transaction id. Please use this transaction id when referring to the transaction in communications with the payabl. team
typeTransaction type
errorcodeTransaction error code (0 for success)
errormessageBrief explanation of transaction decline reason (empty on success)
amountTransaction amount
orderidOptional transaction identifier given by the merchant
securitySignature to verify the authenticity of the notification. You can find more information here
timestampNotification timestamp
payment_stateTransaction state as described above

Additional Customer details can be added to both callbacks. Please contact Tech support to enable them:

ParameterDescription
bank_countryCustomer bank country
bicCustomer bank BIC
account_numberCustomer account number
account_holderAccount 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:

ParameterFormatDescription
merchantid40 charactersMerchant identification number assigned during account creation
amountDigits 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
currency3 characters. ISO 4217The currency field contains the alpha-3 currency code for the transaction. Links to ISO
transactionidDigits onlyTransaction ID on which the Refund will be done.
notification_urlmax. 255 characters starting with http or httpsURL for notifications

Request example:

merchantid=gateway_test&amount=1&currency=EUR&transactionid=105615529&notification_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&currency=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.

ParameterFormatDescription
merchantid40 charactersMerchant identification number assigned during account creation
amountDigits 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
currency3 characters. ISO 4217The currency field contains the alpha-3 currency code for the transaction. Links to ISO
transactionidDigits onlyTransaction ID on which the Refund will be done.
notification_urlmax. 255 characters starting with http or httpsURL for notifications

Request example:

merchantid=gateway_test&amount=20&payment_method=128&currency=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&currency=EUR&orderid=Payabl-Test

With bank account details

ParameterDescription
bankcountryISO 3166-1 alpha-2 country code of the recipient’s bank.
Please check the table below for support countries
accountnumberIBAN or bank account number
accounttypeAccount type
nationalidNational ID

Case 1: If any of the above parameters is missing.

Request example:

merchantid=gateway_test&amount=20&payment_method=128&currency=EUR&orderid=Payabl-Test&bankcountry=FIN&accountnumber=FI8557230220630219&accounttype=iban&notification_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&currency=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&timestamp=1706885677&errormessage=

Case 2: If all parameters are added.

ParameterDescription
bankcountryISO 3166-1 alpha-2 country code of the recipient’s bank.
Please check the table below for support countries
accountnumberIBAN or bank account number
accounttypeAccount type
nationalidNational ID

Request example:

merchantid=gateway_test&amount=20&payment_method=128&currency=EUR&orderid=Payabl-Test&bankcountry=FIN&accountnumber=FI8557230220630219&accounttype=iban&notification_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&currency=EUR&orderid=Payabl-Test

📘

Testing Credentials

Follow this URL for Zimpler testing credentials.