For a wider range of support and future proofing, use the standard integration for asynchronous payments.
This integration waits for the returned response from the client and finalizes a payment on the server, without using webhooks or processing offline events. While it may seem simpler, this integration is difficult to scale as your business grows and has several limitations:
- Only supports cards—You’ll have to write more code to support ACH and popular regional payment methods separately.
- Double-charge risk—By synchronously creating a new PaymentIntent each time your customer attempts to pay, you risk accidentally double-charging your customer. Be sure to follow best practices.
- Extra trip to client—Cards with 3D Secure or those that are subject to regulations such as Strong Customer Authentication require extra steps on the client.
Keep these limitations in mind if you decide to use this integration. Otherwise, use the standard integration.