Flutter集成Paystack支付:callbackUrl定义及安卓iOS配置方法
Paystack支付中callbackUrl的含义及Android/iOS配置方法
一、callbackUrl是什么?
callbackUrl是Paystack在支付流程完成(无论成功或失败)后,用来同步交易结果的地址。它会携带交易状态、参考号等关键信息,既可以让Paystack跳转回你的Flutter应用,也可以通知你的后端服务处理后续逻辑(比如更新订单状态、给用户发通知)。对于pay_with_paystack插件来说,它是支付流程闭环的关键配置项。
二、如何配置callbackUrl?
1. 先在Paystack后台设置信任地址
- 登录Paystack仪表盘,进入Settings -> Payment Settings
- 找到Callback URL选项,填入你要使用的地址:
- 如果是纯移动端应用,填自定义Scheme链接(比如
yourapp://paystack-callback) - 如果有后端服务,填后端API地址(比如
https://yourserver.com/paystack-callback)
- 如果是纯移动端应用,填自定义Scheme链接(比如
- 保存设置,确保该地址被Paystack信任。
2. Android端配置自定义Scheme(用Scheme跳转回应用时需要)
打开android/app/src/main/AndroidManifest.xml,在主Activity的<activity>标签内添加如下intent-filter:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- scheme要和你设置的callbackUrl前缀一致,比如yourapp --> <data android:scheme="yourapp" /> </intent-filter>
3. iOS端配置自定义Scheme(用Scheme跳转回应用时需要)
打开ios/Runner/Info.plist,添加URL Types配置:
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <!-- 填入你的自定义Scheme,比如yourapp --> <string>yourapp</string> </array> </dict> </array>
三、修改Flutter代码中的callbackUrl
把代码里的占位符替换成你实际配置的地址,示例如下:
PayWithPayStack().now( secretKey: "sk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXX", customerEmail: "popekabu@gmail.com", reference: DateTime.now().microsecondsSinceEpoch.toString(), callbackUrl: "yourapp://paystack-callback", // 替换成你配置的地址 currency: "GHS", paymentChannel: ["mobile_money", "card"], amount: "20000", transactionCompleted: () { print("Transaction Successful"); }, transactionNotCompleted: () { print("Transaction Not Successful!"); });
如果用后端API作为callbackUrl,直接填入后端地址即可,同时你的后端需要处理Paystack发送的POST请求,验证并同步交易状态。
内容的提问来源于stack exchange,提问作者EBENEZER OCANSEY
相关产品推荐
相关产品推荐

