本文实例讲述了php微信支付功能。分享给大家供大家参考,具体如下:
微信开发sdk:文中用的是php_sdk_v3.0.9 :
import("wxpay.lib.apppay#config", extend_path, ".php");import("wxpay.lib.wxpay#api", extend_path, ".php");//$this->weixinpay();$config = new \apppayconfig();//订单号$appid = $config->getappid();$key = $config->getkey();$money = 0.01 * 100;$ordersn = 'm201810241754107557';//订单号;$curtime = time();$input = new \wxpayunifiedorder();$input->tbody("用户红包");$input->tout_trade_no($ordersn);$input->ttotal_fee($money);$input->ttrade_type("app");$unifiedorder = \wxpayapi::unifiedorder($config, $input);if ($unifiedorder['result_code'] == 'success' && $unifiedorder['return_code'] == 'success') { /*$unifiedorder 组成: * ["appid"] => string(18) "wx2xxxx49" ["mch_id"] => string(10) "1xxxxxx01" ["nonce_str"] => s洛伦兹力左手定则tring(16) "1gneuxtutcftjvtb" ["prepay_id"] =&用筋疲力尽造句gt; string(36) "wx241933xxx68fa24ece70611692955" ["result_code"] => string(7) "success" ["return_code"] => string(7) "success" ["return_msg"] => string(2) "ok" ["sign"] => string(32) "7903xxxxx4710e460cb156" ["trade_type"] => string(3) "app"*/ $curtime = time(); // 第一部分 $wxpayresult = new \wxpayresults(); $wxpayresult->tdata('appid', $unifiedorder['appid']); $wxpayresult->tdata('partnerid', $unifiedorder['mch_id']); $wxpayresult->tdata('prepayid', $unifiedorder['prepay_id']); $wxpayresult->tdata('noncestr', $unifiedorder['nonce_str']); $wxpayresult->tdata('timestamp',$curtime); $wxpayresult->tdata('package',"sign=wxpay"); $wxpayresult->tdata('sign',"");周朝是被谁灭的 $wxpayresult->tsign($config); $data = $wxpayresult->getvalues(); // 第二部分 $data['appid'] = $unifiedorder['appid'失去你]; $data['partnerid'] = 热稳定性怎么比较$unifiedorder['mch_id']; $data['prepayid'] = $unifiedorder['prepay_id']; $data['noncestr'] = $unifiedorder['nonce_str'];; $data['timestamp'] = $curtime; $data['package'] = "sign=wxpay"; $data['sign'] = $this->wxapppaysign($key, $data);//$unifiedorder['sign'];//签名,具体签名方案参见微信公众号支付帮助文档; $this->returnsuccess($data);} el { log::write(var_export($unifiedorder, true)); $this->returnerror(300, '微信支付失败');}private function wxapppaysign($key,$parameters){ $sign = md5(sprintf("appid=%s&noncestr=%s&package=%s&partnerid=%s&prepayid=%s×tamp=%s&key=%s", $parameters['appid'], $parameters['noncestr'], $parameters['package'], $parameters['partnerid'], $parameters['prepayid'], $parameters['timestamp'], $key)); return strtoupper($sign);}
第一部分和第二部分功能是相同的。
更多关于php相关内容感兴趣的读者可查看本站专题:《php微信开发技巧汇总》、《php curl用法总结》、《php网络编程技巧总结》、《php字符串(string)用法总结》、《php中json格式数据操作技巧汇总》及《php针对xml文件操作技巧总结》
希望本文所述对大家php程序设计有所帮助。
本文发布于:2023-04-07 09:42:39,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/d594d0042c316f4704142cde204169c8.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP微信支付功能示例.doc
本文 PDF 下载地址:PHP微信支付功能示例.pdf
留言与评论(共有 0 条评论) |