If you are interested in how SEPA works on the Customer Portal and GuestAdvisor, check this article.
The Single Euro Payments Area, SEPA is a payment system that simplifies and accelerates cross-border transactions within the Eurozone. For hotel partners, embracing SEPA transfers offers numerous advantages, including faster processing times, lower fees, and a more seamless experience for both the hotel and its guests.
SEPA Countries:
The SEPA payment system comprises 36 member countries, with 27 being European Union member states. Additionally, non-EU countries such as Iceland, Lichtenstein, Norway, Switzerland, the United Kingdom, and smaller states like Andorra, Monaco, San Marino, and the Vatican are also part of the SEPA network.
How SEPA Transfers Work:
SEPA was established to enable users with a single bank account to transfer euros effortlessly across borders. Unlike other systems like SWIFT, SEPA transactions occur directly between banks within the system, eliminating the need for a third-party intermediary or correspondent bank. This direct interaction ensures that SEPA transfers are not only quicker but also considerably more cost-effective, with fees limited to those incurred by the customer's own bank.
SEPA Transfer Fees:
While SEPA transfers are often free or have minimal fees within the Eurozone, fees may vary depending on the country and the bank. Some Hungarian banks, for example, may charge for SEPA transfers outside the European Economic Area (EEA). Hotel partners should be aware of these fees to make informed decisions regarding their payment processes.
Advantages of SEPA Transfers:
- Cost-Effectiveness: SEPA transfers within the Eurozone are notably cheaper than alternatives like SWIFT, as there are no deductions by intermediary banks. Fees are generally limited to those imposed by the customer's bank.
- Time Guarantee: SEPA provides a guarantee for the timely completion of transactions, usually within one banking day. This stands in stark contrast to SWIFT transfers, which may take several banking days.
- Simplified Information: Unlike SWIFT transfers that require detailed recipient information, SEPA transfers often only necessitate the recipient's IBAN (International Bank Account Number). This streamlined process simplifies the transaction for both hotels and their guests.
- Domestic and Foreign Currency Support: SEPA transfers are not limited to euros; they can also be initiated in local currencies. If a SEPA transfer is initiated from a Hungarian forint account, for instance, the bank will convert the amount to euros at its own exchange rate.
The Process Flow:
- SabeePay Activation: Ensure that SabeePay is active.
- Stripe as the Payment Provider: Validate that Stripe is the designated payment provider.
- Activate SEPA payment method in the Stripe account:
- Activate SEPA payment method in the SabeeApp account: There is an "Enable SEPA payment" toggle in the Settings/SabeePay menu in the automation section, which is initially in the off position. If you slide this toggle, the new payment method will appear on the IBE and the CP.
This toggle should only appear in the Settings/SabeePay menu for those with Stripe as the payment provider.
- Company Country Verification: Confirm that the company country falls within the specified list.
- Charge in EUR: Ensure that the transaction amount is in euros.
- Check-in Date Conditions: Verify that the check-in date is at least 14 days in the future.
If all the above conditions are met, the new payment method, "Pay with SEPA" will be displayed on both the IBE (Internet Booking Engine) and the CP (Customer Portal).
Booking with SEPA payment method on IBE:
1. Guests can now choose the "Pay with SEPA" option during the booking process.
2. Upon selecting "Pay with SEPA," guests will be presented with an informational text.
3. Following the informational text, the system will display the amount that will be debited through the SEPA transaction.
4. Then comes the mandate, which the guest must accept.
5. Next, we present the "Customer details are same as booker details" checkbox. This checkbox is initially checked. When checked, only the IBAN number field is displayed, and the necessary data for submission is taken from the Booker details section.
If the checkbox is unchecked, we display the following fields, which must be filled out. In this case, the data is taken from here for submission.
We have introduced validation for the IBAN field.
6. After filling out the mandatory fields, we submit the payment intent to Stripe by clicking the "Pay now with SEPA" button.In the case of SEPA payment, only the "Pay now with SEPA" button is available. The "Book now and pay later" option is not.
If Stripe has accepted our payment intent, we redirect to our confirmation page and save the reservation in an optional status.
The reservation will remain in this status until the payment_intent.succeeded or failed response is received. The maximum waiting time is 14 days.
If Stripe returns an error for the payment intent, we keep the Booker on the IBE and display a popup stating:
"The SEPA payment was not successfully processed. We kindly suggest attempting the transaction once more or considering an alternative payment method."
Please note, that for those opting for the "Pay with SEPA" method, the following fields on the IBE will be required:
- First Name
- Last Name
- Country
- City
Notifications:
For those who have access to the SEPA payment method, we display a new toggle in the Notification section of the Settings/SabeePay menu, named "SEPA payment notification."
For those with this toggle enabled, we send the following message from noreply@sabeeapp.com when the payment_intent.succeeded response is received:
Subject: SEPA Transaction succeeded - /%rescode%/
Dear Company,
We are pleased to inform you that the Booker's bank associated with reservation code /%rescode%/ (/%checkindate%/ - /%checkoutdate%/) has successfully processed and confirmed the SEPA payment. Kind regards,
The SabeeApp Team
If a failed response comes back from Stripe (payment_intent.payment_failed) and SEPA payment notification is enabled, then we send the following message:
Subject: SEPA Transaction failed - /%rescode%/
Dear Company
Regrettably, we must inform you that the bank associated with reservation code /%rescode%/ (/%checkindate%/ - /%checkoutdate%) has declined the SEPA payment. We recommend reaching out to the booker to discuss alternative payment methods.
Kind regards,
The SabeeApp Team
In the Notification Center, we also display the payment details in the usual manner when the payment_intent.succeeded is received. If a failed response comes back, we do not automatically cancel the optional reservation. Instead, we send a notification and allow the provider to take action.
The SEPA payment notification cannot be activated if the SEPA Payment method toggle is not active.
Reservation Details Page:
On the reservation details page, for the payment source in the log file, we write "SabeePay - SEPA payment".
In the Payment schedule section, for SEPA Payment, we display as follows:
- Reservation made on IBE at /%dateandtime%/
- Waiting for confirmation
- SEPA Payment confirmed (green dot) or failed (red dot) at /%dateandtime%/
In the case of a red dot, hovering over it displays the following sentence:
"The SEPA payment was declined by the booker's bank."
Handling Refunds:
For SEPA charges older than 180 days, we remove the refund option from the reservation details page.
After a successful SEPA refund, we bring up a popup with the following message:
"The SEPA refund initiation was successful. It might take around 4-5 business days to show up in the bank account."
Other:
If a reservation is set to "cancelled," and an IPN arrives afterwards, we try to reassign the reservation to the original room. If unsuccessful, it becomes a "reservation with unallocated room."
Additionally, if a status change is made for such a reservation before the IPN arrives when saving the modification, we present a popup with the following content:
"Warning Stripe hasn't confirmed the payment for this reservation yet. Are you certain you want to change the reservation status from /%oldstatus%/ to /%newstatus%/ without waiting for Stripe's confirmation?'