美文网首页
flutter 支付(1)- 支付宝支付

flutter 支付(1)- 支付宝支付

作者: iOS_我更专业 | 来源:发表于2020-04-29 17:24 被阅读0次

首先,大家可以看下flutter的一些支付宝库

flutter_alipay: ^0.1.2

运行一下,flutter pub get

首先在iOS项目下配置一些设置:

1、Runner-Bridging-Header.h中导入头文件

#import <flutter_alipay/FlutterAlipayPlugin.h>

2、在AppDelegate里添加如下配置

override func application(_application:UIApplication, open url:URL, sourceApplication:String?, annotation:Any) ->Bool{

 if(url.host=="safepay")//支付宝支付

        {

 return FlutterAlipayPlugin.handleOpen(url);

        }

 return true;

    }

 override func application(_application:UIApplication, handleOpen url:URL) ->Bool{

if(url.host=="safepay")//支付宝支付

        {

 return FlutterAlipayPlugin.handleOpen(url);

        }

 return true;

    }

 override func application(_app:UIApplication, open url:URL, options: [UIApplication.OpenURLOptionsKey:Any] = [:]) ->Bool{

if(url.host=="safepay")//支付宝支付

        {

 return FlutterAlipayPlugin.handleOpen(url);

        }

 return true;

    }

3、在info.plist中加入如下配置

<key>CFBundleURLTypes</key>

<array>

<dict>

<key>CFBundleTypeRole</key>

<string>Editor</string>

<key>CFBundleURLName</key>

<string>alipay</string>

<key>CFBundleURLSchemes</key>

<array>

<string>***alipay</string>

</array>

</dict>

</array>

<key>CFBundleVersion</key>

4、在Flutter项目下可以创建一个ALiPayHelper的类,用来管理阿里支付,返回Future<bool>,成功为true,不成功为false

class AliPayHelper {

  static Future<bool> aliPay(String sign) async {

    if (sign == null || sign.length == 0) {

      return false;

    }

    FlutterAlipay.pay(sign).then((payResult) {

      print('>>>>>  ${payResult.toString()}');

      /*

        /// 支付状态,参考支付宝的文档https://docs.open.alipay.com/204/105695/

  /// 返回码,标识支付状态,含义如下:

  /// 9000——订单支付成功        上面的result有值

  /// 8000——正在处理中

  /// 4000——订单支付失败

  /// 5000——重复请求

  /// 6001——用户中途取消

  /// 6002——网络连接出错

      */

      String payResultStatus = payResult.resultStatus;

      if (payResultStatus == "9000") {

        return true;

        print("支付成功");

        CommonToast.showToast('支付成功');

      } else if (payResultStatus == "6001") {

        return false;

        print("支付取消");

        CommonToast.showToast('支付取消');

      } else if (payResultStatus == "4000") {

        return false;

        print("支付失败");

        CommonToast.showToast('支付失败');

      } else if (payResultStatus == "8000") {

        return false;

        print("等待支付");

        CommonToast.showToast('等待支付');

      } else if (payResultStatus == "6002") {

        return false;

        print("无网络");

        CommonToast.showToast('无网络');

      } else if (payResultStatus == "5000") {

        return false;

        print("重复支付");

        CommonToast.showToast('重复支付');

      }else{

        return false;

        print("支付失败,未知错误");

        CommonToast.showToast('支付失败,未知错误');

      }

    }).catchError((e) {

      return false;

      print("支付失败");

      CommonToast.showToast('支付失败');

    });

  }

}

相关文章

  • flutter 支付(1)- 支付宝支付

    首先,大家可以看下flutter的一些支付宝库 flutter_alipay: ^0.1.2 运行一下,flutt...

  • 奖品合集

    支付宝44.44x12 支付宝200x1 支付宝121x1 支付宝111x1 支付宝100x1 支付宝88x1 支...

  • 三方支付流程总结

    支付宝支付和微信支付 支付宝支付流程图: 支付宝支付: 当我们选择点击了支付宝支付按钮开始 1.app选择商品进行...

  • iOS第三方支付(支付宝、微信)

    这里会详细讲解支付宝和微信支付 一、支付宝支付 1.准备工作 1> 向支付宝”签约" 成为支付宝的”商户”, 签约...

  • web项目接入支付宝

    1.设置支付宝相关参数 web项目接入支付宝 create by wangzh@briup.com 1.支付宝支付...

  • ios支付宝支付集成及实现

    1、开始下载和查看支付宝支付的Demo。 我们直接进入支付宝的支付平台参考来进行集成支付宝支付: https://...

  • 支付宝支付开发IOS图文教程

    1、开始下载和查看支付宝支付的Demo。 我们直接进入支付宝的支付平台参考来进行集成支付宝支付: https://...

  • flutter 支付宝支付

    依赖 tobias: 1.6.0+1 aliPay(tmpData.payData).then((payResul...

  • flutter支付宝支付

    插件 说明一下:可以用其他插件的,不影响,支付宝本身在客户端就很简单,这个主要我跟微信插件是同个作者,写的差不多,...

  • 支付

    支付 1.支付宝和银联的支付流程 常用的支付方式有: 1、支付宝支付 https://openhome.alipa...

网友评论

      本文标题:flutter 支付(1)- 支付宝支付

      本文链接:https://www.haomeiwen.com/subject/vcenwhtx.html