@@ -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']]); |
@@ -13,15 +13,15 @@ discard block |
||
| 13 | 13 | |
| 14 | 14 | $result = $this->payment_request($amount, $callbackUrl); |
| 15 | 15 | |
| 16 | - if(isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result['status'] == 1) { |
|
| 16 | + if (isset($detail['auto_redirect']) && $detail['auto_redirect'] == false && $result['status'] == 1) { |
|
| 17 | 17 | $result['token'] = $result['invoice_key']; |
| 18 | 18 | $this->updateTransactionData($transaction->id, ['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 | } |
@@ -38,32 +38,32 @@ discard block |
||
| 38 | 38 | $check['order'] = $transaction->parent; |
| 39 | 39 | if ($check['status'] == 1) { |
| 40 | 40 | $this->updateTransactionData($transaction->id, ['status' => 'successful', 'ref_no' => $check['bank_code']]); |
| 41 | - }else { |
|
| 41 | + } else { |
|
| 42 | 42 | $this->updateTransactionData($transaction->id, ['status' => 'failed', 'ref_no' => $check['errorCode'], 'description' => $check['errorDescription']]); |
| 43 | 43 | } |
| 44 | 44 | } |
| 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 | } |
@@ -38,7 +38,7 @@ |
||
| 38 | 38 | $check['order'] = $transaction->parent; |
| 39 | 39 | if ($check['status'] == 1) { |
| 40 | 40 | $this->updateTransactionData($transaction->id, ['status' => 'successful', 'ref_no' => $check['bank_code']]); |
| 41 | - }else { |
|
| 41 | + } else { |
|
| 42 | 42 | $this->updateTransactionData($transaction->id, ['status' => 'failed', 'ref_no' => $check['errorCode'], 'description' => $check['errorDescription']]); |
| 43 | 43 | } |
| 44 | 44 | } |