发表日期:2019-10 文章编辑:小灯 浏览次数:1081
有几个先要条件:
备注:pingpp,ping plus plus 简称 ping++
大致的配置内容如下:
一般的 pingpp 支付请求处理是根据上图所示:
参考:https://www.pingxx.com/docs/overview/transaction/charge?transaction=true
这里是 pingpp 帮我们封装好了微信小程序的支付流程,只需要传入wx_app_id公众号唯一标示和授权后跳转的地址就可以了,正常的流程并不是这么简单,具体可以参考微信公众号的支付开发文档: https://pay.weixin.qq.com/wiki/doc/api/index.html
小程序的 pingpp 调用支付流程是:
wx.login({ // 这个接口可以在打开小程序的时候调用,然后保存code用来后续使用
success: function(res) {
if(res.code){ // 获取到 code
console.log('code = ' + res.code);
}else{
console.log('获取用户登录态失败!' + res.errMsg);
}
}
});
这里可以参看官方小程序登录流程图
wx.request
),请求你自己的服务端。然后在服务端使用 code 来获取 open_id,其中 $wx_app_id
是你的微信AppID(小程序ID) ,$wx_app_secret
是你的微信小程序密钥。<?php
$code = $_GET['code'];
// 这里会返回一个 open_id,这个open_id是微信用户唯一标识
$open_id = \Pingpp\WxpubOAuth::getOpenid($wx_app_id, $wx_app_secret, $code);
这里可以参看官方小程序的支付流程图
这里须有几个地方需要注意:
关于用户的 unionid
下载 pingpp 专门给小程序用的js sdk,在这个地址下载https://github.com/PingPlusPlus/pingpp-js
这里是需要自己构建的,使用 gulp 构建:
因为微信小程序中 不能使用其他支付渠道,构建时请添加该参数
wx_lite
gulp build --channels=wx_lite
构建好后就会出现dist 目录:
pingpp-js-master tree . -L 1
.
├── CHANGELOG.md
├── README.md
├── alipay_in_weixin
├── demo
├── dist // 每次构建都会重新删除 dist 目录然后重新创建
├── gulpfile.js
├── mods.js.tmpl
├── node_modules
├── package.json
├── src
└── test
dist目录下会生成pingpp.js
,我们需要的就是这个。
在小程序的支付订单页面的 js 文件(这个页面是根据自己开发的程序逻辑决定,总而言之,就是最终要在小程序支付的地方)
// 创建 pingpp charge 订单
// apiGet.pingppCreateCharge是自己写的封装函数,用来发起 pingpp 的支付请求,不需要理会
apiGet.pingppCreateCharge(payId, 'wx_lite').then(function (res) {
console.log('result_pingpp:' + JSON.stringify(res));
// pingpp 会返回一个 charge 的支付请求,这里按需引入 pingpp 的 jssdk 包,然后发起真正的 pingpp 支付请求(即调起 pingpp 的支付控件)
if (res.type == 1) {
// 调起 pingpp 支付
let pingpp = require('../../utils/libs/pingpp.js');
// 执行 pingpp 的创建支付的方法pingpp.createPayment
pingpp.createPayment(res.charge, function (result, err) {
if (result == "success") {
console.log(result);
// payment succeeded 支付成功
} else {
console.log(result + " " + err.msg + " " + err.extra);
}
});
}
pingpp.js 的目录需要自己放置到小程序的开发项目目录里面,目录根据自己需要确定
A:因为支付接口和流程异常复杂并且经常容易变动,如果维护起来是相当麻烦的,通过使用这种第三方封装的,且有专人维护的接口,会减少相当一部分的开发成本和后续维护成本
全文参考网址:
原文链接:https://www.godblessyuan.com/...
日期:2019-11 浏览次数:4789
日期:2019-11 浏览次数:11212
日期:2019-11 浏览次数:3654
日期:2019-11 浏览次数:4561
日期:2019-11 浏览次数:4660
日期:2019-11 浏览次数:6331
日期:2019-11 浏览次数:4582
日期:2019-11 浏览次数:15029
日期:2019-11 浏览次数:3928
日期:2019-11 浏览次数:5700
日期:2019-11 浏览次数:4535
日期:2019-11 浏览次数:3867
日期:2019-11 浏览次数:9630
日期:2019-11 浏览次数:7540
日期:2019-11 浏览次数:4230
日期:2019-11 浏览次数:3624
日期:2019-11 浏览次数:8167
日期:2019-11 浏览次数:3877
日期:2019-11 浏览次数:4052
日期:2019-11 浏览次数:4121
日期:2019-11 浏览次数:3686
日期:2019-11 浏览次数:4269
日期:2019-11 浏览次数:9454
日期:2019-11 浏览次数:4470
日期:2019-11 浏览次数:4464
日期:2019-11 浏览次数:4048
日期:2019-11 浏览次数:11366
日期:2019-11 浏览次数:6661
日期:2019-11 浏览次数:6921
日期:2019-11 浏览次数:4274
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.