本经验是在微信中,用户点击支付直接跳转到浏览器中进行WAP支付,或者用扫码的形式变种成H5支付(因为支付宝的扫码付自身就带H5支付,可以通过截取代码演变)。下面就具体说一下操作方法把。
....
用户在微信中操作支付,比如A页面用户点击了支付,此时跳转到B页面,将相关参数携带给B页面(最好将相关参数进行BASE64等加密),B页面判断如果是在微信的环境中给出以下头部 :
-
header("Content-type:application/pdf");
-
header("Content-Disposition:attachment;filename='downloaded.pdf'");
此时微信会因为头部是下载处理,自动跳转到浏览器中打开这个链接,此时B页面会被在浏览器中重新打开。然后B页面做的有判断是否为微信中打开,此时你只需要处理不再微信中打开的操作就行了,你可以进行跳转,或者进行其他操作等等。。。
以下是PHP代码,A页面携带参数跳转B页面的代码
-
if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ) {
-
-
header("Content-type:application/pdf");
-
header("Content-Disposition:attachment;filename='downloaded.pdf'");
-
}else{
-
-
$url = base64_decode($_GET['url']);
-
header('location:'.$url);
-
}
希望官方开发文档中解决方案可以收纳。造福大家,气死微信哈哈
给个动态图自己看:
以上方法只是用PHP做的一个header头部响应为PDF下载文件,例如JAVA,.NET,Python等都可以的。主要就是让服务端返回一个PDF下载就行了,这样微信就会直接跳出到浏览器打开,剩下的自己联想把