order-food-admin/app/Traits/WechatPay.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');
}
}