简介
微信收银台支付是进一步对支付接口的封装,商户无需关注调用什么接口,收银台自动识别用户设备完成发起支付并提供相关支付页面。尤其是公众号支付需要获取 openid,使用收银台支付商户无需关注该流程,收银台自动完成该操作。
原理
消费端服务调用微信收银台支付接口,系统会返回一个 URL,客户端对 URL 进行重定向,如果客户端是微信环境则发起 JSAPI 支付,如果客户端是 PC 环境则发起扫码支付。其实跟一码付大致一个原理,都是判断客header中客户端的信息。
来来来,截取部分代码:
$(function(){
var orderNo = GetRequest()['key'];
var ua = navigator.userAgent.toLowerCase();
if (ua.match(/MicroMessenger/i) == 'micromessenger' ){
window.location.href="/pay/cpWxOnePay?orderNo="+orderNo;
}else{
window.location.href="code.html?key="+orderNo;
}
});
效果图
电脑端收银台效果,手机端请阅读原文欣赏。
小结
小编感觉,收银台功能还是蛮方便的(类似于支付宝电脑端支付页面),如果你有多个商户/应用接入,你就不需要每个服务都做一套这样的页面了,想想是不是还是很开心的。