This page outlines the basics of using Swish via Netaxept and gives you instructions needed for a fluent implementation.
- Swish is available only when Sweden has been submitted as your merchant
- Swedish Krones (SEK) is the only supported currency
- Swish is an additional paid payment method - fees in addition to Netaxept fees apply
- Using Swish via Netaxept requires an agreement with your chosen bank for accepting online payments via Swish. At the moment we accept certificates from Danske Bank, Handelsbanken, Nordea, SEB and Swedbank
- Only one-off payments are supported, not recurring payments
Swish is a mobile payment solution that enables you to receive payments from private persons who make the payment through their mobile phone's Swish app The payment is instantly transferred from the payer´s bank account to your bank account.
Swish can be used as a payment method in two ways:
- Swish E-commerce: Swish payments that are initiated in a browser independently of mobile device that hosts the Swish app.
- Swish M-Commerce: Swish payments that are initiated from the mobile device either through an app or a mobile browser.
Use for the end-customer
The customer has to have downloaded the Swish app at their mobile phone and registered their phone number in the app. Also, the customer should have downloaded the Mobile BankID app, as the transactions are signed with Mobile BankID.
When the customer decides to pay with Swish, they are directed from the merchant’s site to the page where they are asked to enter their phone number registered in the Swish app.
Swedish phone numbers (+46) sent with the Register call will be prefilled.
The customer opens the Swish app on their phone to approve the payment and sign it with Mobile BankID. Once the payment is completed, the customer is redirected to the redirectURL specified by the merchant in the Register call, with a proper response code. The payment then gets withdrawn from the customer’s bank account and settled to the merchant's bank account.
In order to use Swish in your webshop, you need to sign an agreement with your bank for Swish Handel. Currently, we can accept certificates from Swedbank, SEB, Handelsbanken, Nordea and Danske Bank.
After your bank has processed your agreement, they will provide you credentials which you must enter in your Netaxept Admin to activate the payment method in question.
Until the Terminal phase, the Swish payment flow works as described under Payment Flow Outline section.
If you already have a regular card integration implemented, and you have made an agreement with your bank about Swish, there is no need to send any additional parameters along the Register call to Netaxept to make Swish available for customers.
After the successful Register call, perform the Terminal call to send the customer either to the Netaxept payment window or directly to the page where they are asked to enter their phone number and open the Swish app.
Similiar to direct bank payments, after the Terminal phase, Netaxept triggers
AutoSale for the transaction: therefore, you don’t need to run AUTH, CAPTURE or SALE on Swish transactions. This eliminates a step in the standard payment process done via Netaxept.
To make sure your setup doesn't try to run not allowed steps, we recommend you to implement the following:
- Use the Register call's Payment method action list parameter to separate Swish from card and other payments in the checkout phase.
- Perform the Query call after the Terminal phase to see which payment method was used for the payment, and make the further action based on the payment status.
- Implement the supported financial operations as described in Payment methods. Both full and partial refunds are supported. The credit amount should be more than 0,50 SEK.
Both Netaxept production and test environments are using the production environment at Swish which means that all transactions you will run are live transactions.
Callback and Query
In order to verify that the transaction has the correct status and the payment has processed successfully and is fully paid, or if you are unsure which payment method the customer used for the payment, we recommend you to implement the Callback function and the Query call as part of the payment process.
Through the callback, you will receive a
transactionId whenever the transaction has a new status. Based on this, you can do the Query call to get the new status and detailed information about the transaction.
Payment flow for Swish E-Commerce
This section describes SwishE when used with the Netaxept terminal.
- In the Register call, specify the following parameters:
- Send consumer to terminal.
- If payment is successful, Netaxept will redirect the consumer back to merchant. If not possible, status must be received either by Query or via the callback URL
Payment flow for Swish E-Commerce (without redirecting)
SwishE can also be used without the Netaxept terminal. This requires that the
customerphoneNumber is known and instructions on your site on what action is expected by the consumer.
The procedure below descirbes the Swish E-Commerce integration methods without redirect to Netaxept:
Contact Nets to enable instant callback as there otherwise can be a delay of up to 30 seconds.
In the Register call, specify the following parameters for the app switch (from your app to Swish app).
Netaxept will ping the callback URL when payment is made.
Fetch status by sending a Query.
Payment flow for Swish M-Commerce (app switching)
This is applicable only for merchants with SDK app.
If the transaction is performed in app, the Register call should contain the following parameters for the app switch (from your app to Swish app).
PaymentMethodActionlist = SwishM
ServiceType = M
Currency = SEK
CustomerPhoneNumber = +[country code][phone number]
The Register call's response will contain the link for the app switch. Once the customer has completed the payment, the Swish app switches back to your app.
Transaction reference number
The transaction reference number is a unique end-to-end reference number for each transaction.
You can specify a unique reference number for each payment by sending the
TransactionReconRef parameter and its value along the Register call to Netaxept.
The use of transaction-specific reference number is optional but if you want to use it, it needs to follow the formating rules below. No validation of format is done at Netaxept side.
TransactionReconRefneeds to allow
- The current max length of TransactionReconRef should be in place.