Android Cordova 微信支付
准备工作
- 公司营业执照
- 公司法人身份证正反面照片
- 公司法人手持身份证照片
- 公司对公账号(并能提供微信向您公司转账的数额)
- 您的身份证正反面照片(作为公司技术人员)
- 您的手机号码
- 绑定您银行卡的微信
- 300元认证费用
- 公司固话
- 7~21天时间
- APP 原型(能提供APP 首页,版权页,产品分类页,产品详情页,支付页截图,确定APP 的名字,图标,keystore 文件)
1.注册微信开放平台账号,按指引激活邮箱,完善开发者资料,支付费用,等待审核。
2.审核通过后,在管理中心
页面点击创建移动应用
,应用签名
和应用包名
填写所开发应用的值,等待审核,审核通过后,记住您的APPID
,记住您的应用签名
和应用包名
。(应用
签名获取方法,请将您的APP 通过key 发布之后,安装您的APP和签名获取软件,打开签名获取软件,输入您的应用包名即可)
3.在管理中心
页面,点击应用右边的详情
按钮,找到微信支付,点击右边的申请开通
链接,按要求填写。
4.申请通过后你会收到一封邮件,内含微信商家平台的账户信息,按邮件指引登录并完成商户认证,记住你的商户ID
(邮件里的微信支付商户号)。
5.在账户中心
,API 安全
页面,点击设置密钥,API密钥的位置填写32 位密钥, 记住你的API密钥
。(附:随机密钥生成地址)
研发工作
1.新建cordova 项目 cordova create wechat-pay
2.添加安卓平台,cd wechat-pay && cordova platform add android
3.打开config.xml
,把io.cordova.hellocordova
更改为应用包名
4.安装微信支付插件cordova plugin add https://github.com/ZhichengChen/cordova-plugin-wechat-payments
5.打开plugins/com.justep.cordova.plugin.weixin.v3/plugin.xml
和platforms/android/AndroidManifest.xml
,将$weixin_appid
替换成您的APPID
6.打开platforms/android/src/com/justep/base/Constants.java
,将PACKNAME
,ACTIVITYCLASSNAME
,APPNAME
,APPID
,PARTNERID
,APIKEY
分别赋值应用包名
,MainActivity
,应用名
,APPID
,商户ID
,API密钥
7.打开platforms/android/build.gradle
,在android {
下加入一行useLibrary 'org.apache.http.legacy'
8.将你的keystore 文件拷贝到根目录下,在根目录下新建build.json
,内容如下
{
"android": {
"release": {
"keystore": "./替换成您的keystore 文件名",
"storePassword": "替换成你的password",
"alias": "替换成你的alias",
"password" : "替换成你的password",
"keystoreType": ""
}
}
}
9.打开www/index.html
,在class 为app 的div 里加入支付按钮代码,加入后body 内代码如下
<div class="app">
<h1>Apache Cordova</h1>
<div id="deviceready" class="blink">
<p class="event listening">Connecting to Device</p>
<p class="event received">Device is Ready</p>
</div>
<br/>
<button id="pay">微信支付</button>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
10.打开www/js/index.js
, 在onDeviceReady 函数里加入支付代码,加入后onDeviceReady 函数代码如下
onDeviceReady: function() {
this.receivedEvent('deviceready');
function randomString(len) {
var chars = '1234567890';
var maxPos = chars.length;
var pwd = '';
for (i = 0; i < len; i++) {
pwd += chars.charAt(Math.floor(Math.random() * maxPos));
}
return pwd;
}
document.getElementById('pay').addEventListener('click', function(){
var weixin = navigator.weixin;
var notifyUrl = "http://www.justep.com";
var traceID = randomString(6);
var traceNo = randomString(9);
weixin.generatePrepayId({
"body" : "x5外卖",
"feeType" : "1",
"notifyUrl" : notifyUrl,
"totalFee" : "1",
"traceId" : traceID,
"tradeNo" : traceNo
}, function(prepayId) {
weixin.sendPayReq(prepayId, function(message) {
console.log(message);
var responseCode = parseInt(message);
if (responseCode === 0) {
alert("微信支付成功");
} else if (!isNaN(responseCode)) {
alert("微信支付失败(-13)"+responseCode);
} else {
alert("微信支付失败(-10)");
}
}, function(message) {
alert("微信支付失败(-10)");
});
}, function(message) {
console.log(message);
alert("微信支付失败(-11)");
}
);
}, false)
},
11.运行cordova run android --release
源文件下载
链接: https://pan.baidu.com/s/1c121g9E 密码: eacd
欢迎加微信探讨,微信验证申请请填写博客标题