worldline Direct
Sign up

PostFinance Pay

Intro

PostFinance Pay is a mobile wallet app linked to the PostFinance Card. It allows customers use their PostFinance account to make payments online without providing card details, streamlining the online checkout process.

A leading financial institution in Switzerland, PostFinance offers a modern, modular solution for online payments via their mobile app. It enables around 1 million customers to pay easily and securely.

You send a standard request to our platform to redirect your customers to the PostFinance Pay portal to open the app.

The integration is very easy, as you only need to send a few additional properties along with your request.

Overview

Payment group:
Payment product id:
3203
Key benefits
  • Easy integration
  • Recurrent payment
  • Express checkout
  • Very popular in Switzerland
  • Allows
    • Authorisations/Direct sales
    • Partial/multiple/full captures
    • Full authorisations/cancellations
    • Partial/multiple/full refunds

Onboarding

To use PostFinance Pay for either in our test/live environment, follow these steps:

  1. Sign a contract with PostFinance AG.
  2. Get you merchantID from Post Finance AG.
  3. Enter the merchantID in the Merchant Portal as described in the dedicated chapter in the Merchant Portal guide.


The payment method will now be available on your account and to your customers.

Countries & currencies

Supported countries

Supported currencies

  • Swiss franc (CHF)

Integration

Redirect your customers to the PostFinance Pay app via integration modes Hosted Checkout Page or Server-to-server.

Add the following properties to a standard CreateHostedCheckout/CreatePayment request:

{ 
    "order": { 
        "amountOfMoney": { 
            "amount": 100, 
            "currencyCode": "CHF" 
        } 
    }, 
    "hostedCheckoutSpecificInput": { 
        "returnUrl": "https://yourRedirectionUrl.com"
    }, 
    "redirectPaymentMethodSpecificInput": { 
        "paymentProductId": 3203, 
        "requiresApproval": false 
    } 
}
Properties Remarks

order.amountOfMoney
    amount
    currencyCode

amount: The gross amount you want to charge for this order.
currencyCode: The ISO 4217 currency code for this amount.

redirectPaymentMethodSpecificInput
     paymentProductId
     requiresApproval
     redirectionData.returnUrl

paymentProductId: The numeric identifier of the payment method on our platform. Find this id in the "Overview" chapter. For payments requested via CreateHostedCheckout, it instructs our platform to send your customers directly to the PostFinance Pay-branded version of our Hosted Checkout Page. If left out, our platform sends your customers to the Hosted Checkout Page instead, allowing them to choose this or any other payment method in your account.

requiresApproval: Set to either "true"/"false" depending on whether you want to process payments in authorisation("true")/direct sale mode ("false").

redirectionData.returnUrl: The URL we redirect your customers to after the payment has been finalised.

Find detailed information about this object and its properties in our CreateHostedCheckoutAPI/CreatePaymentAPI.

Process flows

Depending on your customers' device(s) used, differences apply:

With a desktop and a mobile device

  1. Your customers finalise an order on their desktop device in your shop and select PostFinance Pay.
  2. You send this CreateHostedCheckout/CreatePayment request to our platform.
  3. You redirect your customers via the redirectUrl (For CreateHostedCheckout requests) or merchantAction.redirectData.redirectURL (For CreatePayment requests) to the PostFinance Pay portal. Your customers scan the displayed QR code with their mobile/tablet device.
  4. The mobile/tablet device opens the PostFinance Pay app. Your customers confirm the payment in the app.
  5. We receive the transaction result.
  6. The mobile/tablet device displays the transaction result in the PostFinance Pay app. We redirect your customers to your returnURL on their desktop device.
  7. You request the transaction result from our platform via GetPaymentDetails/GetHostedCheckout or receive the result via webhooks.
  8. If the transaction was successful, you can deliver the goods / service.

With a mobile device

  1. Your customers finalise an order on their desktop device in your shop and select PostFinance Pay.
  2. You send this CreateHostedCheckout/CreatePayment request to our platform.
  3. You redirect your customers via the redirectUrl. The mobile/tablet device opens the PostFinance Pay app. Your customers confirm the payment in the app.
  4. We receive the transaction result.
  5. The mobile/tablet device displays the transaction result in the PostFinance Pay app.
  6. You request the transaction result from our platform via GetPaymentDetails/GetHostedCheckout or receive the result via webhooks.
  7. If the transaction was successful, you can deliver the goods / service.

Finalises order Ordered Goods / Services Delivered Customer Merchant Our platform PostFinance 1 Receives transaction result 5 8 Real-time Not real-time Requests/Receives
transaction result 7 2 Sends Create Hosted Checkout/
Create Payment request 3 Is redirected by our platform/merchant & confirms order Device opens
app 4 Device displays
transaction result 6

Testing

Refer to our Test cases for test data and detailed instructions.

Make sure to use the right endpoint and switch back to the live URL as soon as you have finished your tests.

Additional information

PostFinance Pay implements two features that smooth out your customers' payment experience: Recurring payments and Express checkout

Recurring Payments

PostFinance Pay supports recurring payments without requiring the customer to manually initiate each payment.

Token creation

Create a token during the initial payment. Use it for subsequent transactions , so your customers do not have to re-enter payment details.

To do so, set the property redirectPaymentMethodSpecificInput=true  in the initial CreatePayment/CreateHostedCheckout request.

Token creation for subscriptions

You can also create a token without processing an actual payment. To do so, set the property redirectPaymentMethodSpecificInput=true and order.amountOfmoney.amount=0 in the initial CreatePayment/CreateHostedCheckout request. This allows you to use the token for future charges (i.e. for subscriptions).

Token usage for Merchant-Initiated Transaction (MIT)

For subsequent payments for a series of recurring payment, request payments with an existing token. As this does not require your customers' consent, this streamlines the process for both you and your customers.

Add the following properties to a standard CreatePayment request: 

{
   "order":{
      "amountOfMoney":{
         "currencyCode":"EUR",
         "amount":1000
      }
   },
   "redirectPaymentMethodSpecificInput":{
      "paymentProductId":3203,
      "requiresApproval":false,
      "token":"your_token"
   }
}

Token deletion

If your customers request to deactivate a token or if they delete their registration with PostFinance Pay, you must delete the existing token. Once deactivated, the token cannot be reused. To do so, send a DeleteToken request to our platform. If necessary, create a new token for future transactions. 

Express Checkout

Express Checkout streamlines the payment process by reducing the steps customers need to make for a payment. Request the address data directly from your customers' PostFinance Pay accounts to skip entering the address details.

To do so, add property paymentProduct3203SpecificInput.checkoutType to the initial CreatePayment/CreateHostedCheckout request: 

{
   "order":{
      "amountOfMoney":{
         "amount":100,
         "currencyCode":"CHF"
      }
   },
   "hostedCheckoutSpecificInput":{
      "returnUrl":"https://yourRedirectionUrl.com"
   },
   "redirectPaymentMethodSpecificInput":{
      "paymentProductId":3203,
      "requiresApproval":false,
      "paymentProduct3203SpecificInput":{
         "checkoutType":"expressCheckout"
      }
   }
}

Our platform returns your customers'  shipping and billing address in the initial CreatePayment/CreateHostedCheckout response. Mind that this does not work with recurring payments.

Was this page helpful?

Do you have any comments?

Thank you for your response.