*/ public static function statusValues(): array { return [ null => '-', self::PENDING => __('Pending'), self::PAID => __('Paid'), self::FAILED => __('Cancelled'), ]; } /** * Set price */ public function getPrice(int|float|string $price): string { return number_format(floatval($price), 2, '', ''); } /** * Pay card order * * @param mixed $resource * @return array */ public function payCardOrder() { $orderNumber = $this->generateOrderNumber(); // $paymentResponse = Http::get('https://mpi.gov.tm/payment/rest/register.do', [ // 'orderNumber' => $orderNumber, // 'amount' => $this->getPrice($resource->priceAmount()), // 'currency' => 934, // 'language' => 'ru', // 'userName' => $resource->branch->billing_username, // 'password' => $resource->branch->billing_password, // 'returnUrl' => route('online-payment-store'), // 'pageView' => 'DESKTOP', // 'description' => 'Kart tölegi', // ])->onError(function ($response) { // Log::channel('halkbank_payment_error') // ->error('Payment error', [ // 'response' => [ // 'body' => $response->body(), // ], // ]); // }); // if ($paymentResponse->failed()) { // return [ // 'status' => 'failed', // 'url' => '', // ]; // } // $onlinePaymentHistory = new OnlinePayment; // $onlinePaymentHistory->online_paymantable_id = $resource->really(); // $onlinePaymentHistory->online_paymantable_type = CardOrder::class; // $onlinePaymentHistory->amount = $resource->priceAmount(); // $onlinePaymentHistory->orderNumber = $orderNumber; // $onlinePaymentHistory->description = 'Kart tölegi'; // $onlinePaymentHistory->orderId = $paymentResponse['orderId']; // $onlinePaymentHistory->formUrl = $paymentResponse['formUrl']; // $onlinePaymentHistory->successUrl = route('online-payment-store'); // $onlinePaymentHistory->errorUrl = route('online-payment-store'); // $onlinePaymentHistory->api_client = 'billing_username'; // $onlinePaymentHistory->username = $resource->branch->billing_username; // $onlinePaymentHistory->paymentStatus = self::PENDING; // $onlinePaymentHistory->save(); // return [ // 'status' => 'success', // 'url' => $paymentResponse['formUrl'], // ]; } /** * Generate order number for payment */ public function generateOrderNumber(): string { return date('dmyHis'); } }