1 Star 0 Fork 0

lingdu0001 / cordova-plugin-alipay

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
This repository doesn't specify license. Without author's permission, this code is only for learning and cannot be used for other purposes.
Clone or download
README.md 3.85 KB
Copy Edit Web IDE Raw Blame History
merlinyang authored 2020-06-18 14:46 . README.md

cordova-plugin-alipay

支付宝的cordova插件,去除UIWebView,使用WKWebView版本。

本插件仅支持《APP支付》,不支持移动支付

let payInfo = "xxx";
cordova.plugins.alipay.payment(payInfo, (e) => {
  //TODO 支付成功

}, (e) => {
  //TODO 支付失败
  console.log(e.resultStatus);
});

注意

插件从v1.0.0开始支持cordova-android 7.0.0,因为cordova-android 7.0.0更改了android项目的文件目录,所以不再兼容以前的老版本,升级前请务必注意。

如果项目是之前的cordova-android老版本,请安装插件以前的老版本,在安装的时候带上版本号即可,cordova-plugin-alipay-v2@0.0.4。

#功能说明

  1. 根据支付宝的说明文档的建议,为保证安全,签名都放到后端去做,前端只需要接收后台传入签名字符串,使用该插件调用支付宝SDK完成支付
  2. APP_ID:对应开放平台中应用的APPID,主要用于iOS平台Xcode构建URL Schemes

支持平台

  1. android (alipaySdk-15.7.6-20200521195109.aar)
  2. iOS (Xcode版本须大于7.0,iOS版本须大于或等于9.0)

安装

在线安装

npm安装

cordova plugin add https://github.com/merlinyang521/cordova-plugin-alipay.git --variable APP_ID=your AppId

本地安装

下载插件到本地

cordova plugin add /your/local/path --variable APP_ID=your AppId

使用 API

第一步:订单在服务端签名生成订单信息,具体请参考官网进行订单签名

带有签名信息的订单信息示例

var payInfo = "app_id=2015052600090779&biz_content=%7B%22timeout_express%22%3A%2230m%22%2C%22product_code%22%3A%22QUICK_MSECURITY_PAY%22%2C%22total_amount%22%3A%220.01%22%2C%22subject%22%3A%221%22%2C%22body%22%3A%22%E6%88%91%E6%98%AF%E6%B5%8B%E8%AF%95%E6%95%B0%E6%8D%AE%22%2C%22out_trade_no%22%3A%22IQJZSRC1YMQB5HU%22%7D&charset=utf-8&format=json&method=alipay.trade.app.pay&notify_url=http%3A%2F%2Fdomain.merchant.com%2Fpayment_notify&sign_type=RSA2&timestamp=2016-08-25%2020%3A26%3A31&version=1.0&sign=cYmuUnKi5QdBsoZEAbMXVMmRWjsuUj%2By48A2DvWAVVBuYkiBj13CFDHu2vZQvmOfkjE0YqCUQE04kqm9Xg3tIX8tPeIGIFtsIyp%2FM45w1ZsDOiduBbduGfRo1XRsvAyVAv2hCrBLLrDI5Vi7uZZ77Lo5J0PpUUWwyQGt0M4cj8g%3D";

第二步:调用支付插件

ionic1 代码示例

cordova.plugins.alipay.payment(payInfo,function success(e){
  // 支付成功

},function error(e){
  //TODO 支付失败
  console.log("支付失败" + e.resultStatus);
});

ionic3 代码示例

ionic3上使用时须在import结束后添加 declare let cordova。

cordova.plugins.alipay.payment(payInfo, (e) => {
  //TODO 支付成功

}, (e) => {
      //TODO 支付失败
      console.log("支付失败" + e.resultStatus);
    });

回调函数参数说明

e.resultStatus 状态代码 e.result 本次操作返回的结果数据 e.memo 提示信息

e.resultStatus:9000 订单支付成功;8000 正在处理中;调用function success

error.resultStatus:4000 订单支付失败;6001 用户中途取消;6002 网络连接出错 ;调用function error

当e.resultStatus为9000时,请去服务端验证支付结果,建议商户依赖异步通知 同步返回的结果必须放置到服务端进行验证,具体请查看验证的规则


TIPS

1. iOS上支付成功之后无法回调

Xcode的URL Types上alipay的URL Schemes正确格式应为ali2xxxxxxxxxxxxxxx。2开头的这串数字是你的APP_ID,英文字母与数字之间没有任何符号!!!

2. 沙箱环境

在我个人的开发过程中确实是没有使用到沙箱环境,都是直接真实支付1分钱来做测试。 如要使用沙箱环境,请自行参考官方文档

Comment ( 0 )

Sign in for post a comment

1
https://gitee.com/lingdu/cordova-plugin-alipay.git
git@gitee.com:lingdu/cordova-plugin-alipay.git
lingdu
cordova-plugin-alipay
cordova-plugin-alipay
master

Search