Swish In-Store

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

Customer Journey


  1. The consumer goes to the In-Store cash counter and selects Swish as their preferred payment method
  2. The consumer is displayed QR code on till machine.
  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 hands over the order/goods to the consumer.

Specific input parameters for the TRANSACTION call

There are no specific input parameters required for In-Store journey

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/AThis is not to be considered in this flow.
qrcodeMstringN/ABase 24 encoded QR string

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
&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.QRCODE=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGl //base 64 encoded string//
&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.

QR code Generation

  1. QR code can be generated in following two ways:

    1. Through Swish API : Merchant is given with base 64 encoded string that can be decoded at merchant's side

    2. Locally using Swish guidelines : Merchant is given with QR

      Both are depicted below for reference:

      PPRO gives flexibility to choose one of the ways.