diff --git a/app/Http/Controllers/iLinkTransactionController.php b/app/Http/Controllers/iLinkTransactionController.php index 1a61a56..b6d66da 100755 --- a/app/Http/Controllers/iLinkTransactionController.php +++ b/app/Http/Controllers/iLinkTransactionController.php @@ -232,8 +232,18 @@ class iLinkTransactionController extends Controller $data = $request->all(); - if (isset($request->cvv) && !is_numeric($request->cvv)) + if (isset($request->cvv) && !is_numeric($request->cvv)){ return $this->errorResponse('errors.invalid_cvv'); + } + + // Verify transaction id + $transaction_id = $request->input('payment_transaction_id'); + if (!empty($transaction_id)) { + if ( WalletIlinkTransaction::where('payment_transaction_id', $transaction_id)->exists()) { + return $this->errorResponse(trans('errors.payment_invalid'), 400); + } + } + $transaction->fill($data); diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index 01f21eb..f757b9a 100755 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -88,5 +88,6 @@ Paying network : :network :country', "amount_not_allowed" => "This amount is not allowed. It must be between :min and :max", "transaction_already_completed" => "This transaction has already been completed", 'paying_network_api_failed' => "Request to API paying network failed", - 'transaction_not_supported' => "This transaction is not supported" + 'transaction_not_supported' => "This transaction is not supported", + 'payment_invalid' => "Invalid payment" ]; diff --git a/resources/lang/fr/errors.php b/resources/lang/fr/errors.php index b136cd3..c1bb592 100755 --- a/resources/lang/fr/errors.php +++ b/resources/lang/fr/errors.php @@ -88,5 +88,6 @@ Réseau payeur : :network :country', "amount_not_allowed" => "Ce montant n'est pas autorisé. Il doit être compris entre :min et :max", "transaction_already_completed" => "Cette transaction a déjà été éffectuée", 'paying_network_api_failed' => "La requête vers l'API du réseau payeur a échouée", - 'transaction_not_supported' => "Cette transaction n'est pas supportée" + 'transaction_not_supported' => "Cette transaction n'est pas supportée", + 'payment_invalid' => "Paiement invalide" ];