| @@ -16,7 +16,7 @@ | ||
| 16 | 16 | $this->driver = $driver; | 
| 17 | 17 | } | 
| 18 | 18 | |
| 19 | - abstract public function init($amount, $orderId, $callbackUrl, $detail = []); | |
| 19 | + abstract public function init($amount, $orderId, $callbackUrl, $detail = []); | |
| 20 | 20 | |
| 21 | 21 | abstract public function verify($request); | 
| 22 | 22 | |
| @@ -28,7 +28,7 @@ | ||
| 28 | 28 | $this->loadMigrationsFrom(__DIR__ . '/database/migrations'); | 
| 29 | 29 | |
| 30 | 30 | $this->publishes([ | 
| 31 | -            __DIR__.'/config/gateway.php' =>config_path('gateway.php') | |
| 31 | +            __DIR__ . '/config/gateway.php' =>config_path('gateway.php') | |
| 32 | 32 | ], 'gateway'); | 
| 33 | 33 | } | 
| 34 | 34 | } | 
| @@ -10,11 +10,11 @@ | ||
| 10 | 10 | use HasFactory; | 
| 11 | 11 | |
| 12 | 12 | protected $fillable = ['order_id', 'status', 'amount', 'driver', 'ref_no', 'token', 'description']; | 
| 13 | - protected $appends = ['gateway','toman','status_label','status_badge']; | |
| 13 | + protected $appends = ['gateway', 'toman', 'status_label', 'status_badge']; | |
| 14 | 14 | |
| 15 | 15 | public function parent() | 
| 16 | 16 |      { | 
| 17 | -        return $this->belongsTo( config('gateway.model'), 'order_id' ); | |
| 17 | +        return $this->belongsTo(config('gateway.model'), 'order_id'); | |
| 18 | 18 | } | 
| 19 | 19 | |
| 20 | 20 | public function getGatewayAttribute() | 
| @@ -13,10 +13,10 @@ | ||
| 13 | 13 | */ | 
| 14 | 14 | public function up() | 
| 15 | 15 |      { | 
| 16 | -        Schema::create('transactions', function (Blueprint $table) { | |
| 16 | +        Schema::create('transactions', function(Blueprint $table) { | |
| 17 | 17 | $table->id(); | 
| 18 | 18 |              $table->unsignedBigInteger('order_id'); | 
| 19 | -            $table->decimal('amount', 15,2); | |
| 19 | +            $table->decimal('amount', 15, 2); | |
| 20 | 20 |              $table->string('driver', 128); | 
| 21 | 21 |              $table->enum('status', ['pending', 'successful', 'failed', 'refunded']); | 
| 22 | 22 |              $table->string('ref_no')->nullable(); | 
| @@ -16,16 +16,16 @@ discard block | ||
| 16 | 16 | $class = new PasargadIpg($this->getInformation()); | 
| 17 | 17 |          $class->verifySSL(config('gateway.information')['pasargad']['options']['verifySSL']); | 
| 18 | 18 | |
| 19 | -        $result = $class->getToken( $amount, $transaction->id, $transaction->created_at->format('Y/m/d H:i:s'), $callbackUrl ); | |
| 19 | +        $result = $class->getToken($amount, $transaction->id, $transaction->created_at->format('Y/m/d H:i:s'), $callbackUrl); | |
| 20 | 20 | |
| 21 | -        if(isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result->status == 'success') { | |
| 21 | +        if (isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result->status == 'success') { | |
| 22 | 22 | $result->token = $result->token; | 
| 23 | 23 | $result->url = 'https://pep.shaparak.ir/payment.aspx?n=' . $result->token; | 
| 24 | 24 | return $result; | 
| 25 | 25 | |
| 26 | -        } elseif($result->status == 'success') { | |
| 26 | +        } elseif ($result->status == 'success') { | |
| 27 | 27 | $this->updateTransactionData($transaction->id, ['token' => $result->token]); | 
| 28 | - header( 'Location: https://pep.shaparak.ir/payment.aspx?n=' . $result->token ); | |
| 28 | +            header('Location: https://pep.shaparak.ir/payment.aspx?n=' . $result->token); | |
| 29 | 29 | die(); | 
| 30 | 30 | |
| 31 | 31 | } | 
| @@ -38,11 +38,11 @@ discard block | ||
| 38 | 38 | $class = new PasargadIpg($this->getInformation()); | 
| 39 | 39 |          $class->verifySSL(config('gateway.information')['pasargad']['options']['verifySSL']); | 
| 40 | 40 | |
| 41 | - $check = $class->checkTransaction( $request['iN'], $request['iD'] ); | |
| 41 | + $check = $class->checkTransaction($request['iN'], $request['iD']); | |
| 42 | 42 | |
| 43 | 43 |          if ($check->status == 'success') { | 
| 44 | 44 | $transaction = $this->getTransaction($request['iN']); | 
| 45 | - $result = $class->verifyTransaction( (int) $transaction->amount, $request['iN'], $request['iD'] ); | |
| 45 | + $result = $class->verifyTransaction((int) $transaction->amount, $request['iN'], $request['iD']); | |
| 46 | 46 | |
| 47 | 47 |              if ($result->status == 'success') { | 
| 48 | 48 | $this->updateTransactionData($request['iN'], ['status' => 'successful', 'ref_no' => $request['tref']]); | 
| @@ -46,9 +46,9 @@ | ||
| 46 | 46 | } | 
| 47 | 47 | return $result; | 
| 48 | 48 | |
| 49 | -        }elseif ($result['status'] == 0){ | |
| 49 | +        } elseif ($result['status'] == 0){ | |
| 50 | 50 | $this->updateTransactionData($request['transId'], ['status' => 'failed', 'description' => $result['error']]); | 
| 51 | -        }elseif ($result['status'] == 3){ | |
| 51 | +        } elseif ($result['status'] == 3){ | |
| 52 | 52 | $this->updateTransactionData($request['transId'], ['status' => 'failed', 'description' => $result['errors'][0]]); | 
| 53 | 53 | } | 
| 54 | 54 | return $result; | 
| @@ -16,15 +16,15 @@ discard block | ||
| 16 | 16 | |
| 17 | 17 |          $given_result = (object) array('token' => '', 'url' => ''); | 
| 18 | 18 | |
| 19 | -        if ($result['status'] == 1){ | |
| 19 | +        if ($result['status'] == 1) { | |
| 20 | 20 | $this->updateTransactionData($transaction->id, ['token' => $result['token']]); | 
| 21 | -            if(isset($detail['auto_redirect']) && $detail['auto_redirect'] == false) { | |
| 21 | +            if (isset($detail['auto_redirect']) && $detail['auto_redirect'] == false) { | |
| 22 | 22 | $given_result->token = $result['token']; | 
| 23 | 23 | $given_result->url = 'https://ipg.vandar.io/v3/' . $result['token']; | 
| 24 | 24 | return $given_result; | 
| 25 | 25 | |
| 26 | 26 |              } else { | 
| 27 | - header( 'Location: https://ipg.vandar.io/v3/' . $result['token']); | |
| 27 | +                header('Location: https://ipg.vandar.io/v3/' . $result['token']); | |
| 28 | 28 | die(); | 
| 29 | 29 | } | 
| 30 | 30 | } | 
| @@ -44,9 +44,9 @@ discard block | ||
| 44 | 44 | } | 
| 45 | 45 | return $result; | 
| 46 | 46 | |
| 47 | -        }elseif ($result['status'] == 0){ | |
| 47 | +        }elseif ($result['status'] == 0) { | |
| 48 | 48 | $this->updateTransactionData($request['transId'], ['status' => 'failed', 'description' => $result['error']]); | 
| 49 | -        }elseif ($result['status'] == 3){ | |
| 49 | +        }elseif ($result['status'] == 3) { | |
| 50 | 50 | $this->updateTransactionData($request['transId'], ['status' => 'failed', 'description' => $result['errors'][0]]); | 
| 51 | 51 | } | 
| 52 | 52 | return $result; | 
| @@ -16,14 +16,14 @@ discard block | ||
| 16 | 16 | $class = new ParsianIpg($this->getInformation()); | 
| 17 | 17 | $result = $class->paymentRequest($amount, $transaction->id, $callbackUrl); | 
| 18 | 18 | |
| 19 | -        if(isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result->status == 'success') { | |
| 19 | +        if (isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result->status == 'success') { | |
| 20 | 20 | $result->token = $result->token; | 
| 21 | 21 | $result->url = 'https://pec.shaparak.ir/NewIPG/?Token=' . $result->token; | 
| 22 | 22 | return $result; | 
| 23 | 23 | |
| 24 | -        } elseif($result->status == 'success') { | |
| 24 | +        } elseif ($result->status == 'success') { | |
| 25 | 25 | $this->updateTransactionData($transaction->id, ['token' => $result->token]); | 
| 26 | - header( 'Location: https://pec.shaparak.ir/NewIPG/?Token=' . $result->token ); | |
| 26 | +            header('Location: https://pec.shaparak.ir/NewIPG/?Token=' . $result->token); | |
| 27 | 27 | die(); | 
| 28 | 28 | |
| 29 | 29 | } | 
| @@ -35,7 +35,7 @@ discard block | ||
| 35 | 35 |      { | 
| 36 | 36 | $class = new ParsianIpg($this->getInformation()); | 
| 37 | 37 | |
| 38 | - $result = $class->confirmPayment( $request['Token'] ); | |
| 38 | + $result = $class->confirmPayment($request['Token']); | |
| 39 | 39 | |
| 40 | 40 |          if ($result->status == 'success') { | 
| 41 | 41 | $this->updateTransactionData($request['OrderId'], ['status' => 'successful', 'ref_no' => $request['RRN']]); | 
| @@ -14,14 +14,14 @@ discard block | ||
| 14 | 14 | |
| 15 | 15 | $result = $this->payment_request($amount, $callbackUrl); | 
| 16 | 16 | |
| 17 | -        if(isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result['status'] == 1) { | |
| 17 | +        if (isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result['status'] == 1) { | |
| 18 | 18 | $result['token'] = $result['invoice_key']; | 
| 19 | 19 |              $result['url'] = config('gateway.information')['poolam']['constructor']['api_url'] . "pay/" . $result['token']; | 
| 20 | 20 | return $result; | 
| 21 | 21 | |
| 22 | -        } elseif($result['status'] == 1) { | |
| 22 | +        } elseif ($result['status'] == 1) { | |
| 23 | 23 | $this->updateTransactionData($transaction->id, ['token' => $result['invoice_key']]); | 
| 24 | -            header( 'Location: ' . config('gateway.information')['poolam']['constructor']['api_url'] . "pay/" . $result['invoice_key']); | |
| 24 | +            header('Location: ' . config('gateway.information')['poolam']['constructor']['api_url'] . "pay/" . $result['invoice_key']); | |
| 25 | 25 | die(); | 
| 26 | 26 | |
| 27 | 27 | } | 
| @@ -45,25 +45,25 @@ discard block | ||
| 45 | 45 | return $check; | 
| 46 | 46 | } | 
| 47 | 47 | |
| 48 | -    protected function check_payment($inv_key){ | |
| 48 | +    protected function check_payment($inv_key) { | |
| 49 | 49 | $ch = curl_init(); | 
| 50 | -        curl_setopt($ch,CURLOPT_URL,config('gateway.information')['poolam']['constructor']['api_url'] . 'check/'.$inv_key); | |
| 51 | -        curl_setopt($ch,CURLOPT_POSTFIELDS,"api_key=" . config('gateway.information')['poolam']['constructor']['api_key']); | |
| 50 | +        curl_setopt($ch, CURLOPT_URL, config('gateway.information')['poolam']['constructor']['api_url'] . 'check/' . $inv_key); | |
| 51 | +        curl_setopt($ch, CURLOPT_POSTFIELDS, "api_key=" . config('gateway.information')['poolam']['constructor']['api_key']); | |
| 52 | 52 | curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); | 
| 53 | - curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); | |
| 53 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
| 54 | 54 | $res = curl_exec($ch); | 
| 55 | 55 | curl_close($ch); | 
| 56 | - return json_decode($res,1); | |
| 56 | + return json_decode($res, 1); | |
| 57 | 57 | } | 
| 58 | 58 | |
| 59 | -    protected function payment_request($amount,$redirect){ | |
| 59 | +    protected function payment_request($amount, $redirect) { | |
| 60 | 60 | $ch = curl_init(); | 
| 61 | -        curl_setopt($ch,CURLOPT_URL,config('gateway.information')['poolam']['constructor']['api_url'] . 'request'); | |
| 62 | -        curl_setopt($ch,CURLOPT_POSTFIELDS,"api_key=" . config('gateway.information')['poolam']['constructor']['api_key'] . "&amount=$amount&return_url=$redirect"); | |
| 63 | - curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, FALSE); | |
| 64 | - curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); | |
| 61 | +        curl_setopt($ch, CURLOPT_URL, config('gateway.information')['poolam']['constructor']['api_url'] . 'request'); | |
| 62 | +        curl_setopt($ch, CURLOPT_POSTFIELDS, "api_key=" . config('gateway.information')['poolam']['constructor']['api_key'] . "&amount=$amount&return_url=$redirect"); | |
| 63 | + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); | |
| 64 | + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); | |
| 65 | 65 | $res = curl_exec($ch); | 
| 66 | 66 | curl_close($ch); | 
| 67 | - return json_decode($res,1); | |
| 67 | + return json_decode($res, 1); | |
| 68 | 68 | } | 
| 69 | 69 | } |