Skip to content

litang0908/next_alipay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

next_alipay

实现在 Harmony NEXT 运行的 Flutter 项目实现支付宝购买逻辑。

参考文档

注意

  • 目前仅实现了 new Pay().pay(orderInfo, withLoading) 方法的桥接,其他方法暂未实现。
  • 此插件仅仅是实现了在 NEXT 原生端调用支付宝完成支付,所需的 orderInfo 需要从 Flutter 层传递过来。
  • 支付宝服务端逻辑请参考支付宝官方文档。
  • 目前对接支付宝 NEXT 版 SDK版本为 V15.8.26

实现流程

  1. Flutter 代码中从服务器获取 orderInfo
  2. Flutter 项目引入 next_alipay 插件
     dependencies:
       next_alipay:
          git:
             url: https://github.com/litang0908/next_alipay.git
  3. 调用下面方法发起原生支付请求
import 'package:next_alipay/next_alipay.dart';

Future<void> _startAlipay() async {
  //请自行实现生成 orderInfo 的逻辑,建议通过服务器来生成
  var orderInfo = ''; //await getOrderInfo();
  final nextAlipayPlugin = NextAlipay();
  var payResult = await nextAlipayPlugin.startPay(orderInfo, true);
  if (payResult?.isNotEmpty ?? false) {
    var payResultJson = jsonDecode(payResult!);
    var resultCode = payResultJson['resultStatus'] ?? '';
    if (resultCode == '9000') {
      //支付成功
      // 刷新用户信息
    } else if (resultCode == '6001') {
      //支付取消
    } else {
      //支付失败
    }
  }
}
  1. 支付完成后,支付宝会回调到原生层,原生层再通过 EventChannel 传递给 Flutter 层,Flutter 层再处理支付结果。
  2. 如果 payResultJson['resultStatus'] == '9000'代表支付成功。
  3. 如果支付不成功,请从 payResultJson['resultStatus'] 中获取错误码,具体错误码请参考支付宝官方文档 常见API错误码大全

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published