Heim  >  Artikel  >  Backend-Entwicklung  >  微信支付如何实现扫商户二维码后输入金额支付

微信支付如何实现扫商户二维码后输入金额支付

WBOY
WBOYOriginal
2016-06-23 13:22:471634Durchsuche

微信支付如何实现扫商户二维码后输入金额支付,求源代码


回复讨论(解决方案)

看文档。微信有提供SDK。

http://kf.qq.com/faq/120911VrYVrA150906yUZze6.html

https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=6_3

楼上的谢谢,已经看了,就是想要代码,下边的代码怎么改造?

<?php ini_set('date.timezone','Asia/Shanghai');//error_reporting(E_ERROR);require_once "../lib/WxPay.Api.php";require_once "WxPay.JsApiPay.php";require_once 'log.php';//初始化日志$logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');$log = Log::Init($logHandler, 15);//打印输出数组信息function printf_info($data){    foreach($data as $key=>$value){        echo "<font color='#00ff55;'>$key</font> : $value <br/>";    }}//①、获取用户openid$tools = new JsApiPay();$openId = $tools->GetOpenid();//②、统一下单$input = new WxPayUnifiedOrder();$input->SetBody("test");$input->SetAttach("test");$input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));$input->SetTotal_fee("1");$input->SetTime_start(date("YmdHis"));$input->SetTime_expire(date("YmdHis", time() + 600));$input->SetGoods_tag("test");$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");$input->SetTrade_type("JSAPI");$input->SetOpenid($openId);$order = WxPayApi::unifiedOrder($input);echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';printf_info($order);$jsApiParameters = $tools->GetJsApiParameters($order);//获取共享收货地址js函数参数$editAddress = $tools->GetEditAddressParameters();//③、在支持成功回调通知中处理成功之后的事宜,见 notify.php/** * 注意: * 1、当你的回调地址不可访问的时候,回调通知会失败,可以通过查询订单来确认支付是否成功 * 2、jsapi支付时需要填入用户openid,WxPay.JsApiPay.php中有获取openid流程 (文档可以参考微信公众平台“网页授权接口”, * 参考http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html) */?><html><head>    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>    <meta name="viewport" content="width=device-width, initial-scale=1"/>     <title>微信支付样例-支付</title>    <script type="text/javascript">	//调用微信JS api 支付	function jsApiCall()	{		WeixinJSBridge.invoke(			'getBrandWCPayRequest',			<?php echo $jsApiParameters; ?>,			function(res){				WeixinJSBridge.log(res.err_msg);				alert(res.err_code+res.err_desc+res.err_msg);			}		);	}	function callpay()	{		if (typeof WeixinJSBridge == "undefined"){		    if( document.addEventListener ){		        document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);		    }else if (document.attachEvent){		        document.attachEvent('WeixinJSBridgeReady', jsApiCall); 		        document.attachEvent('onWeixinJSBridgeReady', jsApiCall);		    }		}else{		    jsApiCall();		}	}	</script>	<script type="text/javascript">	//获取共享地址	function editAddress()	{		WeixinJSBridge.invoke(			'editAddress',			<?php echo $editAddress; ?>,			function(res){				var value1 = res.proviceFirstStageName;				var value2 = res.addressCitySecondStageName;				var value3 = res.addressCountiesThirdStageName;				var value4 = res.addressDetailInfo;				var tel = res.telNumber;								alert(value1 + value2 + value3 + value4 + ":" + tel);			}		);	}		window.onload = function(){		if (typeof WeixinJSBridge == "undefined"){		    if( document.addEventListener ){		        document.addEventListener('WeixinJSBridgeReady', editAddress, false);		    }else if (document.attachEvent){		        document.attachEvent('WeixinJSBridgeReady', editAddress); 		        document.attachEvent('onWeixinJSBridgeReady', editAddress);		    }		}else{			editAddress();		}	};		</script></head><body>    <br/>    <font color="#9ACD32"><b>该笔订单支付金额为<span style="color:#f00;font-size:50px">1分</span>钱</b></font><br/><br/>	<div align="center">		<button style="width:210px; height:50px; border-radius: 15px;background-color:#FE6714; border:0px #FE6714 solid; cursor: pointer;  color:white;  font-size:16px;" type="button" onclick="callpay()" >立即支付</button>	</div></body></html>

解决办法:http://blog.csdn.net/wyx100/article/details/49813299

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php设计模式Nächster Artikel:如何通过iframe打开和关闭指定页面