Swish M-Commerce

Enable shoppers to pay via Swish by following a mobile redirect from a merchant website or mobile app to the Swish app, authorise the payment, subsequently return to the merchant website or mobile app.

Integration Methods

There are two integration methods for m-commerce journey - Redirection via browser and direct redirection. Each approach has its own merits, and the choice depends on your specific needs and resources.

Redirection via browser

This method involves a flow from your website to Swish app and back to your website, with a brief hop through the browser.

Direct redirection

This approach enables direct navigation between your app and Swish app, providing a native user experience.

Summarised view is as follows:

DimensionRedirection via browserDirect redirection
Suitable forSmall to medium sized businessLarge business
User ExperienceNot SmoothSuperior and seamless
Shopper ExperienceGoodExcellent
Development effortMinimalSignificant
Transaction Status updatePublished by PPROPolled by Merchant

Our Recommendation

While both methods have their merits, we recommend the direct redirection approach for merchants who have resources to implement it. This method provides a superior user experience , which can lead to higher conversion rates and customer satisfaction. However if you are a small to medium sized merchant looking for quicker implementations with minimal development your side, redirection via browser is a go-to choice.

Ultimately , the decision should be based on your specific business needs and development capabilities.

Both journeys are depicted below:

Customer Journey

Redirection via browser


  1. The consumer selects Swish as their preferred payment method
  2. The consumer is routed to Swish app where they are required to enter the desired details, authorise and complete the transaction.
  3. The consumer is routed back to merchant app/website via browser on mobile device after completing the transaction
  4. The merchant receives the payment confirmation
  5. The merchant ships the order/deliver the goods to the consumer.

Specific input parameters for the TRANSACTION call

There are no specific input parameters required for merchant redirection through browser.

Transient input parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
orderdetailsmessageOstringN/ADetails of the order

Transient output parameters for the TRANSACTION call

There are no specific output parameters required for merchant redirection through browser.

TRANSACTION call input


tag=swish
&txtype=TRANSACTION
&countrycode=SE
preferredlanguage=en
&currency=SEK
&amount=250
&merchanttxid=84564142227
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOETESTCONTRACT
&channel=testchannel
&merchantredirecturl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php
&notificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php
&accountholdername=Tester+Doe
&transientin.orderdetailsmessage=checkoutof2cakes
&returnmode=urlencodeext

For For standard input parameters, check Input parameters for the TRANSACTION call

TRANSACTION call output

When Transaction request is successful

&STATUS=PENDING
&TXID=10
&ERRMSG=  
&REDIRECTURL=https://r3.public.k8s.qa.ppro.com/swish/T/I?tx=10&rs=3ZTw&cs=0b3cb24
&RAND3874536273=f8234430721f1a7ef4a4462de71dfd1d
&REDIRECTSECRET=dcn94nd2oud8eedhg38dkhed
&CHANNEL=testchannel
&TAG=swish
&MERCHANTTXID=sale1002
&FUNDSSTATUS=NOT_EXPECTED

When Transaction request is not successful

&STATUS=FAILED
&TXID=600520459
&ERRMSG=Remote%20System%20Error  
&RAND3874536273=f8234430721f1a7ef4a4462de71dfd1d
&FAILREASON=REMOTE_ERROR
&CHANNEL=testchannel
&TAG=swish
&MERCHANTTXID=sale1002
&FUNDSSTATUS=NOT_EXPECTED

For standard output parameters, see Output parameters for the TRANSACTION call.

Direct redirection


  1. The consumer selects Swish as their preferred payment method
  2. The consumer is routed to Swish app where they are required to enter the desired details, authorise and complete the transaction.
  3. The consumer is routed back to merchant app/website on mobile device directly after completing the transaction
  4. The merchant receives the payment confirmation
  5. The merchant ships the order/deliver the goods to the consumer.

Specific input parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
merchantappintenturiMstringN/AMerchant App URI where consumer will be redirected after authorising the payment.

Transient input parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
orderdetailsmessageOstringN/ADescription of the order

Transient output parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
appintenturiMstringN/ASwish AppIntent URI that has callback parameter , that helps to navigate to merchant app once payment is successful routing through browser.
qrcodeMstringN/AThis is not to be considered in this flow.

TRANSACTION call input

tag=swish
&txtype=TRANSACTION
&countrycode=SE
preferredlanguage=en
&currency=SEK
&amount=250
&merchanttxid=84564142227
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOETESTCONTRACT
&channel=testchannel
&merchantredirecturl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php//dummy value will work too//
&notificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php
&accountholdername=Tester+Doe
&specin.merchantappintenturi=amzn://apps/orderID=AS4f?p=PQRE
&transientin.orderdetailsmessage=checkoutof2cakes
&returnmode=urlencodeext

For For standard input parameters, check Input parameters for the TRANSACTION call

TRANSACTION call output

When Transaction request is successful

&STATUS=PENDING
&TXID=10
&ERRMSG= 
&TRANSIENTOUT.APPINTENTURI=swish://paymentrequest?token=AWQ&callbackurl=amzn://apps/orderID=AS4f?p=PQRE
&RAND3874536273=f8234430721f1a7ef4a4462de71dfd1d
&REDIRECTSECRET=dcn94nd2oud8eedhg38dkhed
&CHANNEL=testchannel
&TAG=swish
&MERCHANTTXID=sale1002
&FUNDSSTATUS=NOT_EXPECTED

When Transaction request is not successful

&STATUS=FAILED
&TXID=600520459
&ERRMSG=Remote%20System%20Error  
&RAND3874536273=f8234430721f1a7ef4a4462de71dfd1d
&FAILREASON=REMOTE_ERROR
&CHANNEL=testchannel
&TAG=swish
&MERCHANTTXID=sale1002
&FUNDSSTATUS=NOT_EXPECTED

For standard output parameters, see Output parameters for the TRANSACTION call.