使用 dart、flutter web 和 api 的 Paytabs 支付集成

Posted

技术标签:

【中文标题】使用 dart、flutter web 和 api 的 Paytabs 支付集成【英文标题】:Paytabs payment integration using dart, flutter web and api 【发布时间】:2020-04-23 13:52:13 【问题描述】:

我有一个颤振的网络项目,我正在尝试实施支付解决方案。我发现 paytabs 对我的情况来说是个不错的选择。我想添加他们的 api,但我的颤振网站上不断出现 CORS 错误。所以我尝试了他们的现成付款页面,但我也无法实施,因为我以前对 Web 开发一无所知。我只使用飞镖和颤振。但我想实现 api,因为它提供了更高的控制。这是用于发布请求的 url https://www.paytabs.com/apiv2/create_pay_page 使用 http 包我总是让 CORS 显示为错误。 paytab服务的文档:https://dev.paytabs.com/docs/paypage/希望你能帮忙

【问题讨论】:

您找到解决方案了吗? 在 Flutter Mobile 应用中找到支付宝的解决方案了吗? 不,我找不到 CORS 的解决方案 【参考方案1】:

flutter 没有可用的支付插件。 但我们可以使用flutter platform channel 集成 PayTabs。

步骤 1-> 创建 Flutter 平台客户端final Map result = await methodChannel.invokeMethod('getPayTabs'); 示例:`

Future<void> _getPayTabs() async 
String batteryLevel;
try 
  debugPrint("this is dart getPayTabs");
  final Map result = await methodChannel.invokeMethod('getPayTabs');
  debugPrint("trasiction data $result");
 on PlatformException 
  debugPrint("trasiction data Failed");


步骤 2-> 导入 SDK android 项目

    在 Android Studio 中,右键单击应用程序选择新建 > 模块 选择下载的paytabs_sdk-v4.0.1.aar。如果没有,请下载here 右键单击您的应用并选择打开模块设置 添加模块依赖 选择:要包含的 paytabs_sdk-v4.0.1 模块 通过在侧边栏中将 Android 视图更改为项目视图来确认模块导入 添加以下依赖项。 您可以从更改代码开始。

    您必须包含以下依赖项:

    所有项目 存储库 ... 行家 网址'https://jitpack.io'

    实现 'com.android.support:design:28.0.0' 实施 'com.android.support:appcompat-v7:28.0.0' 实施 'com.squareup.retrofit2:retrofit:2.4.0' 实施 'com.google.code.gson:gson:2.8.5' 实施 'com.squareup.retrofit2:converter-gson:2.4.0' 实现 'com.github.dbchelder:CreditCardEntry:1.4.9'

步骤 3-> 添加 Android 平台特定的实现 首先在 Android Studio 中打开 Flutter 应用的 Android 主机部分:

    在项目视图中打开位于 kotlin 文件夹中的文件 MainActivity.kt。 (注意:如果使用 Android Studio 2.3 进行编辑,请注意 kotlin 文件夹显示为好像名为 java。) 在 configureFlutterEngine() 方法中,创建一个 MethodChannel 并调用 setMethodCallHandler()。确保使用与 Flutter 客户端相同的通道名称。

    您需要覆盖 Activity 的 onActivityResult

【讨论】:

能否请您也指导一下ios 可以在 iOS 端编写的相同原生代码

以上是关于使用 dart、flutter web 和 api 的 Paytabs 支付集成的主要内容,如果未能解决你的问题,请参考以下文章

Flutter (Dart 2) 访问 twitter GET api

如何使用 dart/flutter 从 API 获取数据?

Dart Flutter 通用 Api 响应类 动态类 数据类型

Docker 中用于 Web 上 Flutter 的 Dart 服务器

Flutter Web:不使用 dart:io 裁剪图像

如何将使用graphQL的api响应转换为flutter中的Plain Old Dart Object?