Using Swish

Once you have the Swish payment extension configured, you start accepting and collecting both one-time and recurring Swish payments. You can accept payments through a custom front-end payment form integrated to the FinDock Payment API or by using FinDock Giving Pages and PayLinks.

Payments made through the Swish mobile app are captured by FinDock as digital wallet payments. However, the payment method payers actually uses in the app can be anything that their mobile wallet supports. FinDock does not see or record what is used, but rather manages the payment transaction itself through a Swish-specific payer alias, which is in practice a mobile phone number.

Swish payment flow

Both one-time and recurring Swish payments use an online payment flow. The payer experience varies based on the device being used and the individual’s digital wallet.

  1. Payer enters personal information in the front-end payment form and selects Swish as the payment method.
  2. Swish sends details to FinDock for creating, updating (or deduplicating) the payer's Contact or Account record.
  3. The payer is redirected to the Swish hosted payment page to complete the payment.
  4. Once completed, FinDock automatically handles notifications from Swish for creating payment data in Salesforce and redirects the payer to follow-up communications.
  5. Follow-up communication, such as a thank-you message or payment confirmation, is sent to the customer according to your customer relations flow.

The Swish payment can be made with a redirect URL or the corresponding QR code. The QR code for one-time payments is generated by FinDock. For recurring payments, FinDock fetches a QR code from Swish. These two types of QR codes have different visual presentations, but serve the same function.

   When the payer initiates a Swish payment, the redirect URL is only valid for 3 minutes. If the payer takes no action within that time, the payment intent captured by FinDock cannot be collected via that URL.

The payment intent created through FinDock along with all notifications from Swish are captured as Inbound Report records.

Swish one-time payments

FinDock uses the Swish M-commerce payment flow to set up and collect Swish payments.

When a one-time payment is initiated from FinDock, a new Installment record is created based in the payment intent inbound report, and then further updated based on notifications from Swish captured as inbound reports as outlined in the table below.

Inbound Report SubtypeInstallment StatusFurther Info
Payment Request PAIDCollectedThe payer completed the one-time payment and money was transfer to your merchant account
Payment Request CANCELLEDCancelledThe payer has cancelled the payment at some point in the setup flow.
Payment Request DECLINEDRejectedThe payment could not be approved. See Last Status Reason on the installment for details.
Payment Request ERRORFailedA problem was encountered during payment processing. See Last Status Reason on the installment for details.

Swish recurring payments

Swish recurring payments use a consent flow to get the payer's authorization for a recurring payment. The authorization is then used to collect future installments without additional action from the payer.

   Swish recurring payments require a description for collection. If a description is not included when the payment is set up (e.g. in the payment intent message to the Payment API), you can add the description later to the Bank Statement Description field on the recurring payment (or individual installment) record before running the payment schedule for collection.

When a new recurring payment is created through FinDock, this initiates the consent flow (for M-commerce). The payer's consent is captured as a Mandate record in FinDock, which, like installments, is created and updated on the basis of Swish notifications and the resulting inbound reports, as outlined below. Before the ACTIVATED inbound report is processed, the new mandate status is Pending Registration.

Inbound Report SubtypeMandate StatusFurther Info
Consent ACTIVATEDSuccessThe payer completed the authorization to collect the recurring payment.
Consent DECLINEDRejectedThe authorization could not be approved. See Last Status Reason on the mandate for details.
Consent DELETEDCancelledThe payer has withdrawn consent and further installment collections are no longer allowed.
Consent TIMEOUTFailedThe payer did not complete the consent flow before a specific step timed out. See Last Status Reason on the mandate for details.

You collect installments of Swish recurring payments using payment schedules. The payment schedules trigger payment instruction callouts to Swish, in turn, the payment collection process at Swish results in notifications to FinDock. The inbound reports from these notifications are similar to one-time payments, but use different report sub types to handled mandate-related information.

Inbound Report SubtypeInstallment StatusFurther Info
Payment PAIDCollectedThe payment was collected and money was transfer to your merchant account
Payment CANCELLEDCancelledThe payer cancelled the payment or withdrew consent before it could be collected.
Payment DECLINEDRejectedThe payment could not be approved. See Last Status Reason on the installment for details.
Payment ERRORFailedA problem was encountered during payment processing. See Last Status Reason on the installment for details.

Reconciling Swish payments

FinDock automatically reconciles Swish payments through API callouts to Swish following the standard online reconciliation process using the inbound reports described above.

For other Swish transactions, such as refunds or payments made directly to your Swish number, you can include these in your Salesforce payment data through file-based reconciliation.

FinDock currently handles Swish transactions reported via Nordea Total IN files. If you use a different bank for Swish, please contact FinDock Support so we can investigate the bank's file type.

Was this page helpful?