Closed shamekhkala closed 3 years ago
برای حل این مشکل کافیست در آدرس vendor/larabook/gateway/src/parsan.php فانکشن وری فای پیمنت را به صورت زیر تغییر دهید
protected function verifyPayment() { if (!Request::has('Token') && !Request::has('status')) throw new ParsianErrorException('درخواست غیر معتبر', -1);
$authority = Request::input('Token'); $authority2 = Request::input('transaction_id'); $status = Request::input('status'); if ($status != 0) { $errorMessage = ParsianResult::errorMessage($status); $this->newLog($status, $errorMessage); throw new ParsianErrorException($errorMessage, $status); } if ($this->transactionId != $authority2) throw new ParsianErrorException('تراکنشی یافت نشد', -1); $params = array( 'LoginAccount' => $this->config->get('gateway.parsian.pin'), 'Token' => $authority, ); try { $soap = new SoapClient($this->serverUrlConfirm); $result = $soap->ConfirmPayment([ "requestData" => $params ]); } catch (\SoapFault $e) { throw new ParsianErrorException($e->getMessage(), -1); } if ($result === false || !isset($result->ConfirmPaymentResult->Status)) throw new ParsianErrorException('پاسخ دریافتی از بانک نامعتبر است.', -1); if ($result->ConfirmPaymentResult->Status != 0) { $errorMessage = ParsianResult::errorMessage($result->ConfirmPaymentResult->Status); $this->transactionFailed(); $this->newLog($result->ConfirmPaymentResult->Status, $errorMessage); throw new ParsianErrorException($errorMessage, $result->ConfirmPaymentResult->Status); } $this->trackingCode = $result->ConfirmPaymentResult->RRN; $this->cardNumber = $result->ConfirmPaymentResult->CardNumberMasked; $this->transactionSucceed(); $this->newLog($result->ConfirmPaymentResult->Status, ParsianResult::errorMessage($result->ConfirmPaymentResult->Status)); }
برای حل این مشکل کافیست در آدرس vendor/larabook/gateway/src/parsan.php فانکشن وری فای پیمنت را به صورت زیر تغییر دهید
protected function verifyPayment() { if (!Request::has('Token') && !Request::has('status')) throw new ParsianErrorException('درخواست غیر معتبر', -1);