公司要整一个扫码支付然后有个后台能查看交易记录,然后百度搜寻,决定使用laytp2.0框架搭后台。
参考了以下文档:
https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_1_1.shtml
https://github.com/wechatpay-apiv3/wechatpay-php
https://www.laytp.com/doc/laytp/1.html
配置啥的不阐述了,代码大致流程:获取code,code获取openid,jsapi下单获取prepay_id,然后配置支付参数组装验签,调用微信支付,支付成功后回调,成功跳转页面。
前端代码:
form.on('submit(pay)', function (data) {
var buttonAnim = layui.button.load({elem: '.pay'});
//判断有没有code
var code = GetQueryString('code');
//有code
if (code !== undefined && code !== '' && code !== null) {
var openid = GetQueryString('openid');
data.field.openid = openid;
$.ajax({
url: '/payment.wechat/jsApiPay',
type: 'post',
dataType: 'json',
contentType: "application/json",
data: JSON.stringify(data.field),
success: function (inf) {
if (inf.code === 0) {
let order = inf.data
$.get('/payment.wechat/payConfig',
{prepay_id: inf.data.prepay_id},
function (sign) {
WeixinJSBridge.invoke('getBrandWCPayRequest', sign,
function(res){
if (res.err_msg == "get_brand_wcpay_request:ok") {
window.location.href='xxxxxxxx/wechatSuccess.html?amount='+order.amount+'&out_trade_no='+order.order_sn+'&success_time='+order.create_time;