温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何开发实现微信支付的全网发布功能

发布时间:2021-09-10 10:09:48 来源:亿速云 阅读:158 作者:小新 栏目:移动开发

小编给大家分享一下如何开发实现微信支付的全网发布功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

全网发布是指微信支付后台最后一步中的维权功能、告警接口、发货接口的检测发布。

如何开发实现微信支付的全网发布功能

本文分为以下三个部分:

微信支付目录设置

发货接口的调通

维权接口与告警接口的调通


一、微信支付目录设置

微信支付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&notify_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[ocIywt7h52MwHxXx23sJdBpBV7Q8]]></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[ocIywt7h52MwHxXx23sJdBpBV7Q8]]></OpenId>

将上述3样参数值填充到发货接口中,代码可参考 微信支付开发发货通知

运行一次,就调通了发货通知接口。

三、维权接口与告警接口的调通

维权接口与告警接口的调通非常简单,因为官方只需要接收到有响应。所以都直接在相应的index.php中返回success,代码如下:

<?php
echo "success";
?>

四、效果图

上述3个接口调通以后,就可以全网发布了。效果如下

如何开发实现微信支付的全网发布功能

以上是“如何开发实现微信支付的全网发布功能”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI