EasyWechat 安装
composer require overtrue/wechat:~4.0 -vvv
AppController.php
use EasyWeChat\Factory;
$domain = request()->domain();
$config = [
// 必要配置
'app_id' => 'xxxx',
'mch_id' => 'your-mch-id',
'key' => 'key-for-signature', // API v2 密钥 (注意: 是v2密钥 是v2密钥 是v2密钥)
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => 'path/to/your/cert.pem', // XXX: 绝对路径!!!!
'key_path' => 'path/to/your/key', // XXX: 绝对路径!!!!
'notify_url' => '默认的订单回调地址', // 你也可以在下单时单独设置来想覆盖它
];
$app = Factory::payment($config);
$jssdk = $app->jssdk;
$result = $app->order->unify([
'body' => 'APP',//描述
'out_trade_no' => time().rand(999,999999999),//自己的订单号
'total_fee' => 100,//支付金额,这里要乘100;否则会报错:无法将输入源“/body/xml/total_fee”映射到目标字段“标价金额”中,此字段需要一
'spbill_create_ip' => request()->ip(),
'trade_type' => 'JSAPI',
'product_id' => 1,
'openid' => 'OENID',
'notify_url' => $domain . '/WechatNotifyUrl', // 你也可以在下单时单独设置来想覆盖它
]);
$prepayId = $result['prepay_id'];
$config = $jssdk->appConfig($prepayId);