发起支付(JS)

本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699 

发起支付(JS版)

在PHP中发起支付时,粉丝在支付时界面会跳转至系统的收银台界面中(PHP版中文末的图),对于希望能在当前页面直接处理的开发者,微擎提供了利用JS发起支付的方式,该方式如果是微信支付会直接在当前页面中支付,如果是百度钱包、支付宝其它支付则会直接跳转至支付方进行支付。

util.pay(option)

option 参数列表

名称 类型 说明
orderFee decimal 要支付的金额
payMethod string 发起的支付类型,分别为 微信支付(wechat)、百度钱包(baifubao)、支付宝(alipay)、银联支付(unionpay)
orderTitle string 支付标题
orderTid string 充值模块中的订单号,此号码用于业务模块中区分订单,保证在业务中是唯一即可
goodsTag string 订单优惠标记(代金券标识)
module string 发起支付的模块,支付成功后会通知该模块
success string 支付成功回调函数
fail string 支付失败时回调函数
complete string 支付完成(成功和失败)时回调函数

注意:orderTid 业务订单号此值,在调用util.pay方法之前应当先ajax请求一个订单号,然后再发起支付。

示例

<button type="button" class="mui-btn mui-btn-block mui-disabled js-wechat-pay">微信支付(加载中)</button>
<button type="button" onclick="dopayBaidu()" class="mui-btn mui-btn-block">百度钱包</button>

<script type="text/javascript">

//发起微信支付,微信支付依赖于 WeixinJSBridge 组件,所以发起时应该在ready事件中进行
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
	$('.js-wechat-pay').removeClass('mui-disabled');
	$('.js-wechat-pay').click(function(){
    	//先通过AJAX获取最新的订单号
    	$.getJSON("xxxx.php", function(data, status){
			if(status == 'success'){
				util.pay({
					orderFee : data.fee,
					payMethod : 'wechat',
					orderTitle : '充值' + data.fee + '元',
					orderTid : data.ordertid,
					goodsTag : data.goodsTag,
					module : 'recharge',
					success : function(result) {
						alert('支付成功');
					},
                    fail : function(result) {
                        alert('fail : ' + result.message);
                    },
					complete : function(result) {
						location.reload();
					}
				});
			}
		});
	});
	$('.js-wechat-pay').html('微信支付');
});

//百度钱包和其它支付则无浏览器组件要求,可直接使用
function dopayBaidu() {
		util.pay({
			orderFee : 0.01,
			payMethod : 'baifubao',
			orderTitle : '充值10元',
			orderTid : 1234567104,
			module : 'recharge',
			success : function(res) {
				alert('支付成功');
			},
			fail : function(result) {
				alert('fail : ' + result.message);
			},
			complete : function(result) {
				alert('complete : ' + result.message);
			}
		});
}
</script>

效果如下:

本页目录
  1. 发起支付(JS版)
  2. util.pay(option)
文档统计
浏览次数:175640次
编辑次数:210次历史版本
最近更新:2023-01-16 16:16:34

如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。