主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
前期准备:
申请微信支付后,您将收到两个参数,商户id和商户密钥。注意,这两个参数不要与微信参数混淆。微信参数:appid、appkey、token支付参数:merchant_id(商户号)、key(支付密钥)如何获取支付密钥?转到https://pay.weixin.qq.com --》帐户中心--》API安全--》设置API密钥并自己设置一个32位密钥。
微信支付流程:
1.composer安装EasyWechat软件包。
环境要求:
PHP》= 5 . 5 . 9
Phpccurl扩展
PHP OpenSSL扩展
安装:
作曲要求overtrue/微信:~3.1 -vvv
2.微信官方账号配置
2.1.配置支付目录和授权域名。
2.2.配置网页授权
3.初始化SDK并创建easy chat \ Foundation \ Application的实例。
& lt?phpuse微信\基础\应用;protected $ app = nullpublic function construct(){ $ options =【/* *调试模式,bool值:true/false * *当值为false时,将不会记录所有日志*/&;#39;调试和调试。#39;= & gtTrue,/** *账号基本信息,请从微信公众平台/开放平台获取*/'app _ id & amp#39;= & gt& amp#39;你的-app -id & amp;#39;,//AppID & amp;#39;秘密& amp#39;= & gt& amp#39;你的-app -秘密& amp#39;,//app secret & amp;#39;token & amp#39;= & gt& amp#39;您的-代币& amp#39;,//Token & amp;#39;aes _ key & amp#39;= & gt& amp#39;& amp#39;,//encodingacekey,请务必在安全模式下填写!!!/* * *日志配置* * level:日志级别,可选:* debug/info/notice/warning/error/critical/alert/emergency * permission:日志文件权限(可选),默认值为null(如果为null,monolog将取0644)* file:日志文件位置(绝对路径!!!),需要可写权限*/&;#39;日志&。#39;= & gt【& amp#39;水平和水平。#39;= & gt& amp#39;调试和调试。#39;,& amp#39;许可和。#39;= & gt0777 & amp;#39;文件& amp#39;= & gt& amp#39;/tmp/easy we chat . log & amp;#39;】,/*** OAuth配置* *作用域:公共平台(snsapi_userinfo/snsapi_base),开放平台:snsapi _ login *回调:OAuth授权完成后的回调页面地址*/&;#39;oauth & amp#39;= & gt【& amp#39;望远镜和望远镜。#39;= & gt【& amp#39;snsapi _ userinfo & amp#39;】,& amp#39;回拨&。#39;= & gt& amp#39;/examples/oauth _ callback . PHP & amp;#39;】,/* *微信支付*/&;#39;支付与支付。#39;= & gt【& amp#39;商户id & amp#39;= & gt& amp#39;your -MC H-id & amp;#39;,& amp#39;钥匙和钥匙。#39;= & gt& amp#39;-签名和签名。#39;,& amp#39;证书路径& amp#39;= & gt& amp#39;path/to/your/cert . PEM & amp;#39;,// XXX:绝对路径!!!!& amp#39;key _ path & amp#39;= & gt& amp#39;路径/到/你的/密钥& amp#39;,// XXX:绝对路径!!!!& amp#39;通知url & amp#39;= & gt& amp#39;默认订单回拨地址&;#39;//您也可以在下单时单独设置以覆盖//&;#39;设备信息& amp#39;= & gt& amp#39;013467007045764 & amp#39;,//& amp;#39;sub_app_id。#39;= & gt& amp#39;& amp#39;,//& amp;#39;sub_merchant_id'= & gt& amp#39;& amp#39;, // ...],];$ this -》;$app =新应用程序($ options);} 4.获取支付对象。
$ payment = $ this -& gt;$ app -》;支付;5.将订单对象订单(订单号、金额、openid)作为参数传入。
& lt?phpuse微信\基础\应用;使用easy微信\支付\下单;$ attributes =【& amp;#39;贸易类型和规模。#39;= & gt& amp#39;JSAPI和#39;,// JSAPI,本机,应用程序...& amp#39;身体与健康。#39;= & gt& amp#39;IPad mini 16G白&;#39;,& amp#39;细节& amp#39;= & gt& amp#39;IPad mini 16G白&;#39;,& amp#39;外贸号& amp#39;= & gt& amp#39;1217752501201407033233368018 & amp;#39;,//订单号&;#39;总费用。#39;= & gt5388,//单位:分钟&;#39;通知url & amp#39;= & gt& amp#39;http://xxx.com/order-notify&第39名;,//支付结果通知URL,如果未设置,将使用配置中的默认地址&;#39;openid & amp#39;= & gt& amp#39;OpenID &;#39;,// trade_type=JSAPI,此参数必须传递,商户appid下用户的唯一标识,///...];$order =新订单($ attributes);6.预处理获取一个预处理id,payment -》prepare(order);
$ result = $ payment -& gt;prepare(订单);if($ result -》;return _ code = = & amp#39;成功& amp#39;& amp& amp$ result -》;结果代码= = & amp#39;成功& amp#39;){ $ prepay id = $ result -》;预付费id;} 7.生成付款JS配置
$ JSON = $ payment -& gt;configForPayment($ prepay id);//返回一个json字符串。如果要返回一个数组,请传递第二个参数false 8。订单号和json将被写入模板供用户确认支付,触发js并触发支付。
返回视图(amp#39;完成& amp#39;,【& amp#39;订单和订单。#39;= & gt$ ordersn & amp;#39;json'= & gt$ JSON】);& lt脚本& gt$(& amp;#39;形式与技巧。#39;).submit(function(){ weixinsbridge . invoke(& amp;#39;getBrandWCPayRequest & amp#39;, {!!$json!!},函数(RES){ if(RES . err _ msg = = & quot;get_brand_wcpay_request:好的){//使用上述方法判断前端返回,微信团队郑重提醒:// res.err_msg将在用户支付成功后返回// ok,但不保证绝对可靠。} });返回false});& lt/script & gt;9.成功回拨
用户支付成功后,微信服务器会向订单中设置的回调URL发送POST请求,请求的内容是一个XML。
首先,在没有CSRF验证的中间件VerifyCsrfToken中配置付费方法。
公共函数payed(){ $ response = $ this -& gt;$ app -》;支付-》;handle notify(function($ notify,$ successful){//使用通知中的“;微信支付订单号”或“商家订单号”去自己的数据库查找订单$order =查询订单($ notify -& gt;out _ trade _ no);如果(!$ order){//如果订单不存在,则返回&;#39;订单不存在。& amp#39;;//告诉微信我已经处理完了,订单找不到了,不要再通知我了}//如果订单存在//检查订单的支付状态是否已更新If($ order -& gt;payed _ at){//假设订单字段“付款时间”不为空,则表示返回true已付款;//如果支付成功,则不会更新}//如果($successful),则用户是否支付成功{//如果未支付,则更改为已支付状态$ order -& gt;payed _ at = time();//将付款时间更新为当前时间$ order -& gt;状态= & amp#39;有偿和有偿服务。#39;;} else {//用户未能支付$ order -& gt;状态= & amp#39;付费失败& amp#39;;} $ order -& gt;save();//保存订单返回true//返回处理完成});return $ response}
这几篇文章你可能也喜欢:
- 最适合Android开发的Linux发行版是什么?(linux android开发)
- 哪个Linux系统最适合Android开发?
- linux在嵌入式系统开发领域的广泛应用(嵌入式Linux应用场景)
- 微信官方账号开发详细介绍(微信官方账号开发方法)
- 传智和黑马微信公众平台开展视频资料共享(传智黑马培训学校怎么样)
本文由主机参考刊发,转载请注明:使用EasyWechat快速开发微信官方账号支付 https://zhujicankao.com/106725.html
评论前必须登录!
注册