关键字:微信公众平台 微信支付 全网发布

作者:方倍工作室

原文:http://www.cnblogs.com/txw1958/p/wxpay-publish.html

在这篇微信公众平台开发教程中,我们将介绍如何开发实现微信支付的全网发布功能。

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

本文分为以下三个部分:

  1. 微信支付目录设置
  2. 发货接口的调通
  3. 维权接口与告警接口的调通

一、微信支付目录设置

微信支付URL的设置和调通微信支付休戚相关。这里我们使用的几个URL设置如下:

支付测试URL:http://www.doucube.com/wxpay/jsapi/index.php

交易通知URL:http://www.doucube.com/wxpay/notify/index.php

维权通知URL:http://www.doucube.com/wxpay/rights/index.php

告警通知URL:http://www.doucube.com/wxpay/alarm/index.php

二、发货接口的调通

调通发货接口之前,需要用户已经有一次交易才能发送,所以先完成一次jsapi支付,其代码如下,

 1 <?php
2 include_once("WxPayHelper.php");
3 $commonUtil = new CommonUtil();
4 $wxPayHelper = new WxPayHelper();
5 $wxPayHelper->setParameter("bank_type", "WX");
6 $wxPayHelper->setParameter("body", "方倍微信支付测试");
7 $wxPayHelper->setParameter("partner", PARTNERID);
8 $wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr());
9 $wxPayHelper->setParameter("total_fee", "1");
10 $wxPayHelper->setParameter("fee_type", "1");
11 $wxPayHelper->setParameter("notify_url", "http://www.doucube.com/wxpay/notify/index.php");
12 $wxPayHelper->setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']);
13 $wxPayHelper->setParameter("input_charset", "GBK");
14 $biz_package=$wxPayHelper->create_biz_package();
15 ?>
16 <html>
17 <meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;">
18 <script language="javascript">
19 function callpay()
20 {
21 WeixinJSBridge.invoke('getBrandWCPayRequest',<?php echo $biz_package;?>,function(res){
22 WeixinJSBridge.log(res.err_msg);
23 alert(res.err_code+res.err_desc+res.err_msg);
24 });
25 }
26 </script>
27 <body>
28 <button type="button" onclick="callpay()">方倍微信支付测试</button>
29 </body>
30 </html>

当上述交易完成之后,会向交易通知接口回调URL并带上参数,如下

http://www.doucube.com/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[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样参数值填充到发货接口中,代码可参考 微信支付开发(6) 发货通知

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

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

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

<?php
echo "success";
?>

四、效果图

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

微信支付v2开发(10) 全网发布的更多相关文章

  1. 微信支付v2开发(11) Native支付

    关键字:微信公众平台 微信支付 Native原生支付 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/wxpay-native.html 在这篇微信公众平台开 ...

  2. 微信支付v2开发(8) 维权通知

    本文介绍微信支付中如何获得维权通知. 一.维权通知URL 在 微信支付开发(1) 微信支付URL配置 已提到,维权通知URL为 http://www.doucube.com/wxpay/rights. ...

  3. 微信支付v2开发(7) 告警通知

    本文介绍微信支付中如何获得告警通知. 一.告警通知 为了及时通知商户异常,提高商户在微信平台的服务质量.微信后台会向商户推送告警通知,包括发货延迟.调用失败.通知失败等情况,通知的地址是商户在申请支付 ...

  4. 微信支付v2开发(5) 订单查询

    本文介绍微信支付中订单查询功能的实现. 作者:方倍工作室 地址:http://www.cnblogs.com/txw1958/p/wxpay-order-query.html 一.订单查询 因为某一方 ...

  5. 微信支付v2开发(6) 发货通知

    本文介绍微信支付中发货通知功能的实现. 一.发货通知 为了更好地跟踪订单的情况,需要第三方在收到最终支付通知之后,调用发货通知API告知微信后台该订单的发货状态. 发货时间限制:虚拟.服务类24小时内 ...

  6. 微信支付v2开发(3) JS API支付

    本文介绍如何使用JS API支付接口完成微信支付. 一.JS API支付接口(getBrandWCPayRequest) 微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效.微信提供get ...

  7. 微信支付v2开发(1) 微信支付URL配置

    本文介绍微信支付申请时如何设置授权目录及URL. 在申请微信支付时,第一项就会碰到下图的配置. 下面就对这一设置进行讲解! 一.选择支付类型 目前有两种支付类型 JS API网页支付 Native原生 ...

  8. 微信支付v2开发(9) 标记客户投诉处理状态

    本文介绍微信支付中如何标记客户投诉的处理状态. 一.API Api 的 url 为: https://api.weixin.qq.com/payfeedback/update?access_token ...

  9. 微信支付v2开发(2) 微信支付账号体系

    本文介绍微信支付账号体系各参数. 商户在微信公众平台提交申请资料以及银行账户资料,资料审核通过并签约后,可以获得表6-4所示帐户(包含财付通的相关支付资金账户),用于公众帐号支付. 帐号 作用 app ...

随机推荐

  1. JS 引擎基础之 Shapes and Inline Caches

    阅读下面这篇文章,需要20分钟: 一起了解下 JS 引擎是如何运作的吧! JS 的运作机制可以分为 AST 分析.引擎执行两个步骤: JS 源码通过 parser(分析器)转化为 AST(抽象语法树) ...

  2. XTUOJ 1238 Segment Tree

    Segment Tree Accepted : 3 Submit : 21Time Limit : 9000 MS Memory Limit : 65536 KB Problem Descriptio ...

  3. SQL 自增列清零方法

    SQL Identity自增列清零方法1.使用DBCC控制台命令: dbcc checkident(表名,RESEED,0) 2.truncate table 也可将当前标识值清零 但当有外键等约束时 ...

  4. php 图片局部打马赛克

    php 图片局部打马赛克 原理: 对图片中选定区域的每一像素,添加若干宽度及高度,生成矩型.而每一像素的矩型重叠在一起.就形成了马赛克效果. 本例使用GD库的imagecolorat获取像素颜色,使用 ...

  5. PopupMenu-使用实例跟监听事件

    今天需要给一个控件添加弹出菜单功能.就顺便学习了下popupMenu的使用,记录下来. 它的使用其实也非常的简单,看如下代码 popupMenu = new PopupMenu(MainActivit ...

  6. Java 关于运算结果

    今天发现一个自己的一个知识误区 原来有些自己以为会发生异常的运算,并没有异常发生,只要运算符两端存在至少一个浮点数 比如: public class Demo { /** * @param args ...

  7. JAVA使用YUI压缩CSS/JS

    前言 JS/CSS文件压缩我们经常会用到,可以在网上找在线压缩或者本地直接使用,我这里使用的是yahoo开源组件YUI Compressor.首先介绍一下YUI Compressor,它是一个用来压缩 ...

  8. 压状态bfs

    一般地图很小,状态不多,可以装压或者hash,构造压缩或hash的函数,构造还原地图的函数,然后就无脑bfs(感觉就是SPFA) 题目: 1.玩具游戏:二进制压缩状态 #include<cstd ...

  9. Spring模块作用

    0.模块整理 Spring模块整理(http://www.kuqin.com/shuoit/20150805/347434.html) 模块名 作用 资料 aop  spring的面向切面编程,提供A ...

  10. python stomp activemq客户端

    #coding=utf-8import timeimport sysimport stomp class MyListener(object): def on_error(self, headers, ...