微信公众号支付(PHP完全版)

1.前期准备工作:取得微信公众号的appId、secret、微信商户的商户id、支付key

下载好微信官方提供的sdk:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

下载好微信商户平台的API安全证书:https://pay.weixin.qq.com/index.php/core/cert/api_cert

2.配置微信支付的安全环境:

进入微信公众平台,在微信公众号设置—>功能设置 里面设置微信JS接口安全域名、网页授权域名

 

微信公众号支付(PHP完全版)

进入微信商户平台,进入进入产品中心—>开发配置,设置支付授权目录

微信公众号支付(PHP完全版)

 

进入微信商户平台,进入产品中心—>APP授权管理,点击新增授权申请单

 

微信公众号支付(PHP完全版)

 3、配置完成,开始开发

用IDE打开下载下来的sdk,打开到example目录的WxPay.Config.php

配置微信公众号APPID,商户Id

微信公众号支付(PHP完全版)

配置微信公众号Secret、商户key

微信公众号支付(PHP完全版)

配置微信商户下载下来的API安全证书

微信公众号支付(PHP完全版)

如果没有配置https,请修改lib目录下的WxPay.Api.php ,在560-570行,

把        curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
            curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验

修改为

if(stripos($url,"https://")!==FALSE){
            curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
}    else    {
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,TRUE);
            curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验

在微信公众号中访问

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx22b49919fad02292&redirect_uri=......&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect

......部分配上你的API

会显示如下参数:

微信公众号支付(PHP完全版)

会得到用于支付的所有参数,然后在前端调用微信支付函数

微信公众号支付(PHP完全版)

如果这里报的签名错误,请把timestamp参数中的s改为大写试试,提示:调用此函数之前请验证微信极限签名喔

微信公众号支付(PHP完全版)