使用 Supabase Functions 的 Flutter Stripe 支付
这是一个Flutter示例应用程序,展示了如何使用Supabase Functions为经过身份验证的客户处理付款。
设置
创建新的Supabase项目
- 创建新的Supabase项目
- 导航到身份验证设置,并关闭“启用电子邮件确认”旁边的切换。 (请注意:这仅用于测试。在生产环境中,请启用此设置!)
- 导航到SQL编辑器并运行schema.sql文件中的SQL。
设置环境变量
- 为Supabase Functions设置环境变量
cp .env.example .env- 填写您的Stripe API密钥,来自https://stripe.com/docs/development/quickstart
- 为Flutter应用程序设置环境变量
- 打开
app/config.dart - 填写您的Supabase公共密钥,来自https://app.supabase.io/project/_/settings/api
- 填写您的Stripe公共密钥,来自https://stripe.com/docs/development/quickstart
- 打开
Supabase Functions
Supabase Functions使用TypeScript编写,通过Deno运行,并使用Supabase CLI部署。请下载最新版本的Supabase CLI,或者如果您已安装,请升级它。
- 生成访问令牌并登录CLI
- 导航到https://app.supabase.io/account/tokens
- 点击“生成新令牌”
- 复制新创建的令牌
- 运行
supabase login - 在提示时输入您的令牌
- 链接您的项目
- 在您的项目根目录下运行
supabase link --ref your-project-ref
- 在您的项目根目录下运行
本地开发
- 运行
supabase start(确保您的Docker守护程序正在运行)。 - 运行
supabase functions serve --env-file .env payment-sheet- 注意:无需指定
SUPABASE_URL和SUPABASE_ANON_KEY,因为它们将从链接的项目中自动为您提供。
- 注意:无需指定
- 在另一个终端窗口中运行Flutter应用程序
cd appflutter run
- 制造一些测试资金 ???
- 停止本地开发
- 关闭“supabase functions serve watcher” (Ctrl + C)
- 运行
supabase stop以停止Docker容器。
部署
- 设置您的秘密
- 运行
supabase secrets set --from-stdin < .env以从您的.env文件中设置环境变量。 - 您可以运行
supabase secrets list来检查是否成功,并查看默认设置的其他环境变量。
- 运行
- 部署函数
- 在您的项目根目录下运行
supabase functions deploy payment-sheet
- 在您的项目根目录下运行
?⚡️?
\o/ 就是这样,您现在可以通过supabase-js和supabase-dart客户端库调用您的Supabase函数。 (更多客户端库即将推出。请查看supabase-community组织了解详情)。
有关Supabase Functions的更多信息,请参阅文档和示例。
