Swish In-Store
Enable consumers to follow a QR scan on their Swish app on mobile, authorise the payment, the payment aka QR is generated on In-Store terminal.
QR Code Generation Methods
There are two main methods to generate the QR code, as outlined below:
- PPRO-rendered : PPRO's QR code generation simplifies the process by providing either a base64 encoded string for decoding or a ready to display QR image.
- Customer rendered through QR Payload : QR Payload to generate QR image , swish design specifications to be followed while generation.
Swish Design Specification for QR Payload Method
The QR code should be created in black and white. The Swish symbol is placed in the centre, on a white circular background. The symbol width should be 25% of the QR code width.
The Swish symbol can be downloaded from the Swish marketing toolbox and should follow the Swish trademark guidelines.
We strongly recommend using the PPRO rendered QR code generation, as it simplifies the process by removing the need to follow Swish design specifications on your end.
For reference, PPRO rendered QR code generation is demonstrated below, providing both a ready to display QR image and a Base64 encoded string.
Consumer Journey
- The consumer goes to the In-Store cash counter and selects Swish as their preferred payment method
- The consumer is displayed QR code on till machine.
- The consumer scans the QR code on Swish app, enters the desired details, authorise and complete the transaction.
- The merchant receives the payment confirmation
- The merchant hands over the order/goods to the consumer.
Specific input parameters for the TRANSACTION call
Field Name | M/O/C | Type | Regex | Description |
---|---|---|---|---|
dynamicdescriptor | O | string | N/A | Description of the order |
Specific output parameters for the TRANSACTION call
Field Name | M/O/C | Type | Regex | Description |
---|---|---|---|---|
qrpayload | M | string | N/A | To generate the QR code image, use the QR payload and follow Swish guidelines. |
Transient output parameters for the TRANSACTION call
Field Name | M/O/C | Type | Regex | Description |
---|---|---|---|---|
qrcode | M | string | N/A | Base 64 encoded QR string. |
TRANSACTION call input
tag=swish
&txtype=TRANSACTION
&countrycode=SE
&preferredlanguage=en
¤cy=SEK
&amount=250
&merchanttxid=84564142227
&login=johndoe
&password=wXBrpVporFVjGO4R
&contractid=JOHNDOETESTCONTRACT
&channel=testchannel
&merchantredirecturl=https://amazon.com//PPRO system will skip this for In-Store Flow//
¬ificationurl=https%3A%2F%2Fmerchant.com%2Fwork%2Fppro2%2Fnotification.php
&accountholdername=Tester+Doe
&specin.dynamicdescriptor=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=
&RAND3874536273=f8234430721f1a7ef4a4462de71dfd1d
&REDIRECTSECRET=dcn94nd2oud8eedhg38dkhed
&SPECOUT.QRPAYLOAD=DAAAAAAAAAAAAABQAEXmJcqFUw_x6Bh4N
&TRANSIENTOUT.QRCODE=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGl //base 64 encoded string//
&CHANNEL=testchannel
&TAG=swish
&MERCHANTTXID=sale1002
&FUNDSSTATUS=NOT_EXPECTED
Note
Decode the "TRANSIENTOUT.QRCODE" from the successful transaction response to generate the QR code.
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.
Updated about 2 months ago