微信开发 微信支付


目前微信支付已经可以支付,但是按照官方文档的描述,微信在支付完成后会发送数据到notify_url 同时跳转至该url.


 **用户在成功完成支付后,微信后台通知(POST)商户服务器(notify_url)支付结果。
商户可以使用 notify_url 的通知结果进行个性化页面的展示。**

但目前的实际情况是 在支付完成后 并未跳转至 notify_url

具体代码如下 :


 include_once("WxPayHelper.php");
$commonUtil = new CommonUtil();
$wxPayHelper = new WxPayHelper();
$wxPayHelper->setParameter("bank_type", "WX"); //银行通道类型 固定为大写 'WX'
$wxPayHelper->setParameter("body", "BB");  // 商品描述 字符串类123字节以下
$wxPayHelper->setParameter("partner", "1219320701"); //商户号 注册时分配的财付通号 partnerId
$wxPayHelper->setParameter("out_trade_no", $commonUtil->create_noncestr()); // 商户订单号 商户系统内部的订单号 32个字符内 可包含字母,确保在商户系统唯一
$wxPayHelper->setParameter("total_fee", "0.01"); //订单总金额  订单总金额单位为分
$wxPayHelper->setParameter("fee_type", "1");  // 支付币种 字符串类型默认值是 1(人民币)
$wxPayHelper->setParameter("notify_url", "http://www.baidu.com"); //通知URL 支付完成后 接收微信通知支付结果的URL 需要给出绝对路径 255字符以内
$wxPayHelper->setParameter("spbill_create_ip", $_SERVER['REMOTE_ADDR']); //订单生成的机器IP
$wxPayHelper->setParameter("input_charset", "GBK"); //传入参数字符编码

补充: 跳转的notify_url 文件所在目录 跟微信支付测试目录 在同一位置.服务器端口为 80端口

php 微信公众平台

biiiii 10 years, 4 months ago

好吧 自问自答吧................

  1. 微信官方文档有错 数据是异步发送到notify_url 页面不会进行跳转 所以也就不会有文档上所说的 商户可以使用 notify_url 进行个性化 展示

  2. 发送到notify_url的数据分为两部分组成 可以通过分别通过$_GET 和 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; 进行获取数据

educt answered 10 years, 4 months ago

Your Answer