php 工商银行公众号支付代码_微信支付PHP SDK之微信公众号支付代码详解

1. 配置公众号信息

我们先进行测试,所以先把测试授权目录和 测试白名单添加上。测试授权目录是你要发起微信请求的哪个文件所在的目录。

例如jsapi 发起请求一般是jsapi.php所在目录 为测试目录,测试白名单即开发人员的微信号。

正式的支付授权目录不能和测试的一样否则会报错。不填写或者填错授权目录以及测试白名单都会报错。

报错样例:

NaNsystem:access_denied

2. 配置 lib/WxPay.Config.php文件

最主要配置一下四项:

const APPID = '';

const MCHID = '';

const KEY = '';

const APPSECRET = '';

APPID 和 APPSECRET都可以在微信后台中找到。

MCHID 在申请微信支付后发来的邮件中可以找到,KEY 则根据邮件提示

3. 拜访官方demo

我们首先需要的是 JSAPI支付。但是看代码 index.php 最下面的链接。他默认是个demo的链接,改为我们自定义的即可

当然你也可以直接写死为自己的访问链接。

官方给的demo整个思路就很明朗了

如果说要设计成api接口

可以参考一下个人的

api开发思路:

引入:

这三个文件

require __DIR__ . '/wechat_pay/example/WxPay.JsApiPay.php';

require __DIR__ . '/wechat_pay/example/log.php';

require __DIR__ . '/wechat_pay/lib/WxPay.Api.php';

api接口设置:

//请求支付参数

case 10098:

$openid= isset($_REQUEST['openid'])?$_REQUEST['openid']:error();

$SetTotal_fee= isset($_REQUEST['SetTotal_fee'])?$_REQUEST['SetTotal_fee']:error();

wx_pay($openid,$SetTotal_fee);

break;

这里SetTotal_fee是支付的金额 openid是密钥

//发起支付的函数

function wx_pay($openid,$SetTotal_fee){

//初始化日志

$logHandler= new CLogFileHandler("../logs/".date('Y-m-d').'.log');

$log = Log::Init($logHandler, 15);

//①、获取用户openid

$tools = new JsApiPay();

$openId =$openid;

//②、统一下单

$input = new WxPayUnifiedOrder();

$input->SetBody("这里写产品名字");

$input->SetAttach("test");

$input->SetOut_trade_no(WxPayConfig::MCHID.date("YmdHis"));

$input->SetTotal_fee($SetTotal_fee*100);

$input->SetTime_start(date("YmdHis"));

$input->SetTime_expire(date("YmdHis", time() + 600));

$input->SetGoods_tag("test");

$input->SetNotify_url("xxxx/jsapi.php");//这里写发起支付的页面

$input->SetTrade_type("JSAPI");

$input->SetOpenid($openId);

$order = WxPayApi::unifiedOrder($input);

$jsApiParameters = $tools->GetJsApiParameters($order);

echo $jsApiParameters;

}

前端调用:

function jsApiCall()

{

WeixinJSBridge.invoke(

'getBrandWCPayRequest',

,

function(res){

WeixinJSBridge.log(res.err_msg);//存储异常

alert(res.err_code+res.err_desc+res.err_msg);

//后面可以写上执行失败的东西

}

);

}

function callpay()

{

if (typeof WeixinJSBridge == "undefined"){

if( document.addEventListener ){

document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);

}else if (document.attachEvent){

document.attachEvent('WeixinJSBridgeReady', jsApiCall);

document.attachEvent('onWeixinJSBridgeReady', jsApiCall);

}

}else{

jsApiCall();

}

}

如果这篇文章对你有用,可以点个赞或者是收藏,算是对作者的鼓励~

另附上小弟网站。。。www.entercode.cn 推广一波...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值