Satispay payments are managed according to the Dynamic Code flow.
More info can be found at the following official Satispay link: One-Off Dynamic Code
The process flow is:
The Merchant application generate a dynamic QRCode which includes the payment amount
The QRCode is shown to the Shopper on a display front-facing the Shopper
The Shopper, using Satispay App, scans the QRCode and confirm the payment
The Merchant application, reads the status of the payment request.
Satispay Statuses are:
ACCEPTED The payment transaction is completed successfully
PENDING The shopper has not yet scanned the Dynamic QRCode
CANCELLED The payment authorization has been cancelled.
The process sequence is represented by this image taken from Satispay official website.
You can apply for a customer test account registering here on Satispay Developers Site.
After registering, Satispay team will send you an email with sandbox credentials and two links where you can download:
the SHOP mobile staging application
the CONSUMER mobile staging application.
To obtain further and updated information please refer to Satispay Developers Site
Use the following program to generate KeyId starting from the Authorization Code provided by Satispay when you requested a staging or production account.
Unzip the profram into a folder and run the SatispayKeyIdGenerator tool.
To generate a new KeyId you must fill the Authorization Code field and select the desidered environment.
The KeyID must then be included in the Parameters XML section.
How to use the driver
You must specify in the “keyId” Parameter the keyId returned by the Initial Authentication process.
Only in case of access to the Sandbox environment, you must also specify the Staging parameter.
<Parameters> <KeyID>..............</KeyID> <Staging>true</Staging> </Parameters>
Phases - Method PAY Only
The Satispay Driver uses Phases for payments, because the payment transaction is done in two steps.
Methods Refund and Void do not use Phases
Step 1 - Request the QR-Code
It creates a Payment Request and returns:
in the node AuthCode: the dynamic QRCode to be shown
in the node TraceAuditId: the Transaction Id that will be used in the following calls
It verifies if the payment has been accepted by the Shopper. It must receive, in the node Attributes, the Transaction Id generated in Phase BEGIN
There is no COMMIT in the Satispay flow so there is no need to do a COMMIT. In case you want to execute the COMMIT, please not that this phase will always returns Success
It cancels a pending payment.
It must receive, in the node Attributes, the Transaction Id generated in Phase BEGIN