准备
在微信支付官网下载SDK(Software Development Kit):https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
目录
一、生成付款码
二、付款生成订单
三、处理回调信息
四、支付完成后完成的跳转
五、订单号查询
六、微信支付关闭订单
七、微信支付退款
native模式(扫码支付)只需要配置APPID、MCHID、KEY,这3个在【微信支付】官网里面都能找到,配置好这三个就能生成二维码
第一步:在sdk的example的WxPay.Config.php配置
1、APPID:绑定支付的APPID(必须配置,开户邮件中可查看)
2、MCHID:商户号(必须配置,开户邮件中可查看)
3、KEY:商户支付密钥,参考开户邮件设置(必须配置,登录商户平台自行设置)
4、APPSECRET:公众帐号secert(仅JSAPI支付的时候需要配置, 登录公众平台,进入开发者中心可设置)
第二步:认识native.php文件
native.php接收页面传过来的数据
//生成直接支付的url,支付url有效期2个小时
$notify = new NativePay();
//统一下单输入对象
$input = new WxPayUnifiedOrder();
//商品的名称
$input->SetBody("test");
$input->SetAttach("test");
//订单号
$input->SetOut_trade_no("sdkphp123456789".date("YmdHis"));
//金额
$input->SetTotal_fee("1");
//开始时间
$input->SetTime_start(date("YmdHis"));
//有效期
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
//微信回调返回信息的地址
$input->SetNotify_url("http://paysdk.weixin.qq.com/notify.php");
//支付类型
$input->SetTrade_type("NATIVE");
//产品内部的id
$input->SetProduct_id("123456789");
//进行测试
var_dump($input);
$result = $notify->GetPayUrl($input);
$url2 = $result["code_url"];
新生成的订单送到数据库里面
往数据库里面进行插入
//微信回调返回信息的地址
$input->SetNotify_url("http://paysdk.weixin.qq.com/notify.php");
上面代表回调信息处理的地方
对notify.php文件的NotifyProcess类的 【3、处理业务逻辑】进行处理,其他地方已经被官方被封装好了的
将微信平台返回来的transaction_id字段的信息,写到数据库里面
支付成功需要进行页面跳转,不然网站页面一直停留在二维码这个页面
1、在native.php页面添加
2、新建一个页面
直接选用example里面的orderquery.php这个页面就能实现订单查询
微信官网API:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_3
用官方的orderquery.php改造为orderclose.php,改造后的界面
注意:退款需要安装证书,证书下载地址:在商户微信支付官网的API安全里面下载
1、得到【WxCertUtil.exe】里面的【微信支付商户平台证书工具.exe】
2、复制【请求字符串】到【商户微信支付官网的API安全】得到【证书串】
3、将【证书串】粘贴到【微信支付商户平台证书工具】得到【证书】
将得到证书重命名【cert】放到项目的与exmple目录同级
从哪里来退到哪里去