微信开发 微信支付

此处的微信支付是指微信支付V3版
如何确认本身申请的微信版本是V3版 1.基本9月20之后申请的微信支付均为V3版本 2.查看微信发送的邮件 若其中包含如下信息 商户ID、申请编号、登陆账号、登陆密码、商户API密码 商户API证书、证书密钥、CA证书 即为V3版本的微信支付
因为微信支付V2 跟 V3版的参数不一样 支付的流程不一样 致使微信支付V2版本跟V3版不兼容...php

微信支付V3的 支付流程以下: (JSAPI支付为例)微信

  1. 根据文档中所写 采用JSAPI进行支付 则用户的openid 为必须参数 因此官方给的Demo第一步采用了Oauth 认证获取用户的Openid,此处须要注意 在传递Oauth认证的回调URL中 应该使用 urlencode()函数 对URL进行编码 不然如 &a=1&b=2 相似的URL可能出现找不到的现象.

固然若是你在支付的页面直接把openid 带过去了...能够直接去掉支付中的oauth认证这步app

2.支付成功后的 notify_url ,没法接受到数据问题. 首先 notify_url 一样不能使用入如 &a=1&b=2 格式 应使用以下 /a/1/b/2 Pathinfo模式 若是是Linux环境还须要对文件夹有 相应的权限 才能写入信息.开发者能够在 notify_url 中根据 支付返回的状态进行一些相应的操做 例如修改订单状态...发送模板消息 提醒用户交易成功等等..微信公众平台

关于支付测试:
1. 登录微信的公众平台后台(微信公众平台)---> 微信支付-->开发者配置 填写上传 测试的受权目录 和 微信测试白名单 注意: 若是须要用到支付中的oauth 还应该去配置下 oauth认证的受权目录(是否是很麻烦....)curl

2.若是出现 access_token:not_allow 之类信息 通常都是 支付的受权目录 不正确.函数

3.若是下载的是微信支付V3版本的官方Demo,那么请首先修改其中的代码 curl_setopt($ch, CURLOP_TIMEOUT, $this->curl_timeout); 修改成 curl_setopt($ch, CURLOPT_TIMEOUT, $this->curl_timeout); 分别位于 WxPayPubHelper.php 的 155 821行 ,注释掉 171行.测试

4.支付参数解析 配置文件中的 appid 和 appsecret 是开发者模式中的 appid 和 appsecret, mchid 和 key 分别在 微信发送的邮件中能够找到.微信支付

相关文章
相关标签/搜索