首先呢,需要公司去注册微信平台上的东西,拿到资质,拿到配置信息才可以进行测试。
我们程序猿这里直接从代码开始,不管前面乱七八糟的程序。
下载好文档后把文档放在 exends 目录下 我将文件改名为 wechatpay
现在说一下整体的开发流程
1.写配置文件(APPID,MCHID 等数据) 文档在文件夹下的example->Wxpay.Config.php
2.配置好后开始更改每个文件上的 require_once 路径 防止开发时出没有必要的错误
//require_once "../lib/WxPay.Config.Interface.php";
require_once EXTEND_PATH.'wechatpay/lib/WxPay.Config.Interface.php';
3.开始在自己的支付模块里写逻辑,我在下面会附上我的测试代码片段
4.获取到参数后请求二维码并返回到网页上生成(很关键的一步)
5.检测是否支付成功
直接从第3步开始说起
每个公司的逻辑都不同 但需要获取到二维码传入的参数大致相同,请仔细阅读下面的代码。在此之前,可以阅读一下腾讯给的开发文档。
//扫码支付
public function wechat_pay($user_id,$number,$pice)
{
//扫二维码进行支付
require_once EXTEND_PATH.'wechatpay/lib/WxPay.Api.php'; //载入微信支付相关文件
require_once EXTEND_PATH.'wechatpay/example/WxPay.NativePay.php'; //载入微信支付相关文件
require_once EXTEND_PATH.'wechatpay/example/log.php';//载入微信支付相关文件
require_once EXTEND_PATH.'wechatpay/lib/WxPay.Data.php'; //载入微信支付相关文件
//模式二
/**
* 流程:
* 1、调用统一下单,取得code_url,生成二维码
* 2、用户扫描二维码,进行支付
* 3、支付完成之后,微信服务器会通知支付成功
* 4、在支付成功通知中需要查单确认是否真正支付成功(见:notify.php)
*/
//初始化日志
$logHandler= new \CLogFileHandler(EXTEND_PATH.'wechatpay/example/log.php'.date('Y-m-d').'.log');
$log = \Log::Init($logHandler, 15);
//
$notify = new \NativePay();
$input = new \WxPayUnifiedOrder();
$input->SetBody("充值使我快乐"); //设置商品或支付单简要描述
$input->SetAttach($user_id