The payment hold, also known as a security deposit or payment reservation, is used by the merchant to secure a fixed payment from the user's card (or another connected payment method) at the start of the ride and ensure the customer has a sufficient balance on his connected card or another payment method.
To better understand the topic, firstly, the difference between payments needs to be clarified:
1. Payment Reservation (Authorization) - a payment reservation (also called a payment authorization or pre-authorization) occurs when a customer’s bank or card issuer places a temporary hold on a specified amount of funds in the customer’s account. This amount is reserved for a potential future charge but is not yet transferred to the merchant.
2. Payment Charge (Capture) - a payment charge is the actual process of transferring funds from the customer’s account to the merchant. Once a charge is made, the reserved amount is no longer held but is fully deducted from the customer’s available balance.
In the Sharing flow, the funds are only reserved at the start of the ride when the customer presses Start the ride in the mobile app. The payment hold is released back to the customer at the end of the ride when he presses End the ride in the mobile app (if the customer's card/payment method can be successfully charged for the full ride costs) or charged at the end of the ride if the customer's payment method cannot be successfully charged for the entire ride costs. In this case, the payment hold amount will be charged partially or entirely to cover the ride costs.
In the Rental flow, the hold amount is charged from the customer before the start of the ride when the customer presses Start the ride in the mobile app. The payment hold is refunded (if applicable) after the ride ends, and the user presses End the ride in the mobile app.
Refunds can take a few business days, depending on the payment gateway and bank processing times.
If the user has a pre-existing wallet balance in the amount of the payment hold the merchant has defined, or if the wallet balance is higher, the payment hold will not be triggered, as the system verifies that the user already has sufficient funds in his wallet.
Some examples of the payment hold scenarios are below:
The customer starts a Sharing ride with a scooter with 5 EUR as a temporary hold enabled in the system. When pressing Start the ride in the app, the system reserves 5 EUR from the user's card. When pressing End the ride in the app, the system calculates the ride price - 3 EUR - charges it from the user's card, and afterward releases the 5 EUR payment hold back to the user;
The customer starts a Sharing ride with a scooter with 5 EUR as a temporary hold enabled in the system. When pressing Start the ride in the app, the system reserves 5 EUR from the user's card. When pressing End the ride in the app, the system calculates the ride price - 3 EUR - and tries to charge it from the user's card, but unfortunately, there's not enough balance. The system charges the 3 EUR from the payment hold and afterward releases the remaining 2 EUR payment hold back to the user;
The customer starts a Sharing ride with a scooter with 5 EUR as a temporary hold enabled in the system. When pressing Start the ride in the app, the system reserves 5 EUR from the user's card. When pressing End the ride in the app, the system calculates the ride price - 6 EUR - and tries to charge it from the user's card, but unfortunately, there's not enough balance. The system charges the 5 EUR from the payment hold, and afterward, the user's wallet gets charged for the remaining 1 EUR of ride costs, and the customer ends up being a debtor in the system with -1 EUR on the wallet balance;
The customer makes a Rental booking for a car with 50 EUR as a temporary hold enabled in the system. When pressing Book & Pay in the app, the system charges the booking price of 30 EUR from the user's card based on the vehicle model pricing and booking period. When the booking period approaches, and the customer is at the vehicle when he presses Start the ride in the app, the 50 EUR payment hold will be charged. When pressing End the ride in the app, the system calculates the ride final ride price - if it exceeds the prepaid booking price, the extra amount is charged from the user's card, and afterward, the system refunds the 50 EUR payment hold to the user;
The customer makes a Rental booking for a car with 50 EUR as a temporary hold enabled in the system. When pressing Book & Pay in the app, the system charges the booking price of 30 EUR from the user's card based on the vehicle model pricing and booking period. When the booking period approaches, and the customer is at the vehicle when he presses Start the ride in the app, the 50 EUR payment hold will be charged. When pressing End the ride in the app, the system calculates the final ride price of 60 EUR. The system tries to charge the extra 30 EUR from the user's card, but unfortunately, there's not enough balance. The system charges the 30 EUR from the payment hold and afterward releases the remaining 20 EUR payment hold back to the user;
The customer makes a Rental booking for a car with 50 EUR as a temporary hold enabled in the system. When pressing Book & Pay in the app, the system charges the booking price of 30 EUR from the user's card based on the vehicle model pricing and booking period. When the booking period approaches and the customer is at the vehicle when he presses Start the ride in the app, the 50 EUR payment hold will be charged. When pressing End the ride in the app, the system calculates the final ride price of 90 EUR. The system tries to charge the extra 60 EUR from the user's card, but unfortunately, there's not enough balance. The system charges the 50 EUR from the payment hold, and afterward, the user's wallet gets charged for the remaining 10 EUR of ride costs, and the customer ends up being a debtor in the system with -10 EUR on the wallet balance.
Below you will find a graphic summary for payment holds, charges and refunds described in the above cases:
Payment integrations on ATOM Mobility platform that support the payment hold:
Stripe - payment hold is reserved in the Sharing flow (except if the used payment method is SEPA Debit, in which case the system can only charge the payment hold) but charged in the Rental flow;
Adyen - payment hold is reserved in the Sharing flow (except if the used payment method is PayPal via Adyen, in which case the system can only charge the payment hold) but charged in the Rental flow;
Klix - payment hold is reserved in the Sharing flow but charged in the Rental flow;
MAIB - the payment hold is always charged based on payment gateway limitations;
PayPal - payment hold is reserved in the Sharing flow but charged in the Rental flow.
To enable the payment hold on Sharing and Rental flows, follow the steps below:
In the dashboard, go to More -> System preferences -> Temporary hold and enable the option Enabled for all rides or Enabled for 1st ride:
This will determine if the payment hold will apply to all users, on every ride they make on the platform or if only newly registered users will have a payment hold on their first ride on the platform;
Afterward, go to Vehicle models, select your relevant vehicle model, and then set the preferred temporary hold amount: