• Stars
    star
    178
  • Rank 214,989 (Top 5 %)
  • Language
    C
  • Created over 9 years ago
  • Updated over 8 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cordova支付宝插件,cordova alipay plugin

Cordova 支付宝支付插件

最新更新

  1. 增加callback
  2. 默认使用自动安装的方法
  3. 去除了对URL Scheme的依赖

支持的系统

  • iOS
  • Android

自动安装(Cordova > v5.1.1)

cordova plugin add https://github.com/charleyw/cordova-plugin-alipay.git --variable PARTNER_ID=[你的商户PID可以在账户中查询] --variable SELLER_ACCOUNT=[你的商户支付宝帐号] --variable PRIVATE_KEY=[你生成的private key]

注意:PRIVATE_KEY的值是生成的私钥的内容,要求是PKCS格式,需要去掉——-BEGIN PRIVAT KEY——-和——-END PRIVATE KEY——-,以及空格换行。关于私钥的说明详见下面关于私钥部分

使用方法

window.alipay.pay({
    tradeNo: new Date().getTime(),
    subject: "测试标题",
    body: "我是测试内容",
    price: 0.02,
    notifyUrl: "http://your.server.notify.url"
}, function(successResults){alert(successResults)}, function(errorResults){alert(errorResults)});

参数说明

  • tradeNo 这个是支付宝需要的商家支付单号,应该是一个自己生成唯一的ID号
  • subject 这个字段会显示在支付宝付款的页面
  • body 订单详情,没找到会显示哪里
  • price 价格,支持两位小数
  • function(successResults){} 是成功之后的回调函数
  • function(errorResults){} 是失败之后的回调函数

successResultserrorResults分别是成功和失败之后支付宝SDK返回的结果,类似如下内容

// 成功
{
	resultStatus: "9000",
	memo: "",
	result: "partner=\"XXXX\"&seller_id=\"XXXX\"&out_trade_no=\"XXXXX\"..."	
}
// 用户取消
{
	memo: "用户中途取消", 
	resultStatus: "6001", 
	result: ""	
}
  • resultStatus的含义请参照这个官方文档:客户端返回码
  • memo:一般是一些纯中文的解释,出错的时候会有内容。
  • result: 是所有支付请求参数的拼接起来的字符串。

关于私钥

这里用的私钥一定是PKCS格式的,详细生成步骤请参照官方文档:RSA私钥及公钥生成

文档中描述的这一步:OpenSSL> pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt会将生成的私钥打印到屏幕上,记得复制下来。

手动安装

  1. 使用git命令将插件下载到本地,并标记为$CORDOVA_PLUGIN_DIR

     git clone https://github.com/charleyw/cordova-plugin-alipay.git && cd cordova-plugin-alipay && export CORDOVA_PLUGIN_DIR=$(pwd)
    
  2. 修改$CORDOVA_PLUGIN_DIR/plugin.xml,删除下面这一行:

     <preference name="PRIVATE_KEY"/>
    
  3. 修改$CORDOVA_PLUGIN_DIR/plugin.xml,将

     <preference name="privatekey" value="$PRIVATE_KEY" />
    

改成

	<preference name="privatekey" value="你生成的private key的内容"/>

**注意**:总共有两处
  1. 安装

     cordova plugin add $CORDOVA_PLUGIN_DIR --variable PARTNER_ID=[你的商户PID可以在账户中查询] --variable SELLER_ACCOUNT=[你的商户支付宝帐号]
    

Liscense

© 2015 Wang Chao. This code is distributed under the MIT license.