Skip to main content

SIX Saferpay

The SIX Saferpay payment extension supports several payment methods through Saferpay by Worldline, including methods like TWINT that are widely used in the Swiss market.

Multi-merchantMulti-currency
noyes
Payment MethodOne-timeRecurringRefunds
Cardyesyesno
PostFinance Cardyesyes--
PostFinance E-financeyes----
TWINTyesyes--
Bitcoinyesnono
Ethereumyesnono
note

To fully enable E-Finance, PostCard or TWINT methods in your SIX Saferpay test environment, you may need to contact Saferpay support. TWINT recurring payments, for instance, requires a Saferpay Business contract with Secure Alias Storage and TwintMerchantInitiatedPayment (User On File) enabled on your terminal.

Pre-requisites

  • FinDock is installed and configured.
  • A successful connection to WebHub.

Install and activate SIX Saferpay for FinDock

Follow the standard procedure for installing and activating the SIX Saferpay for FinDock payment extension.

Check and assign the required permissions for FinDock and SIX Saferpay features. Ensure all package-specific permission sets are correctly assigned.

Configure SIX Saferpay for FinDock

Configuring the SIX Saferpay extension requires setting up a test account with the Saferpay Backoffice and a production account with Saferpay myPortal. Some information from your Saferpay settings needs to be copied to the Saferpay for FinDock extension settings, so you will need to have both applications open to complete the configuration.

To configure SIX Saferpay for FinDock:

  1. Got to the Remote Site Settings tab and activate one of the Saferpay endpoints.
    • SaferpayProductionEndpoint: activate this endpoint if you are configuring a production org.
    • SaferpayTestEndpoint: activate this endpoint if you are configuring a sandbox org for testing.
  2. Click the FinDock Setup tab to go back to the home page and then click on the Six-Saferpay-for-FinDock tile under the section Extensions - PSP.
    SIX Saferpay FinDock settings
  3. For the Notification URL, this value is automatically filled by the Notification Gateway.
  4. Register or log in to the Saferpay Backoffice at https://test.saferpay.com/BO/. If you are configuring a production org, use the Saferpay myPortal: https://myportal.six-payment-services.com/merchantportal/
  5. Take note of your 10-character username. This auto-generated username needs to be added to the Saferpay settings in FinDock.
  6. Click the Settings tab and then click JSON API basic authentication.
  7. When you created your backoffice account, you received an email from Saferpay with an JSON API username and password. If you no longer have this email, click Create new JSON API login to get a new login username and password.
    SIX Saferpay new JSON API
  8. Copy-paste your JSON API login username and password into the corresponding fields in the SIX Saferpay for FinDock extension settings.
  9. On the Settings tab, click Payment Means / Terminals.
  10. Copy-paste your Customer ID and eCommerce Terminal ID into the corresponding fields in the SIX Saferpay FinDock extension settings.
    SIX Saferpay payment means
  11. On the SIX Saferpay FinDock settings page, adjust the extension options as needed, and the click Save.
    • Use Secure Alias Storage: if your SIX Saferpay contract includes the Secure Card Data module, enable this setting to use credit card aliases. NOTE: This setting is required when using TWINT recurring payments.
    • Log Requests: activate if you want to log all Saferpay connection events.
    • isTest: activate if you are configuring a sandbox org for testing.

Special handling for one-time vs. recurring

With SIX Saferpay payment methods that support recurring payments, you use payment schedules to collect future installments of the recurring payment as normal.

In addition, for one-time payments made with the PostFinance PostCard method, you also need to run a payment schedule to collect the one-time payment.

Although the PostCard payment flow itself is similar to a normal credit card, the payment is made via direct debit. This requires its own set of instructions that FinDock sends the SIX Saferpay API using the payment schedule process.

To enable recurring payment collection with TWINT, you need to have TwintMerchantInitiatedPayment (User On File) enabled on your terminal and a Saferpay Business contract with Secure Alias Storage. Please contact Saferpay support for assistence.

To collect TWINT recurring payments, FinDock creates a payment profile with the following details. No more details are provided by Saferpay & TWINT to FinDock:

  • Brand = TWINT
  • Wallet Type = TWINT
  • Record Type = Credit Card

No payment profile is created for one-time payments with TWINT, since no relevant data is provided and no payment profile & mandate combination is needed for future collection.

Payment profile deduplication is based on a combination of the Contact Id and Wallet Type, (i.e. only one TWINT wallet for each contact).

Special considerations for mandate references

To support SIX Saferpay Secure Card Data capabilities, the Mandate object uses an Is Alias checkbox field. FinDock uses the checkbox to determine if the reference is an alias or a regular reference. By default, Is Alias is checked (true) for new recurring credit card payments.

The FinDock integration to Saferpay includes RegisterAlias in all initial recurring payment callouts. This stores the alias on the Saferpay side. In FinDock, the alias on stored on the mandate reference field.

When you run a payment schedule, FinDock handles the callouts as required for both regular and alias references based on the Is Alias field.

note

If you are migrating recurring credit card payments to SIX Saferpay from another PSP, you must set Is Alias to true to be able to process further installments through SIX Saferpay.

Special considerations for cryptocurrency

When initiating cryptocurrency payments, the amount must use Swiss Franks (CHF) for the currency. FinDock automatically validates the currency and throws and API exception error if the ISO currency code is not CHF.

For further information, please refer to the Saferpay Documentation about cryptocurrency requirements.

Payment API messages

You can use the following example messages to test if the Saferpay configuration is working as expected.

One-time payment with credit card

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"
}
}
},
"OneTime": {
"Amount": "30"
},
"PaymentMethod": {
"Name": "Creditcard",
"Processor": "Six-saferpay-for-findock"
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}

Recurring payment with PostFinance card

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"

}
}
},
"Recurring": {
"Amount": "25",
"Frequency": "Monthly",
"StartDate": "2020-11-01"
},
"PaymentMethod": {
"Name": "PF PostCard",
"Processor": "Six-saferpay-for-findock"
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}

One-time payment with PostFinance E-finance

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"
}
}
},
"OneTime": {
"Amount": "30"
},
"PaymentMethod": {
"Name": "PF e-finance",
"Processor": "Six-saferpay-for-findock"
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}