worldline Direct
Sign up

Wero

Intro

Wero is a real-time banking payment method developed by the European Payment Initiative (EPI) consortium, replacing Giropay and soon Payconiq and iDEAL

Wero is linked to a bank account instead of a physical card. Thanks to the ever-growing network of participating banks, Wero covers 80% of the bank account holders in the targeted countries. Although Wero offers its own app, any banking app from any participating bank supports Wero.

You send a standard request to our platform to redirect your customers to the Wero portal to open the banking 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:
900
Key benefits
  • Easy integration
  • Broad network of supporting banks
  • Real-time banking
  • Allows
    Authorisations/Direct Sales/
    Partial/multiple/full cancellations
    Partial/multiple/full refunds

Onboarding

To use Wero in our live environment, sign a contract with Wero.

We will be happy to get you started.

Countries & currencies

Supported countries

Supported currencies

  • Euro (EUR)

Integration

Redirect your customers to the Wero app/the banking app supporting Wero via integration modes Hosted Checkout Page or Server-to-server. Find a high level overview in the "Process flows" chapter.

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

{
   "order":{
      "amountOfMoney":{
      "currencyCode":"EUR",
      "amount":100
   },
  "references": {
      "merchantReference": "Your Order ID"		
      "descriptor": "YourCompanyName"
      }
   },
   "redirectPaymentMethodSpecificInput":{
      "paymentProductId":900,
      "requiresApproval": true,
      "paymentProduct900SpecificInput": {
         "captureTrigger": "Shipping",
} }, }
Properties Description

order.amountOfMoney
    amount
    currencyCode

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

references
     merchantReference
     descriptor

merchantReference: Your unique reference to this order. Your unique reference to this order. If omitted, our platform will generate a random reference.

descriptor:  A dynamic descriptor appearing on your customers' bank statement. If omitted, our platform will generate a random descriptor.  This value wil also be reused for refund requests. 

redirectPaymentMethodSpecificInput
     paymentProductId
     requiresApproval
     paymentProduct900SpecificInput.captureTrigger

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 Wero portal. If omitted, our platform sends your customers to the Hosted Checkout Page instead, allowing them to choose this or any other payment method that is active in your account.

requiresApproval: Set to either "true"/"false" depending on whether you want to process payments in authorisation/Direct Sale mode.

If you choose "true", make sure to

captureTrigger: Mandatory only for requests in authorisation mode.
Display your customers in the Wero portal when you will capture the transaction. Possible values: 

  • shipping: Upon shipping the order. 
  • delivery: Upon delivering the order. 
  • availability: As soon as the order is available. 
  • serviceFulfilment: Upon fulfilling the service. 
  • other: For any other use case.

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 Wero.
  2. You send this CreateHostedCheckout/CreatePayment request to our platform.
  3. You redirect your customers on the desktop device via the redirectUrl (For CreateHostedCheckout requests) or merchantAction.redirectData.redirectURL (For CreatePayment requests) to the Wero portal. Your customers scan the displayed QR code with their mobile/tablet device.
  4. The mobile/tablet device opens the Wero app/the banking app supporting Wero. 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 Wero app/the banking app supporting Wero. 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 mobile device in your shop and select Wero.
    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 Wero portal.
    4. 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 Wero app/the banking app supporting Wero.
    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.

    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

    Refund payments

    When processing refunds, make sure to add property refundReason to your request: 

    {
       "amountOfMoney":{
          "currencyCode":"EUR",
          "amount":100
       },
       "references": {
          "merchantReference": "Your-refund-reference"		
          }
       },
      "refundRedirectMethodSpecificInput":{
          "refundRedirectPaymentProduct900SpecificInput":{
          "refundReason": "ReturnedGoods"
          }
       },
    }
    Properties Description

    order.amountOfMoney
        amount
        currencyCode

    The gross amount you want to refund for the original authorisation.

    references.merchantReference

    Your unique reference to this refund. If omitted, our platform will send the one from the original CreateHostedCheckout/CreatePayment request.

    refundRedirectMethodSpecificInput.
    refundRedirectPaymentProduct900SpecificInput.
    refundReason

     

    The reason for the refund. Possible values: 

    • returnedGoods
    • preDisputeRefund
    • subscriptionRefund
    • serviceLateCancellation
    • others

    Was this page helpful?

    Do you have any comments?

    Thank you for your response.