44 lines
1.1 KiB
PHP
44 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Traits;
|
|
|
|
use EasyWeChat\Factory;
|
|
use App\Models\{User,Order};
|
|
|
|
/**
|
|
* Class OrderService
|
|
*
|
|
* @package App\Traits
|
|
*/
|
|
class WechatPay
|
|
{
|
|
public function createOrder(Order $order){
|
|
$payment = \EasyWeChat::payment();
|
|
|
|
$result = $payment->order->unify([
|
|
'body' => '下单购买:'.$order->order_sn,
|
|
'out_trade_no' => $order->order_sn,
|
|
'total_fee' => $order->pay_price*100,
|
|
'notify_url' => $this->wxNotifyUrl(), // 支付结果通知网址,如果不设置则会使用配置里的默认地址
|
|
'trade_type' => 'JSAPI', // 请对应换成你的支付方式对应的值类型
|
|
'openid' => User::findOrFail($order->user_id)->mini_openid,
|
|
]);
|
|
|
|
return $result;
|
|
}
|
|
|
|
public function createPayConfig($prepay_id){
|
|
$payment = \EasyWeChat::payment();
|
|
$jssdk = $payment->jssdk;
|
|
|
|
return $jssdk->bridgeConfig($prepay_id, false);
|
|
}
|
|
|
|
/**
|
|
* 返回回调地址
|
|
*/
|
|
private function wxNotifyUrl()
|
|
{
|
|
return url('/api/notify-wechat-pay');
|
|
}
|
|
} |