zoukankan      html  css  js  c++  java
  • flutter 接入 alipay支付宝

    Flutter alipay支付集成,尝试了3种插件

    (1)插件sy_flutter_alipay ios下编译失败,放弃

    (2)插件 flutter_alipay 最终也失败放弃

    https://github.com/best-flutter/flutter_alipay

    几个点:

    1.info.plist

    CFBundleURLTypesLSApplicationQueriesSchemes

    <key>LSApplicationQueriesSchemes</key>

    <array>

    <string>mqqOpensdkSSoLogin</string>

        <string>mqzone</string>

        <string>sinaweibo</string>

        <string>alipayauth</string>

        <string>alipay</string>

        <string>safepay</string>

        <string>mqq</string>

        <string>mqqapi</string>

        <string>mqqopensdkapiV3</string>

        <string>mqqopensdkapiV2</string>

        <string>mqqapiwallet</string>

        <string>mqqwpa</string>

        <string>mqqbrowser</string>

        <string>wtloginmqq2</string>

        <string>weixin</string>

        <string>wechat</string>

    <string>cydia</string>

    </array>

    <key>CFBundleURLTypes</key>

    <array>

    <dict>

    <key>CFBundleURLName</key>

                <string>alipay</string>

                <key>CFBundleTypeRole</key>

                <string>Editor</string>

                <key>CFBundleURLSchemes</key>

    <array>

    <string>aimingAlipay</string>

    </array>

    </dict>

    <dict/>

    <dict/>

    </array>

    2.Appdelegate.swift增加

    3.服务端回调

    pc的参数

    var payResult = await FlutterAlipay.pay(payUrl);

    print(payResult);

    最后测试 能拉起支付,但返回app的时候 payResult的结果没有,看了git issue 也没有人回复,但有的人能成功。查看了官方sdk2个接口

    (1.0) mobile.securitypay.pay

    (2.0)alipay.trade.app.pay

    我用的是1.0 没有reture result,不知道别人成功的是不是2.0

    (3)最后用了靠谱的 ibatis,就是这个名字取的不行,怎么都想不到他是alipay插件,但很靠谱和好用,不管怎么样 urlschme是一定要配置的

    Map payResult;

    try {

    print("The pay info is : " + payUrl);

    payResult = await aliPay(payUrl);

    print("--->$payResult");

    } on Exception catch (e) {

    payResult = {};

    }

    if (!mounted) return;

    print('payResult:' + payResult.toString());

    if (payResult['resultStatus'].toString() == '9000') {

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

    Navigator.of(context)

    .push(MaterialPageRoute(builder: (_) => FinanceListView()));

    } else {

    Utils.showCustomAlert(context,

    content: Text('支付失败:' + payResult['resultStatus']));

    }

  • 相关阅读:
    HTML清除浮动的几种形式
    HTML和XML的区别
    CSS选择器的优先级
    CSS选择器
    PHP单文件和多文件的上传(示例)
    单元测试
    定义person类及其子类,并按要求设计、定义和实例化类 (实例)
    CSS的 行内元素 和 块类元素
    小心了!Kubernetes自动化操作工具将让你失去工作
    开源云计算厂商:浅析渠道激活平台的打造
  • 原文地址:https://www.cnblogs.com/kobewang/p/12780981.html
Copyright © 2011-2022 走看看