Skip to content


    This page outlines the basics of using Swish via Netaxept and gives you instructions needed for a successful implementation.

    • 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, Svea Bank and Swedbank
    • Only one-off payments are supported, not recurring payments


    Swish is an Account to Account (A2A) 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.

    Contact Nets to have your certificate copied to SwishM if you already have registered SwishE, or follow the steps as outlined in Adding Swish to Netaxept admin but instead chose SwishM.


    Payment type
    Partial refund
    Cancel payment


    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.

    Technical Supplier Certificate

    Using Netaxept as Technical Supplier when adding your Swish agreement allows you to let Netaxept handle the administration of the Swish certificate. This simplifies the onboarding process as that way you don't have to generate the certificate yourself.


    The first step would be for you to contact your bank and connect your Swish number to Nets. By doing so, we become your technical supplier. As technical suppliers, we will help you with the following:

    • technical integration
    • handling of the certificates

    Once you sign the Swish agreement with your bank, they will ask you to add Nets to the agreement. If Nets is not listed as one of the available technical suppliers with your bank, make sure to contact them in order to connect correctly.

    The following steps describe the process of adding the Technical Supplier Certificate:

    1. Choose Swish agreement in the drop down and press Add.
    2. Add your Swish number.
    3. Choose the Technical Supplier Certificate button and press Add.

    Now you have completed the required settings for using the Swish Technical Supplier Certificate.

    Payment flow

    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.

    Payment flow for Swish E-Commerce

    This section describes SwishE when used with the Netaxept terminal.

    1. In the Register call, specify the following parameters:
      • PaymentMethod = SwishE
      • customerPhoneNumber (if known)
    2. Send consumer to terminal.
    3. 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.

    You can also add a button using JavaScript for your mobile site to try to open the Swish app: swish://

    The procedure below descirbes the Swish E-Commerce integration methods without redirect to Netaxept:

    1. Contact Nets to enable instant callback as there otherwise can be a delay of up to 30 seconds.

    2. In the Register call, specify the following parameters for the app switch (from your app to Swish app).

      • PaymentMethod = SwishE
      • ServiceType = M
      • customerPhoneNumber
    3. Instruct user to open the Swish app. If the user is on a mobile browser, you can add a JavaScript to try to open the Swish app.

    4. Netaxept will ping the callback URL when payment is made.

    5. Fetch status by sending a Query.

    Payment flow for Swish M-Commerce (app switching)

    For instructions on how to detect if Swish is on the user’s device, see instructions from Swish.

    Netaxept supports using Swish M-commerce. Swish M-commerce does not require user to enter phone number but requires that the Swish application is installed on the device. It also enables app switch both to the Swish application and back to the merchant application or website as described below:

    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).

    • PaymentMethod = SwishM
    • ServiceType = C (M if using our SDK)
    • Currency = SEK
    • CustomerPhoneNumber = +[country code][phone number]

    The response from Register call will contain the link for the app switch. Once the customer has completed the payment, the Swish app switches back to your app.


    The following procedures describe functionalities found in the Netaxept Test Admin Portal.

    The Procedure to use Swish Sandbox testing

    • First, enrol a user to Swish Sandbox by sending a request to Swish Technical Support: In the email, let them know if you are signing up for the Technical Supplier Certificate or the Merchant Certificate.
    • Please follow the steps provided by Swish in this guide.
    • You will be asked to set up the Swish test application and the BankID test application to proceed with testing.
    • You will receive the necessary credentials to be able to add your Swish Agreement to the Netaxept test admin portal.

    Swish Technical Supplier Certificate

    • To use the Swish Technical Supplier Certificate, please choose Technical Supplier Certificate when adding your Swish agreement to the Netaxept test admin portal.
    • Enter your Swish number (received from Swish) and click Add.
    • Now you can start testing Swish with the Swish test agreement.

    Swish Merchant Certificate

    • To use the Swish Merchant Certificate, please choose Merchant Certificate when adding your Swish agreement to the Netaxept admin portal.
    • Upload the PrivateKey and PEM-file received from Swish.
    • Now you can start testing Swish with the Swish Test Agreement.

    Using the Swish Merchant Certificate is the preferable way of adding your Swish agreement to the Netaxept admin portal (preferable to using the Swish Technical Supplier Certificate).

    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.

    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.

    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.

    • TransactionReconRef needs to allow A-Ö, & and -.
    • The current max length of TransactionReconRef should be in place.

    Read more about Transaction Reference Numbers.

    Was this helpful?

    What was your feeling about it?