This code use FastAPI and Stripe for payments and is mostly based on this example which use Flask.
This repository includes example of Prebuilt Checkout page integration. Below is comparison of both methods.
Prebuilt Checkout page (docs) | Custom payment flow (docs) |
---|---|
Lower complexity. | Higher complexity. |
Customize logo, images, and colors. | Customize all components with CSS. |
Add payment method types with a single line change. | Implement each payment method type as a custom integration. |
Built-in support for Apple Pay, and Google Pay. | Integrate Apple Pay and Google Pay with extra code. |
Redirect to Stripe hosted page. | Customers stay on your site. |
Small refactor to collect recurring payments. | Large refactor to collect recurring payments. |
Input validation and error handling built in. | Implement your own input validation and error handling. |
Localized in 25+ languages. | Implement your own localization. |
Payment Method Type | Prebuilt Checkout page (docs) | Custom payment flow (docs) |
---|---|---|
ACH Credit Transfer | ||
ACH Debit | ||
Afterpay/Clearpay | ✅ | ✅ |
Alipay | ✅ | ✅ |
Apple Pay | ✅ | ✅ |
Bacs Direct Debit | ✅ | |
Bancontact | ✅ | ✅ |
BECS Direct Debit | ✅ | |
Boleto | ✅ | ✅ |
Cards | ✅ | ✅ |
EPS | ✅ | ✅ |
FPX | ✅ | ✅ |
giropay | ✅ | ✅ |
Google Pay | ✅ | ✅ |
GrabPay | ✅ | ✅ |
iDEAL | ✅ | ✅ |
Klarna | ||
Multibanco | ✅ | |
OXXO | ✅ | |
Przelewy24 (P24) | ✅ | ✅ |
SEPA Direct Debit | ✅ | ✅ |
Sofort | ✅ | ✅ |
WeChat Pay |
You'll find more detailed instructions for each integration type in the relevant READMEs (links to original repo):
This code was originally based on Flask, and the source codes may be found at https://github.com/stripe-samples/accept-a-payment.