Hello. We have a built a booking site for a chauffeur & events car company and are using the Square plugin integration to Wordpress, but are considering also leveraging the payments-api if we can solve the below problem.
Users are able to book a ride months in advance at which time their card is authorized for the full amount but the pre-auth appears to only last 30 days, at which point Square automatically cancels the pending charge (the hold). We are allowing checkout as guest so many customers will not have a credit card saved to a profile.
Is there a way to increase the time limit on pre-auth’s for this business model where the capture may occur 60 or 90 days after the pre-auth? I can submit a feature request to Square to surface a time limit config value or feature request specific to the plugin auto-capture after X days, but if there is a current way through the payments API to increase the time limit or refresh the preauth, we would consider that route.
thanks in advance for any ideas!
Currently, for card payments, you have the following default time thresholds to capture (or cancel) an authorized payment:
- 36 hours for in-person (card present) payments, where the card was swiped, dipped, or tapped using a card reader.
- 7 days for online (card not present) payments where the buyer used a card on file or typed the card number.
After the time period expires, if the payment is not in a terminal state (COMPLETED, CANCELED, or FAILED), Square cancels the payment. The delayed_until field provides the date and time on Square servers when Square cancels the payment.
You can change the preceding default thresholds by specifying the delay_duration field in a CreatePayment request. The time period you specify must be at least one minute and less than the preceding threshold values.
We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team.
FYI - This doesn’t seem to be true for the Reader api. I’ve been trying to figure out how to do split auth/capture or void since transaction/void got retired. So I have about a dozen pending transactions on one of my cards from doing delayCapture in the SQRDCheckoutController. Some of them have been sitting out there for more than a week.
location_id that these payment were taken with?
How can I integrate Delay Capture in wordpress? can you please help?
Is this a custom integration that your building or are you using the WordPress provided integration?
There is a plugin we are using “Litepoint” which is having a booking form connected to Square payment gateway. But the plugin doesn’t have Delay Capture option. https://developer.squareup.com/docs/payments-api/take-payments/card-payments/delayed-capture the code i want to integrate in wordpress actually
Thanks in advance
Okay, this is something that the developers of Litepoint would have to add since all API calls to Square are generated from their integration and they have access to the code that would enable this.
For a booking that is a long time in the future, you may not be able to keep an open pre-auth alive for that long. It might be wiser to do a small pre-auth at the time of the booking, to verify the card, and then do the pre-auth during business hours a day or two ahead of the actual booking. That way they can call the customer if there was a problem with the second pre-auth.
The pre-auth essentially locks funds in the customer’s credit card; I’d be annoyed if I had $200 reserved for a limo ride in 2 months locked for that long.