#laravel #vue.js #paypal #payment
#ларавель #vue.js #PayPal #оплата
Вопрос:
Я создаю веб-приложение для интеграции paypal, используя vue и laravel api. Всякий раз, когда я запускаю метод post, он показывает внутреннюю ошибку сервера 500. Всякий раз, когда я запускаю метод post с помощью axios, он только улавливает ошибку и не выполняет предоставленную мной функциональность. Я также не знаю, как использовать токен csrf в vue . Любой, кто может мне в этом помочь.
Мой Vue-код:
PayForPaypal() { if(this.$refs.form.validate() === true){ let payPalData = { price: this.plansData.price, name: this.plansData.name, } axios.post("http://localhost:8000/api/payokay", payPalData, { headers:{ } }).then(res=gt;{ console.log(res); }).catch(err=gt;{ console.log(err); }) } },
Мой код laravel:
public function store(Request $request) { DB::beginTransaction(); $payer = new Payer(); $payer-gt;setPaymentMethod('paypal'); $item_1 = new Item(); $item_1-gt;setName($request-gt;name) -gt;setCurrency('USD') -gt;setQuantity(1) -gt;setPrice($request-gt;price); $item_list = new ItemList(); $item_list-gt;setItems(array($item_1)); $amount = new Amount(); $amount-gt;setCurrency('USD') -gt;setTotal($request-gt;price); $transaction = new Transaction(); $transaction-gt;setAmount($amount) -gt;setItemList($item_list) -gt;setDescription('Awebly ' . $request-gt;name); $redirect_urls = new RedirectUrls(); $redirect_urls-gt;setReturnUrl('http://localhost:8080/Plans') -gt;setCancelUrl('http://localhost:8080/Plans'); $payment = new Payment(); $payment-gt;setIntent('Sale') -gt;setPayer($payer) -gt;setRedirectUrls($redirect_urls) -gt;setTransactions(array($transaction)); try { $payment-gt;create($this-gt;_api_context); $payment_details = new PaymentDetail(); $payment_details-gt;payment_method = 'Paypal'; $payment_details-gt;plan = $request-gt;name; $payment_details-gt;payment_id = $payment-gt;getId(); $payment_details-gt;amount = $request-gt;price; $payment_details-gt;user_name = auth()-gt;user()-gt;name; $payment_details-gt;user_id=auth()-gt;user()-gt;id; $payment_details-gt;save(); } catch (PayPalExceptionPPConnectionException $ex) { DB::rollBack(); if (Config::get('app.debug')) { return response( [ 'message'=gt;'connection timeout' ] ); } else { return response( [ 'message'=gt;'error' ] ); } } DB::commit(); foreach ($payment-gt;getLinks() as $link) { if ($link-gt;getRel() == 'approval_url') { $redirect_url = $link-gt;getHref(); break; } } if (isset($redirect_url)) { return redirect($redirect_url); } return response( [ 'message'=gt;'unknown error occurred' ] ); }
Я не знаю, в чем ошибка. Любая помощь будет признательна.
Комментарии:
1. в коде laravel я забыл упомянуть функцию Request $request в магазине.
2. У вас есть файл журнала Laravel, обычно ошибка должна регистрироваться там.
3. @Aless55 Нет, сэр, я даже не могу подключиться к этому api. Всякий раз, когда я запускаю эту функцию, возникает та же ошибка.