快速对接payjq的个人微信支付接口过程解析


Posted in Javascript onAugust 15, 2019

近期在了解个人支付接口,希望能解决我在微信上支付的问题。找了很多平台对比再三,感觉 payjq 比较专业。同时支持支付宝和微信,由于本人支付宝还没开通(需要有一定流量才给开通),本文重点讲一下微信收银台模式的对接。记录一下。

收银台模式对接其实非常简单,官方有开发包可以直接使用,或者自己开发也比较简单。

一、个人通过代码实现的办法

配置商户号和通信密钥

$mchid = '**************'; // PAYJQ 商户号
 $key  = '**************'; // 通信密钥

构造订单

// 构造订单参数
 $data = [
   'mchid'    => $mchid,
   'body'     => '我是一个测试订单标题',
   'total_fee'  => 1,
   'out_trade_no' => 'payjq_jspay_demo_' . time(),
 ];

签名算法

// 获取签名
 function sign($data, $key)
 {
   array_filter($data);
   ksort($data);
   return strtoupper(md5(urldecode(http_build_query($data) . '&key=' . $key)));
 }

订单数据加签

// 添加数据签名
 $data['sign'] = sign($data, $key);

浏览器跳转

// 浏览器跳转到收银台
 $url = 'https://payjq.cn/api/cashier?' . http_build_query($data);
 header('Location: ' . $url);

所有步骤已经完成。可以正常发起支付

需要特别提醒的是,最后一步浏览器跳转的动作,须要通过浏览器发起,不能后端代码获取后再发起

二、异步通知的处理

例如我的域名是 http://www.xxx.com ,接收异步通知的url是 http://www.xxx.com/payjq/notify.php 只需在构造订单的时候,添加以下字段即可

// 构造订单参数
 $data = [
   'mchid'    => $mchid,
   'body'     => '我是一个测试订单标题',
   'total_fee'  => 1,
   'out_trade_no' => 'payjq_jspay_demo_' . time(),
   'notify_url'  => 'http://www.xxx.com/payjq/notify.php',
 ];

这样,在用户支付完成后,我的服务器即可接收到异步通知。经过测试,异步通知的到达时间一般在1秒内就收到了,感受不到延迟。只是我在前端轮询的时候可能三秒轮询一次频率比较低

payjq官网

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
Dec 02 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
Feb 16 Javascript
javascript验证只能输入数字和一个小数点示例
Oct 21 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
再JavaScript的jQuery库中编写动画效果的指南
Aug 13 Javascript
Bootstrap每天必学之表单
Nov 23 Javascript
jQuery使用$.ajax提交表单完整实例
Dec 11 Javascript
代码详解JS操作剪贴板
Feb 11 Javascript
解决Angular4项目部署到服务器上刷新404的问题
Aug 31 Javascript
js jquery 获取某一元素到浏览器顶端的距离实现方法
Sep 05 jQuery
vue 配置多页面应用的示例代码
Oct 22 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
Element-UI中关于table表格的那些骚操作(小结)
Aug 15 #Javascript
原生js实现可兼容PC和移动端的拖动滑块功能详解【测试可用】
Aug 15 #Javascript
js设计模式之单例模式原理与用法详解
Aug 15 #Javascript
js设计模式之代理模式及订阅发布模式实例详解
Aug 15 #Javascript
JS实现水平遍历和嵌套递归操作示例
Aug 15 #Javascript
angularjs1.X 重构controller 的方法小结
Aug 15 #Javascript
浅析Vue中拆分视图层代码的5点建议
Aug 15 #Javascript
You might like
PHP的PSR规范中文版
2013/09/28 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
21个值得收藏的Javascript技巧
2014/02/04 Javascript
js中精确计算加法和减法示例
2014/03/28 Javascript
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
js贪吃蛇游戏实现思路和源码
2016/04/14 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
Vue核心概念Getter的使用方法
2019/01/18 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
python去除所有html标签的方法
2015/05/05 Python
Python的Django框架中的URL配置与松耦合
2015/07/15 Python
Python实现计算最小编辑距离
2016/03/17 Python
不到20行代码用Python做一个智能聊天机器人
2019/04/19 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
Django之form组件自动校验数据实现
2020/01/14 Python
python爬虫多次请求超时的几种重试方法(6种)
2020/12/01 Python
戴尔新加坡官网:Dell Singapore
2020/12/13 全球购物
学校元旦晚会方案
2014/02/19 职场文书
商务助理求职信范文
2014/04/20 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
2014年业务工作总结
2014/11/17 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
2014年妇联工作总结
2014/11/21 职场文书
大班下学期个人总结
2015/02/13 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
同学聚会通知短信
2015/04/20 职场文书
学生会招新宣传语
2015/07/13 职场文书
班干部竞选演讲稿(精选5篇)
2019/09/24 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
SQL Server使用导出向导功能
2022/04/08 SQL Server