1.安装支付依赖包yurunsoft/pay-sdk
composer require yurunsoft/pay-sdk:~2.0
- 在项目中引入自动加载类vendor/autoload.php
require 'vendor/autoload.php';
- 例子
// 配置参数
$params = new \Yurun\PaySDK\Weixin\Params\PublicParams;
$params->appID = '10000000'; // 支付平台分配给开发者的应用ID
$params->mch_id = '3333333'; // 微信支付分配的商户号
$params->key = '1111111'; // 商户API 密钥
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
$params->certPath = 'path/cert.pem'; // XXX: 绝对路径!!!
$params->keyPath = 'path/key'; // XXX: 绝对路径!!!!
// 如果是子服务商需要配置
$params->sub_appid = ''; // 微信分配的子商户公众账号ID,服务商、银行服务商需要。
$params-> sub_mch_id = ''; // 微信支付分配的子商户号,开发者模式下必填,服务商、银行服务商需要。
// SDK实例化,传入公共配置
$pay = new \Yurun\PaySDK\Weixin\SDK($params);
// 支付接口(生成支付订单)
$request = new \Yurun\PaySDK\Weixin\JSAPI\Params\Pay\Request;
$request->body = 'test'; // 商品描述
$request->out_trade_no = 'test' . mt_rand(10000000,99999999); // 订单号
$request->total_fee = 1; // 订单总金额,单位为:分
$request->spbill_create_ip = '127.0.0.1'; // 客户端ip
$request->notify_url = $GLOBALS['PAY_CONFIG']['pay_notify_url']; // 异步通知地址
$request->openid = ''; // 必须设置openid
// 调用接口
$result = $pay->execute($request);
var_dump('result:', $result);
var_dump('success:', $pay->checkResult());
var_dump('error:', $pay->getError(), 'error_code:', $pay->getErrorCode());
if($pay->checkResult())
{
$request = new \Yurun\PaySDK\Weixin\JSAPI\Params\JSParams\Request;
$request->prepay_id = $result['prepay_id'];
$jsapiParams = $pay->execute($request);
// 最后需要将数据传给js,使用WeixinJSBridge进行支付
echo json_encode($jsapiParams);
}
具体看=>
https://doc.yurunsoft.com/PaySDK/77
- 微信小程序端发起支付
wx.requestPayment({
timeStamp:data1,
nonceStr:data2,
package:data3,
signType:data4,
paySign:data5
})
具体看=>微信开发者文档地址:
https://developers.weixin.qq.com/miniprogram/dev/api/payment/wx.requestPayment.html