Stripe Checkout For Flutter

Screenshot 2021-04-27 at 15 29 27

The quickest way to build conversion-optimized payment forms, hosted on Stripe.

final sessionId = await getSessionIdFromMyServer();
final response = await redirectCheckout(context: context, sessionId: sessionId, publishableKey: publishableKey);

Learn more about checkout in Stripe docs

Web

In web, the website is redirected automatically to the checkout stripe url. And it will go back to the successUrl or canceledUrl defined on your server when creating the checkout session. See how to setup your server here

https://user-images.githubusercontent.com/19904063/116256859-d87bc600-a773-11eb-9288-c53da161f20d.mov

Android and iOS

Stripe checkouts is implemented using a webview. To keep it in sync with your app navigation you have to define the same successUrl and canceledUrl on your backend and your app.

By default, you can set the following urls in your server:

{  
   "success_url": "http://localhost:8080/#/success",
   "cancel_url": "http://localhost:8080/#/canceled"
}

https://user-images.githubusercontent.com/19904063/116256916-e6314b80-a773-11eb-90cd-6609a34f1a3d.mov

https://user-images.githubusercontent.com/19904063/116256936-ec272c80-a773-11eb-867b-b9abd533c73f.mov

Other platforms

Sadly webview is not implemented in any other platform yet. When that package is implemented in new platforms, this package will extend its support too

Libraries

stripe_checkout