12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Services\Client;
- use App\Models\Order;
- use App\Models\MemberUser;
- use Illuminate\Support\Facades\Auth;
- use Exception;
- class PaymentService
- {
-
- public function getPaymentConfig($orderId)
- {
-
- $userId = Auth::id();
- $user = MemberUser::where('state', 'enable')->findOrFail($userId);
-
- $order = Order::where('id', $orderId)
- ->where('user_id', $userId)
- ->where('state', 'unpaid')
- ->firstOrFail();
-
- $outTradeNo = $this->generateOutTradeNo();
- $config = $this->generateWxPayConfig($order, $outTradeNo);
-
- $order->out_trade_no = $outTradeNo;
- $order->save();
-
- $this->sendGrabOrderNotification($order);
- return $config;
- }
-
- private function generateOutTradeNo()
- {
- return date('YmdHis') . mt_rand(1000, 9999);
- }
-
- private function generateWxPayConfig($order, $outTradeNo)
- {
-
- return [
- 'appId' => config('wechat.payment.app_id'),
- 'timeStamp' => time(),
- 'nonceStr' => uniqid(),
- 'package' => 'prepay_id=xxx',
- 'signType' => 'MD5',
- 'paySign' => 'xxx'
- ];
- }
-
- private function sendGrabOrderNotification($order)
- {
-
- }
- }
|