微信支付 JS API支付接口详解


Posted in Javascript onJuly 11, 2016

一、JS API支付接口(getBrandWCPayRequest)

微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效。微信提供getBrandWCPayRequest接口供商户前端网页调用,调用之前微信会鉴定商户支付权限,若商户具有调起支付的权限,则将开始支付流程。这里主要介绍支付前的接口调用规则,支付状态消息通知机制请参加下文。接口需要注意:所有传入参数都是字符串类型!

getBrandWCPayRequest参数如下图所示。

参数 名称 必填 格式 说明
appId 公众号id 字符串类型 商户注册具有支付权限的公众号成功后即可获得;
timeStamp 时间戳 字符串类型,32个字节以下 商户生成,从1970年1月1日00:00:00至今的秒数,即当前的时间,且最终需要转换为字符串形式;
nonceStr 随机字符串 字符串类型,32个字节以下 商户生成的随机字符串;
package 订单详情扩展字符串 字符串类型,4096个字节以下 商户将订单信息组成该字符串,具体组成方案参见接口使用说明中package组包帮劣;由商户按照规范拼接后传入;
signType 签名方式 字符串类型,参数取值"SHA1" 按照文档中所示填入,目前仅支持SHA1;
paySign 签名 字符串类型 商户将接口列表中的参数按照指定方式?行签名,签名方式使用signType中标示的签名方式,具体签名方案参见接口使用说明中签名帮劣;由商户按照规范签名后传入;

    getBrandWCPayRequest返回值如下表所示。

返回值 说明
err_msg get_brand_wcpay_request:ok  支付成功 get_brand_wcpay_request:cancel 支付过程中用户取消 get_brand_wcpay_request:fail 支付失败

JS API的返回结果 get_brand_wcpay_request:ok 仅在用户成功完成支付时返回。由于前端交互复杂,get_brand_wcpay_request:cancel 或者 get_brand_wcpay_request:fail 可以统一处理为用户遇到错误或者主动放弃,不必细化区分。

二、JS API支付实现

下面代码是微信官方提供的JS API支付demo

<?php
include_once("WxPayHelper.php");
$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();
$wxPayHelper->setParameter("bank_type", "WX");
$wxPayHelper->setParameter("body", "test");
$wxPayHelper->setParameter("partner", "1900000109");
$wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr());
$wxPayHelper->setParameter("total_fee", "1");
$wxPayHelper->setParameter("fee_type", "1");
$wxPayHelper->setParameter("notify_url", "htttp://www.baidu.com");
$wxPayHelper->setParameter("spbill_create_ip", "127.0.0.1");
$wxPayHelper->setParameter("input_charset", "GBK");
?>
<html>
<script language="javascript">
function callpay()
{
 WeixinJSBridge.invoke('getBrandWCPayRequest',<?php echo $wxPayHelper->create_biz_package(); ?>,function(res){
 WeixinJSBridge.log(res.err_msg);
 alert(res.err_code+res.err_desc+res.err_msg);
 });
}
</script>
<body>
<button type="button" onclick="callpay()">wx pay test</button>
</body>
</html>

将其中的微信支付参数修改成自己所申请得到的,然后将网页上传到微信支付目录下,给测试账号回复该网页地址。用户就可以实现一次JS API支付。

三、效果演示

下面是官方DEMO修改后,发起支付的页面图。

微信支付 JS API支付接口详解

确认交易:

微信支付 JS API支付接口详解

输入支付密码:

微信支付 JS API支付接口详解

交易成功:

微信支付 JS API支付接口详解

       以上就是对微信支付JS API 资料的整理,希望能帮到大家,谢谢支持!

Javascript 相关文章推荐
JavaScript中yield实用简洁实现方式
Jun 12 Javascript
JavaScript 字符串处理函数使用小结
Dec 02 Javascript
js 利用image对象实现图片的预加载提高访问速度
Mar 29 Javascript
JavaScript原生对象之Number对象的属性和方法详解
Mar 13 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
Mar 26 Javascript
jQuery实现的网页换肤效果示例
Sep 20 Javascript
jstree的简单实例
Dec 01 Javascript
基于require.js的使用(实例讲解)
Sep 07 Javascript
小程序中英文混合排序问题解决
Aug 02 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
vue下载二进制流图片操作
Oct 26 Javascript
jquery实现图片放大镜效果
Dec 23 jQuery
判断输入的字符串是否是日期格式的简单方法
Jul 11 #Javascript
JS判断日期格式是否合法的简单实例
Jul 11 #Javascript
深入浅析JavaScript中的scrollTop
Jul 11 #Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
Jul 11 #Javascript
js 弹出对话框(遮罩)透明,可拖动的简单实例
Jul 11 #Javascript
Bootstrap3制作搜索框样式的方法
Jul 11 #Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
Jul 11 #Javascript
You might like
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php 地区分类排序算法
2013/07/01 PHP
WordPress导航菜单的滚动和淡入淡出效果的实现要点
2015/12/14 PHP
Yii2验证器(Validator)用法分析
2016/07/23 PHP
THINKPHP在添加数据的时候获取主键id的值方法
2017/04/03 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
js实现点击文本框显示日期选择器特效代码分享
2020/05/21 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
2017/11/08 Javascript
微信小程序多音频播放进度条问题
2018/08/28 Javascript
Flutter实现仿微信底部菜单栏功能
2019/09/18 Javascript
vue2.0 获取从http接口中获取数据,组件开发,路由配置方式
2019/11/04 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
JS实现滑动插件
2020/01/15 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
Python中为什么要用self探讨
2015/04/14 Python
pandas全表查询定位某个值所在行列的方法
2018/04/12 Python
Selenium定位元素操作示例
2018/08/10 Python
django页面跳转问题及注意事项
2019/07/18 Python
Opodo英国旅游网站:预订廉价航班、酒店和汽车租赁
2018/07/14 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
护士毕业实习感言
2014/03/05 职场文书
空气的环保标语
2014/06/12 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
2014年财务科工作总结
2014/11/11 职场文书
写给父母的感谢信
2015/01/22 职场文书
学生保证书格式
2015/02/27 职场文书
求职自荐信怎么写
2015/03/04 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书