Swish E-Commerce

Enable shoppers to follow a QR scan on their Swish app on mobile, authorise the payment, the payment aka QR is generated on desktop.

Following are the E-Commerce journeys:

QR code : Display a QR code that the payer can scan with their Swish app.

Phone Number : User inputs their phone number to start the payment.

We at PPRO support QR code journey only at this stage.

Customer Journey


  1. The consumer goes to the merchant website on desktop and selects Swish as their preferred payment method
  2. The consumer is displayed QR code on the desktop website.
  3. The consumer scans the QR code on Swish app, enters the desired details, authorise and complete 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
orderDetailsMessageMstringN/ADescription of the order

Transient output parameters for the TRANSACTION call

Field NameM/O/CTypeRegexDescription
appUrlMstringN/ASwish AppIntent URL that has callback parameter , that helps to navigate to merchant app once payment is successful routing through browser.
qrCodeMstringN/ABase 24 encoded QR string

TRANSACTION call input


tag=swish
&txtype=TRANSACTION
&countrycode=SE
&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


REQUESTSTATUS=SUCCEEDED
&STATUS=PENDING
&TXID=600520459
&ERRMSG=
&CHANNEL=testchannel
&TAG=swish
&transientout.appUrl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Flanding.php
&transientout.qrCode=base64-encoded-qrstring

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