全网发布是指微信支付后台最后一步中的维权功能、告警接口、发货接口的检测发布。
本文分为以下三个部分:
微信支付目录设置
发货接口的调通
维权接口与告警接口的调通
一、微信支付目录设置
微信支付url的设置和调通微信支付休戚相关。这里我们使用的几个url设置如下:
支付测试url:http://www.fangbei.org/wxpay/jsapi/index.php
交易通知url:http://www.fangbei.org/wxpay/notify/index.php
维权通知url:http://www.fangbei.org/wxpay/rights/index.php
告警通知url:http://www.fangbei.org/wxpay/alarm/index.php
二、发货接口的调通
调通发货接口之前,需要用户已经有一次交易才能发送,所以先完成一次jsapi支付,其代码如下,
<?php include_once("wxpayhelper.php"); $commonutil = new commonutil(); $wxpayhelper = new wxpayhelper(); $wxpayhelper->setparameter("bank_type", "wx"); $wxpayhelper->setparameter("body", "方倍微信支付测试"); $wxpayhelper->setparameter("partner", partnerid); $wxpayhelper->setparameter("out_trade_no", $commonutil->create_noncestr()); $wxpayhelper->setparameter("total_fee", "1"); $wxpayhelper->setparameter("fee_type", "1"); $wxpayhelper->setparameter("notify_url", "http://www.fangbei.org/wxpay/notify/index.php"); $wxpayhelper->setparameter("spbill_create_ip", $_server['remote_addr']); $wxpayhelper->setparameter("input_charset", "gbk"); $biz_package=$wxpayhelper->create_biz_package(); ?> <html> <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"> <script language="javascript"> function callpay() { weixinjsbridge.invoke('getbrandwcpayrequest',<?php echo $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()">方倍微信支付测试</button> </body> </html>
当上述交易完成之后,会向交易通知接口回调url并带上参数,如下
http://www.fangbei.org/wxpay/notify/index.php?discount=0&fee_type=1&input_charset=gbk¬ify_id=aci-cg4m1nr2bbg-de-mk6hqum8xvsw4myfynd5umaiem_j6p_malpvoisl2njdurztw-tj9ipcnkmzm5tpkjrc8bxt6pee0&out_trade_no=5dlil2s5dgr8147c&partner=1219951701&product_fee=1&sign=a7aef7ae3b70c54c3c0ff642dd2e2004&sign_type=md5&time_end=20140808185647&total_fee=1&trade_mode=1&trade_state=0&transaction_id=1219951701201408083366666764&transport_fee=0
同时post发送了以下xml数据
<xml> <openid><![cdata[ociywt7h42mwhxxx23sjdbpbv7q8]]></openid> <appid><![cdata[wxa8826d0c0c0b6d6a]]></appid> <issubscribe>1</issubscribe> <timestamp>1407495408</timestamp> <noncestr><![cdata[d6iywdqlcduj8ndq]]></noncestr> <appsignature><![cdata[a99a3cb4f5377dc30cca3f7b362412d7e468e0f4]]></appsignature> <signmethod><![cdata[sha1]]></signmethod> </xml>
取出url中的
transaction_id=1219951701201408083366666764 out_trade_no=5dlil2s5dgr8147c
及xml中的
<openid><![cdata[ociywt7h42mwhxxx23sjdbpbv7q8]]></openid>
将上述3样参数值填充到发货接口中,代码可参考 微信支付开发发货通知
运行一次,就调通了发货通知接口。
三、维权接口与告警接口的调通
维权接口与告警接口的调通非常简单,因为官方只需要接收到有响应。所以都直接在相应的index.php中返回success,代码如下:
<?php echo "success"; ?>
四、效果图
上述3个接口调通以后,就可以全网发布了。效果如下
更多微信支付开发全网发布。