From 1423aba7e7902b4219d1d0f620b690a7c3b1f66e Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Tue, 24 Dec 2024 14:00:26 +0600 Subject: [PATCH 01/15] balance check skip added --- src/Http/Requests/StoreBankTransferRequest.php | 15 +++++++++++++++ src/Http/Requests/StoreCashPickupRequest.php | 15 +++++++++++++++ src/Http/Requests/StoreWalletTransferRequest.php | 15 +++++++++++++++ src/Services/BankTransferService.php | 14 ++++++++------ src/Services/CashPickupService.php | 10 ++++++++-- src/Services/WalletTransferService.php | 10 ++++++++-- 6 files changed, 69 insertions(+), 10 deletions(-) diff --git a/src/Http/Requests/StoreBankTransferRequest.php b/src/Http/Requests/StoreBankTransferRequest.php index 6687b8d..54a05a8 100644 --- a/src/Http/Requests/StoreBankTransferRequest.php +++ b/src/Http/Requests/StoreBankTransferRequest.php @@ -23,6 +23,7 @@ public function authorize(): bool public function rules(): array { return [ + 'allow_insufficient_balance' => ['nullable', 'boolean'], 'user_id' => ['nullable', 'integer', 'min:1'], 'source_country_id' => ['required', 'integer', 'min:1', 'master_currency'], 'destination_country_id' => ['required', 'integer', 'min:1', 'master_currency'], @@ -34,6 +35,8 @@ public function rules(): array 'order_data' => ['nullable', 'array'], 'reverse' => ['nullable', 'boolean'], 'order_data.request_from' => ['string', 'required'], + 'order_data.business_type' => ['string', 'nullable', 'in:personal,corporate'], + 'order_data.transaction_type' => ['string', 'nullable', 'in:fast,low'], 'order_data.beneficiary_type_id' => ['integer', 'nullable'], 'order_data.beneficiary_id' => ['integer', 'nullable'], 'order_data.bank_id' => ['integer', 'nullable'], @@ -46,8 +49,20 @@ public function rules(): array protected function prepareForValidation() { + $this->mergeIfMissing(['allow_insufficient_balance' => false]); + $order_data = $this->input('order_data'); + $order_data['request_from'] = request()->platform()->value; + + if (empty($order_data['business_type'])) { + $order_data['business_type'] = 'personal'; + } + + if (empty($order_data['transaction_type'])) { + $order_data['transaction_type'] = 'low'; + } + $this->merge(['order_data' => $order_data]); } diff --git a/src/Http/Requests/StoreCashPickupRequest.php b/src/Http/Requests/StoreCashPickupRequest.php index bcba895..b3698fe 100644 --- a/src/Http/Requests/StoreCashPickupRequest.php +++ b/src/Http/Requests/StoreCashPickupRequest.php @@ -23,6 +23,7 @@ public function authorize(): bool public function rules(): array { return [ + 'allow_insufficient_balance' => ['nullable', 'boolean'], 'user_id' => ['nullable', 'integer', 'min:1'], 'source_country_id' => ['required', 'integer', 'min:1', 'master_currency'], 'destination_country_id' => ['required', 'integer', 'min:1', 'master_currency'], @@ -34,6 +35,8 @@ public function rules(): array 'order_data' => ['nullable', 'array'], 'reverse' => ['nullable', 'boolean'], 'order_data.request_from' => ['string', 'required'], + 'order_data.business_type' => ['string', 'nullable', 'in:personal,corporate'], + 'order_data.transaction_type' => ['string', 'nullable', 'in:fast,low'], 'order_data.beneficiary_type_id' => ['integer', 'nullable'], 'order_data.beneficiary_id' => ['integer', 'nullable'], 'order_data.cash_id' => ['integer', 'nullable'], @@ -44,8 +47,20 @@ public function rules(): array protected function prepareForValidation() { + $this->mergeIfMissing(['allow_insufficient_balance' => false]); + $order_data = $this->input('order_data'); + $order_data['request_from'] = request()->platform()->value; + + if (empty($order_data['business_type'])) { + $order_data['business_type'] = 'personal'; + } + + if (empty($order_data['transaction_type'])) { + $order_data['transaction_type'] = 'low'; + } + $this->merge(['order_data' => $order_data]); } diff --git a/src/Http/Requests/StoreWalletTransferRequest.php b/src/Http/Requests/StoreWalletTransferRequest.php index fdb0e68..1ed6d2d 100644 --- a/src/Http/Requests/StoreWalletTransferRequest.php +++ b/src/Http/Requests/StoreWalletTransferRequest.php @@ -23,6 +23,7 @@ public function authorize(): bool public function rules(): array { return [ + 'allow_insufficient_balance' => ['nullable', 'boolean'], 'user_id' => ['nullable', 'integer', 'min:1'], 'source_country_id' => ['required', 'integer', 'min:1', 'master_currency'], 'destination_country_id' => ['required', 'integer', 'min:1', 'master_currency'], @@ -34,6 +35,8 @@ public function rules(): array 'reverse' => ['nullable', 'boolean'], 'order_data' => ['nullable', 'array'], 'order_data.request_from' => ['string', 'required'], + 'order_data.business_type' => ['string', 'nullable', 'in:personal,corporate'], + 'order_data.transaction_type' => ['string', 'nullable', 'in:fast,low'], 'order_data.beneficiary_type_id' => ['integer', 'nullable'], 'order_data.beneficiary_id' => ['integer', 'nullable'], 'order_data.wallet_id' => ['integer', 'nullable'], @@ -46,8 +49,20 @@ public function rules(): array protected function prepareForValidation() { + $this->mergeIfMissing(['allow_insufficient_balance' => false]); + $order_data = $this->input('order_data'); + $order_data['request_from'] = request()->platform()->value; + + if (empty($order_data['business_type'])) { + $order_data['business_type'] = 'personal'; + } + + if (empty($order_data['transaction_type'])) { + $order_data['transaction_type'] = 'low'; + } + $this->merge(['order_data' => $order_data]); } diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index 92f1512..1a0325d 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -93,11 +93,13 @@ public function import(array $filters): ?BaseModel */ public function create(array $inputs = []): ?BaseModel { - $inputs['allow_insufficient_balance'] = $inputs['allow_insufficient_balance'] ?? false; + $allowInsufficientBalance = $inputs['allow_insufficient_balance'] ?? false; + + unset($inputs['allow_insufficient_balance']); $sender = Auth::user()->find($inputs['user_id']); - if (! $sender) { + if (!$sender) { throw (new ModelNotFoundException)->setModel(config('fintech.auth.auth_model'), $inputs['user_id']); } @@ -111,13 +113,13 @@ public function create(array $inputs = []): ?BaseModel $senderAccount = Transaction::userAccount()->findWhere(['user_id' => $sender->getKey(), 'country_id' => $inputs['source_country_id']]); - if (! $senderAccount) { + if (!$senderAccount) { throw new CurrencyUnavailableException($inputs['source_country_id']); } $masterUser = Auth::user()->findWhere(['role_name' => SystemRole::MasterUser->value, 'country_id' => $inputs['source_country_id']]); - if (! $masterUser) { + if (!$masterUser) { throw new MasterCurrencyUnavailableException($inputs['source_country_id']); } @@ -187,8 +189,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (! $inputs['allow_insufficient_balance']) { - if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { + if (!$allowInsufficientBalance) { + if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 8b06370..104dfd7 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -90,6 +90,10 @@ public function import(array $filters): ?BaseModel */ public function create(array $inputs = []): ?BaseModel { + $allowInsufficientBalance = $inputs['allow_insufficient_balance'] ?? false; + + unset($inputs['allow_insufficient_balance']); + $sender = Auth::user()->find($inputs['user_id']); if (! $sender) { @@ -184,8 +188,10 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { - throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); + if (!$allowInsufficientBalance) { + if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); + } } DB::beginTransaction(); diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index 74be840..4cc8fd3 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -80,6 +80,10 @@ public function import(array $filters): ?BaseModel public function create(array $inputs = []): ?BaseModel { + $allowInsufficientBalance = $inputs['allow_insufficient_balance'] ?? false; + + unset($inputs['allow_insufficient_balance']); + $sender = Auth::user()->find($inputs['user_id']); if (! $sender) { @@ -174,8 +178,10 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { - throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); + if (!$allowInsufficientBalance) { + if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); + } } DB::beginTransaction(); From 9edde52a9e511d98244c6bab4a21c6149398f2ff Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Tue, 24 Dec 2024 08:01:03 +0000 Subject: [PATCH 02/15] Fix styling --- src/Services/BankTransferService.php | 10 +++++----- src/Services/CashPickupService.php | 4 ++-- src/Services/WalletTransferService.php | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index 1a0325d..2a51d6b 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -99,7 +99,7 @@ public function create(array $inputs = []): ?BaseModel $sender = Auth::user()->find($inputs['user_id']); - if (!$sender) { + if (! $sender) { throw (new ModelNotFoundException)->setModel(config('fintech.auth.auth_model'), $inputs['user_id']); } @@ -113,13 +113,13 @@ public function create(array $inputs = []): ?BaseModel $senderAccount = Transaction::userAccount()->findWhere(['user_id' => $sender->getKey(), 'country_id' => $inputs['source_country_id']]); - if (!$senderAccount) { + if (! $senderAccount) { throw new CurrencyUnavailableException($inputs['source_country_id']); } $masterUser = Auth::user()->findWhere(['role_name' => SystemRole::MasterUser->value, 'country_id' => $inputs['source_country_id']]); - if (!$masterUser) { + if (! $masterUser) { throw new MasterCurrencyUnavailableException($inputs['source_country_id']); } @@ -189,8 +189,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (!$allowInsufficientBalance) { - if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + if (! $allowInsufficientBalance) { + if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 104dfd7..2cbe481 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -188,8 +188,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (!$allowInsufficientBalance) { - if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + if (! $allowInsufficientBalance) { + if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index 4cc8fd3..101354d 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -178,8 +178,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (!$allowInsufficientBalance) { - if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + if (! $allowInsufficientBalance) { + if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } From decf78752e4a4f8c1229018fa6be6b679f30f17a Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Thu, 26 Dec 2024 14:33:17 +0600 Subject: [PATCH 03/15] send money updated --- database/seeders/RemitSeeder.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/database/seeders/RemitSeeder.php b/database/seeders/RemitSeeder.php index e77375b..c8631fc 100644 --- a/database/seeders/RemitSeeder.php +++ b/database/seeders/RemitSeeder.php @@ -63,6 +63,9 @@ private function data(): array 'logo_png' => "{$image_png}wallet_transfer.png", 'service_type_is_parent' => 'yes', 'service_type_is_description' => 'no', + 'service_settings' => [ + 'beneficiary_type_id' => intval(Banco::beneficiaryType()->findWhere(['slug' => 'wallet-transfer'])?->id ?? 1), + ], ], ]; } From 1dbd8736de4dbb2b9f6956e1577bf32076669dc7 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Thu, 26 Dec 2024 15:35:39 +0600 Subject: [PATCH 04/15] order number added in order created response --- .../Controllers/BankTransferController.php | 2 +- src/Http/Controllers/CashPickupController.php | 1 + .../MoneyTransferPaymentController.php | 17 +++++++++++ .../Controllers/WalletTransferController.php | 1 + .../Requests/MoneyTransferPaymentRequest.php | 30 +++++++++++++++++++ src/Services/BankTransferService.php | 2 +- src/Services/CashPickupService.php | 2 +- src/Services/WalletTransferService.php | 2 +- 8 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 src/Http/Controllers/MoneyTransferPaymentController.php create mode 100644 src/Http/Requests/MoneyTransferPaymentRequest.php diff --git a/src/Http/Controllers/BankTransferController.php b/src/Http/Controllers/BankTransferController.php index ad30b21..881e423 100644 --- a/src/Http/Controllers/BankTransferController.php +++ b/src/Http/Controllers/BankTransferController.php @@ -13,7 +13,6 @@ use Fintech\Core\Exceptions\RestoreOperationException; use Fintech\Core\Exceptions\StoreOperationException; use Fintech\Core\Exceptions\UpdateOperationException; -use Fintech\Remit\Events\RemitTransferRequested; use Fintech\Remit\Facades\Remit; use Fintech\Remit\Http\Requests\ImportBankTransferRequest; use Fintech\Remit\Http\Requests\IndexBankTransferRequest; @@ -90,6 +89,7 @@ public function store(StoreBankTransferRequest $request): JsonResponse return response()->created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Bank Transfer']), 'id' => $bankTransfer->getKey(), + 'order_number' => $bankTransfer->order_number ?? $bankTransfer->order_data['purchase_number'] ]); } catch (Exception $exception) { diff --git a/src/Http/Controllers/CashPickupController.php b/src/Http/Controllers/CashPickupController.php index 154fd99..9348dd5 100644 --- a/src/Http/Controllers/CashPickupController.php +++ b/src/Http/Controllers/CashPickupController.php @@ -92,6 +92,7 @@ public function store(StoreCashPickupRequest $request): JsonResponse return response()->created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Cash Pickup']), 'id' => $cashPickup->getKey(), + 'order_number' => $cashPickup->order_number ?? $cashPickup->order_data['purchase_number'] ]); } catch (Exception $exception) { diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php new file mode 100644 index 0000000..f4a5f27 --- /dev/null +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -0,0 +1,17 @@ +created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Wallet Transfer']), 'id' => $walletTransfer->getKey(), + 'order_number' => $walletTransfer->order_number ?? $walletTransfer->order_data['purchase_number'] ]); } catch (Exception $exception) { diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php new file mode 100644 index 0000000..2d9945f --- /dev/null +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -0,0 +1,30 @@ +|string> + */ + public function rules(): array + { + return [ + 'order_data' => ['array'], + 'order_data.interact_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], + 'order_data.interact_email' => ['string', 'min:3', 'max:255', 'email:rfc,dns'], + ]; + } +} diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index 2a51d6b..f918e4a 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -135,7 +135,7 @@ public function create(array $inputs = []): ?BaseModel $inputs['order_data']['is_reverse'] = $inputs['reverse'] ?? false; $inputs['sender_receiver_id'] = $masterUser->getKey(); $inputs['is_refunded'] = false; - $inputs['status'] = OrderStatus::Pending->value; + $inputs['status'] = ($allowInsufficientBalance) ? OrderStatus::PaymentPending : OrderStatus::Pending; $inputs['risk'] = $sender->risk_profile ?? RiskProfile::Low; $currencyConversion = Business::currencyRate()->convert([ 'role_id' => $inputs['order_data']['role_id'], diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 2cbe481..7dc9b0a 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -132,7 +132,7 @@ public function create(array $inputs = []): ?BaseModel $inputs['order_data']['is_reverse'] = $inputs['reverse'] ?? false; $inputs['sender_receiver_id'] = $masterUser->getKey(); $inputs['is_refunded'] = false; - $inputs['status'] = OrderStatus::Pending->value; + $inputs['status'] = ($allowInsufficientBalance) ? OrderStatus::PaymentPending : OrderStatus::Pending; $inputs['risk'] = $sender->risk_profile ?? RiskProfile::Low; $currencyConversion = Business::currencyRate()->convert([ 'role_id' => $inputs['order_data']['role_id'], diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index 101354d..65633bd 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -122,7 +122,7 @@ public function create(array $inputs = []): ?BaseModel $inputs['order_data']['is_reverse'] = $inputs['reverse'] ?? false; $inputs['sender_receiver_id'] = $masterUser->getKey(); $inputs['is_refunded'] = false; - $inputs['status'] = OrderStatus::Pending->value; + $inputs['status'] = ($allowInsufficientBalance) ? OrderStatus::PaymentPending : OrderStatus::Pending; $inputs['risk'] = $sender->risk_profile ?? RiskProfile::Low; $currencyConversion = Business::currencyRate()->convert([ 'role_id' => $inputs['order_data']['role_id'], From 76b3bf23931e36b69328d73b5a658f16f0cf1be0 Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Thu, 26 Dec 2024 09:40:14 +0000 Subject: [PATCH 05/15] Fix styling --- src/Http/Controllers/BankTransferController.php | 2 +- src/Http/Controllers/CashPickupController.php | 2 +- src/Http/Controllers/WalletTransferController.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Http/Controllers/BankTransferController.php b/src/Http/Controllers/BankTransferController.php index 881e423..d19d353 100644 --- a/src/Http/Controllers/BankTransferController.php +++ b/src/Http/Controllers/BankTransferController.php @@ -89,7 +89,7 @@ public function store(StoreBankTransferRequest $request): JsonResponse return response()->created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Bank Transfer']), 'id' => $bankTransfer->getKey(), - 'order_number' => $bankTransfer->order_number ?? $bankTransfer->order_data['purchase_number'] + 'order_number' => $bankTransfer->order_number ?? $bankTransfer->order_data['purchase_number'], ]); } catch (Exception $exception) { diff --git a/src/Http/Controllers/CashPickupController.php b/src/Http/Controllers/CashPickupController.php index 9348dd5..38515d8 100644 --- a/src/Http/Controllers/CashPickupController.php +++ b/src/Http/Controllers/CashPickupController.php @@ -92,7 +92,7 @@ public function store(StoreCashPickupRequest $request): JsonResponse return response()->created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Cash Pickup']), 'id' => $cashPickup->getKey(), - 'order_number' => $cashPickup->order_number ?? $cashPickup->order_data['purchase_number'] + 'order_number' => $cashPickup->order_number ?? $cashPickup->order_data['purchase_number'], ]); } catch (Exception $exception) { diff --git a/src/Http/Controllers/WalletTransferController.php b/src/Http/Controllers/WalletTransferController.php index e230388..a67baa3 100644 --- a/src/Http/Controllers/WalletTransferController.php +++ b/src/Http/Controllers/WalletTransferController.php @@ -92,7 +92,7 @@ public function store(StoreWalletTransferRequest $request): JsonResponse return response()->created([ 'message' => __('core::messages.transaction.request_created', ['service' => 'Wallet Transfer']), 'id' => $walletTransfer->getKey(), - 'order_number' => $walletTransfer->order_number ?? $walletTransfer->order_data['purchase_number'] + 'order_number' => $walletTransfer->order_number ?? $walletTransfer->order_data['purchase_number'], ]); } catch (Exception $exception) { From 44ba475b17bf366ed6ac391f8198c9ff016ace73 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Thu, 26 Dec 2024 16:57:14 +0600 Subject: [PATCH 06/15] money transfer interac call request completed --- routes/api.php | 4 ++ src/Events/MoneyTransferPayoutRequested.php | 30 +++++++++++++ .../MoneyTransferPaymentController.php | 38 +++++++++++++++- .../Requests/MoneyTransferPaymentRequest.php | 3 +- src/Listeners/MoneyTransferPayoutListener.php | 43 +++++++++++++++++++ src/Providers/EventServiceProvider.php | 5 +++ 6 files changed, 119 insertions(+), 4 deletions(-) create mode 100644 src/Events/MoneyTransferPayoutRequested.php create mode 100644 src/Listeners/MoneyTransferPayoutListener.php diff --git a/routes/api.php b/routes/api.php index be9f339..fd274ce 100644 --- a/routes/api.php +++ b/routes/api.php @@ -5,6 +5,7 @@ use Fintech\Remit\Http\Controllers\BankTransferController; use Fintech\Remit\Http\Controllers\CashPickupController; use Fintech\Remit\Http\Controllers\Charts\WithdrawPartnerSummaryController; +use Fintech\Remit\Http\Controllers\MoneyTransferPaymentController; use Fintech\Remit\Http\Controllers\VendorTestController; use Fintech\Remit\Http\Controllers\WalletTransferController; use Fintech\Remit\Http\Controllers\WalletVerificationController; @@ -56,6 +57,9 @@ }); Route::post('wallet-verification', WalletVerificationController::class)->name('wallet-verification'); Route::get('islami-bank-account-type-code', [VendorTestController::class, 'islamiBankAccountTypeCode'])->name('islami-bank-account-type-code'); + Route::post('money-transfer/{order}/payment', MoneyTransferPaymentController::class) + ->name('money-transfer-payment') + ->middleware('imposter'); //DO NOT REMOVE THIS LINE// diff --git a/src/Events/MoneyTransferPayoutRequested.php b/src/Events/MoneyTransferPayoutRequested.php new file mode 100644 index 0000000..058cb8a --- /dev/null +++ b/src/Events/MoneyTransferPayoutRequested.php @@ -0,0 +1,30 @@ +timeline; + + $timeline[] = [ + 'message' => 'Interac-E-Transfer payout request received', + 'flag' => 'info', + 'timestamp' => now(), + ]; + + $this->moneyTransfer = Reload::deposit()->update($moneyTransfer->getKey(), ['timeline' => $timeline]); + } +} diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php index f4a5f27..d97d4ee 100644 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -2,16 +2,50 @@ namespace Fintech\Remit\Http\Controllers; +use Exception; +use Fintech\Core\Exceptions\UpdateOperationException; +use Fintech\Remit\Events\MoneyTransferPayoutRequested; use Fintech\Remit\Http\Requests\MoneyTransferPaymentRequest; +use Fintech\Transaction\Facades\Transaction; +use Illuminate\Database\Eloquent\ModelNotFoundException; use Illuminate\Routing\Controller; class MoneyTransferPaymentController extends Controller { /** * Handle the incoming request. + * @throws UpdateOperationException */ - public function __invoke(string $id, MoneyTransferPaymentRequest $request) + public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Illuminate\Http\JsonResponse { - // + try { + + $moneyTransfer = Transaction::order()->find($id); + + if (!$moneyTransfer) { + throw (new ModelNotFoundException)->setModel(config('fintech.transaction.order_model'), $id); + } + + $inputs = $request->validated(); + + if (!Transaction::order()->update($id, $inputs)) { + + throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); + } + + $service = $moneyTransfer->service; + + event(new MoneyTransferPayoutRequested($moneyTransfer)); + + return response()->updated(__('core::messages.transaction.request_created', ['model' => ucwords($service->service_name).' Payment'])); + + } catch (ModelNotFoundException $exception) { + + return response()->notfound($exception->getMessage()); + + } catch (Exception $exception) { + + return response()->failed($exception); + } } } diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php index 2d9945f..821a2ec 100644 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -23,8 +23,7 @@ public function rules(): array { return [ 'order_data' => ['array'], - 'order_data.interact_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], - 'order_data.interact_email' => ['string', 'min:3', 'max:255', 'email:rfc,dns'], + 'order_data.interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'] ]; } } diff --git a/src/Listeners/MoneyTransferPayoutListener.php b/src/Listeners/MoneyTransferPayoutListener.php new file mode 100644 index 0000000..1fbc37e --- /dev/null +++ b/src/Listeners/MoneyTransferPayoutListener.php @@ -0,0 +1,43 @@ +requestPayout($event->moneyTransfer); + } + } + + /** + * Handle a failure. + */ + public function failed(MoneyTransferPayoutRequested $event, \Throwable $exception): void + { + Transaction::order()->update($event->moneyTransfer->getKey(), [ + 'status' => \Fintech\Core\Enums\Transaction\OrderStatus::AdminVerification->value, + 'notes' => $exception->getMessage(), + ]); + } +} diff --git a/src/Providers/EventServiceProvider.php b/src/Providers/EventServiceProvider.php index a0f05fb..0fe4efd 100644 --- a/src/Providers/EventServiceProvider.php +++ b/src/Providers/EventServiceProvider.php @@ -4,8 +4,10 @@ use Fintech\Remit\Events\BankTransferRequested; use Fintech\Remit\Events\CashPickupRequested; +use Fintech\Remit\Events\MoneyTransferPayoutRequested; use Fintech\Remit\Events\RemitTransferVendorAssigned; use Fintech\Remit\Events\WalletTransferRequested; +use Fintech\Remit\Listeners\MoneyTransferPayoutListener; use Fintech\Remit\Listeners\RemitOrderComplianceCheck; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; @@ -31,5 +33,8 @@ class EventServiceProvider extends ServiceProvider RemitTransferVendorAssigned::class => [ ], + MoneyTransferPayoutRequested::class => [ + MoneyTransferPayoutListener::class + ] ]; } From 882bbaa5719e5c9f543b39a781d017d271a29817 Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Thu, 26 Dec 2024 12:23:03 +0000 Subject: [PATCH 07/15] Fix styling --- src/Events/MoneyTransferPayoutRequested.php | 1 + src/Http/Controllers/MoneyTransferPaymentController.php | 5 +++-- src/Http/Requests/MoneyTransferPaymentRequest.php | 2 +- src/Providers/EventServiceProvider.php | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/Events/MoneyTransferPayoutRequested.php b/src/Events/MoneyTransferPayoutRequested.php index 058cb8a..2be2fd4 100644 --- a/src/Events/MoneyTransferPayoutRequested.php +++ b/src/Events/MoneyTransferPayoutRequested.php @@ -12,6 +12,7 @@ class MoneyTransferPayoutRequested use Dispatchable, InteractsWithSockets, SerializesModels; public $moneyTransfer; + /** * Create a new event instance. */ diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php index d97d4ee..e8bc101 100644 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -14,6 +14,7 @@ class MoneyTransferPaymentController extends Controller { /** * Handle the incoming request. + * * @throws UpdateOperationException */ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Illuminate\Http\JsonResponse @@ -22,13 +23,13 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill $moneyTransfer = Transaction::order()->find($id); - if (!$moneyTransfer) { + if (! $moneyTransfer) { throw (new ModelNotFoundException)->setModel(config('fintech.transaction.order_model'), $id); } $inputs = $request->validated(); - if (!Transaction::order()->update($id, $inputs)) { + if (! Transaction::order()->update($id, $inputs)) { throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); } diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php index 821a2ec..0451603 100644 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -23,7 +23,7 @@ public function rules(): array { return [ 'order_data' => ['array'], - 'order_data.interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'] + 'order_data.interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], ]; } } diff --git a/src/Providers/EventServiceProvider.php b/src/Providers/EventServiceProvider.php index 0fe4efd..ea55669 100644 --- a/src/Providers/EventServiceProvider.php +++ b/src/Providers/EventServiceProvider.php @@ -34,7 +34,7 @@ class EventServiceProvider extends ServiceProvider ], MoneyTransferPayoutRequested::class => [ - MoneyTransferPayoutListener::class - ] + MoneyTransferPayoutListener::class, + ], ]; } From 225eaa20d6e8fae06d65bbcb81cc8019f75c6fd6 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Sun, 29 Dec 2024 16:13:30 +0600 Subject: [PATCH 08/15] money transfer payload issue fixed --- src/Http/Controllers/MoneyTransferPaymentController.php | 9 +++++++-- src/Http/Requests/MoneyTransferPaymentRequest.php | 3 +-- src/Services/BankTransferService.php | 2 +- src/Services/CashPickupService.php | 2 +- src/Services/WalletTransferService.php | 2 +- 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php index e8bc101..d386589 100644 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -3,6 +3,7 @@ namespace Fintech\Remit\Http\Controllers; use Exception; +use Fintech\Core\Enums\Transaction\OrderStatus; use Fintech\Core\Exceptions\UpdateOperationException; use Fintech\Remit\Events\MoneyTransferPayoutRequested; use Fintech\Remit\Http\Requests\MoneyTransferPaymentRequest; @@ -29,7 +30,11 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill $inputs = $request->validated(); - if (! Transaction::order()->update($id, $inputs)) { + $orderData = $moneyTransfer->order_data ?? []; + + $orderData['interac_email'] = $inputs['interac_email']; + + if (! Transaction::order()->update($id, ['status' => OrderStatus::Pending, 'order_data' => $orderData])) { throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); } @@ -38,7 +43,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill event(new MoneyTransferPayoutRequested($moneyTransfer)); - return response()->updated(__('core::messages.transaction.request_created', ['model' => ucwords($service->service_name).' Payment'])); + return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name).' Payment'])); } catch (ModelNotFoundException $exception) { diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php index 0451603..6fbeb44 100644 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -22,8 +22,7 @@ public function authorize(): bool public function rules(): array { return [ - 'order_data' => ['array'], - 'order_data.interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], + 'interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], ]; } } diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index f918e4a..b7e741d 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -207,7 +207,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(); + $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); // $userUpdatedBalance = $this->debitTransaction($bankTransfer); // $senderUpdatedAccount = $senderAccount->toArray(); diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 7dc9b0a..25fa40b 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -202,7 +202,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(); + $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); // $userUpdatedBalance = $this->debitTransaction($cashPickup); // $senderUpdatedAccount = $senderAccount->toArray(); diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index 65633bd..16f5178 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -192,7 +192,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(); + $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); // $userUpdatedBalance = $this->debitTransaction($walletTransfer); // $senderUpdatedAccount = $senderAccount->toArray(); From c828eb644a424410eb2786223baf0490fa83e492 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Sun, 29 Dec 2024 18:31:24 +0600 Subject: [PATCH 09/15] sending payout request added --- .../MoneyTransferPaymentController.php | 25 ++++++++++++++++--- .../Requests/MoneyTransferPaymentRequest.php | 4 ++- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php index d386589..d918b03 100644 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -3,6 +3,7 @@ namespace Fintech\Remit\Http\Controllers; use Exception; +use Fintech\Business\Facades\Business; use Fintech\Core\Enums\Transaction\OrderStatus; use Fintech\Core\Exceptions\UpdateOperationException; use Fintech\Remit\Events\MoneyTransferPayoutRequested; @@ -24,7 +25,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill $moneyTransfer = Transaction::order()->find($id); - if (! $moneyTransfer) { + if (!$moneyTransfer) { throw (new ModelNotFoundException)->setModel(config('fintech.transaction.order_model'), $id); } @@ -34,7 +35,25 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill $orderData['interac_email'] = $inputs['interac_email']; - if (! Transaction::order()->update($id, ['status' => OrderStatus::Pending, 'order_data' => $orderData])) { + $payoutVendor = Business::serviceVendor()->findWhere([ + 'service_vendor_slug' => $inputs['vendor'] ?? 'leatherback', + 'enabled' => true, + 'paginate' => false, + ]); + + if (!$payoutVendor) { + + throw (new ModelNotFoundException)->setModel(config('fintech.business.service_vendor_model'), $inputs['vendor']); + } + + $data = [ + 'status' => OrderStatus::Pending, + 'order_data' => $orderData, + 'service_vendor_id' => $payoutVendor->getKey(), + 'vendor' => $payoutVendor->service_vendor_slug + ]; + + if (!Transaction::order()->update($id, $data)) { throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); } @@ -43,7 +62,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill event(new MoneyTransferPayoutRequested($moneyTransfer)); - return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name).' Payment'])); + return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name) . ' Payment'])); } catch (ModelNotFoundException $exception) { diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php index 6fbeb44..330a7b8 100644 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -3,6 +3,7 @@ namespace Fintech\Remit\Http\Requests; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Validation\Rule; class MoneyTransferPaymentRequest extends FormRequest { @@ -22,7 +23,8 @@ public function authorize(): bool public function rules(): array { return [ - 'interac_email' => ['string', 'min:5', 'max:255', 'email:rfc,dns'], + 'interac_email' => ['required', 'string', 'min:5', 'max:255', 'email:rfc,dns'], + 'vendor' => ['required', 'string'] ]; } } From 124c9023c924b9e7ee1d6d954cfddb24011c6c17 Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Sun, 29 Dec 2024 12:56:32 +0000 Subject: [PATCH 10/15] Fix styling --- .../Controllers/MoneyTransferPaymentController.php | 10 +++++----- src/Http/Requests/MoneyTransferPaymentRequest.php | 3 +-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php index d918b03..2a1f6e0 100644 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ b/src/Http/Controllers/MoneyTransferPaymentController.php @@ -25,7 +25,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill $moneyTransfer = Transaction::order()->find($id); - if (!$moneyTransfer) { + if (! $moneyTransfer) { throw (new ModelNotFoundException)->setModel(config('fintech.transaction.order_model'), $id); } @@ -41,7 +41,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill 'paginate' => false, ]); - if (!$payoutVendor) { + if (! $payoutVendor) { throw (new ModelNotFoundException)->setModel(config('fintech.business.service_vendor_model'), $inputs['vendor']); } @@ -50,10 +50,10 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill 'status' => OrderStatus::Pending, 'order_data' => $orderData, 'service_vendor_id' => $payoutVendor->getKey(), - 'vendor' => $payoutVendor->service_vendor_slug + 'vendor' => $payoutVendor->service_vendor_slug, ]; - if (!Transaction::order()->update($id, $data)) { + if (! Transaction::order()->update($id, $data)) { throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); } @@ -62,7 +62,7 @@ public function __invoke(string $id, MoneyTransferPaymentRequest $request): \Ill event(new MoneyTransferPayoutRequested($moneyTransfer)); - return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name) . ' Payment'])); + return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name).' Payment'])); } catch (ModelNotFoundException $exception) { diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php index 330a7b8..4f409bf 100644 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ b/src/Http/Requests/MoneyTransferPaymentRequest.php @@ -3,7 +3,6 @@ namespace Fintech\Remit\Http\Requests; use Illuminate\Foundation\Http\FormRequest; -use Illuminate\Validation\Rule; class MoneyTransferPaymentRequest extends FormRequest { @@ -24,7 +23,7 @@ public function rules(): array { return [ 'interac_email' => ['required', 'string', 'min:5', 'max:255', 'email:rfc,dns'], - 'vendor' => ['required', 'string'] + 'vendor' => ['required', 'string'], ]; } } From 87b4d31040ea9741e0da3fd5f0cf59c80fa318fa Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Mon, 30 Dec 2024 13:34:17 +0600 Subject: [PATCH 11/15] dependency fixed --- composer.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 8bc3403..c68f21d 100644 --- a/composer.json +++ b/composer.json @@ -73,5 +73,8 @@ } }, "minimum-stability": "dev", - "prefer-stable": true + "prefer-stable": true, + "suggest": { + "fintech/reload": "To use payment via interac-e-transfer" + } } From 145905c0ee24c01fdae6c5ec34f61233e83bb9d5 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Tue, 31 Dec 2024 15:40:15 +0600 Subject: [PATCH 12/15] money transfer service added --- routes/api.php | 6 +- src/Events/MoneyTransferPayoutRequested.php | 31 -------- .../MoneyTransferPaymentController.php | 76 ------------------- .../Requests/MoneyTransferPaymentRequest.php | 29 ------- src/Listeners/MoneyTransferPayoutListener.php | 43 ----------- src/Providers/EventServiceProvider.php | 4 +- src/Services/BankTransferService.php | 33 ++------ src/Services/CashPickupService.php | 27 ++----- src/Services/WalletTransferService.php | 27 ++----- 9 files changed, 20 insertions(+), 256 deletions(-) delete mode 100644 src/Events/MoneyTransferPayoutRequested.php delete mode 100644 src/Http/Controllers/MoneyTransferPaymentController.php delete mode 100644 src/Http/Requests/MoneyTransferPaymentRequest.php delete mode 100644 src/Listeners/MoneyTransferPayoutListener.php diff --git a/routes/api.php b/routes/api.php index fd274ce..90c63eb 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,11 +1,11 @@ name('wallet-verification'); Route::get('islami-bank-account-type-code', [VendorTestController::class, 'islamiBankAccountTypeCode'])->name('islami-bank-account-type-code'); - Route::post('money-transfer/{order}/payment', MoneyTransferPaymentController::class) - ->name('money-transfer-payment') - ->middleware('imposter'); - //DO NOT REMOVE THIS LINE// Route::prefix('charts')->name('charts.')->group(function () { diff --git a/src/Events/MoneyTransferPayoutRequested.php b/src/Events/MoneyTransferPayoutRequested.php deleted file mode 100644 index 2be2fd4..0000000 --- a/src/Events/MoneyTransferPayoutRequested.php +++ /dev/null @@ -1,31 +0,0 @@ -timeline; - - $timeline[] = [ - 'message' => 'Interac-E-Transfer payout request received', - 'flag' => 'info', - 'timestamp' => now(), - ]; - - $this->moneyTransfer = Reload::deposit()->update($moneyTransfer->getKey(), ['timeline' => $timeline]); - } -} diff --git a/src/Http/Controllers/MoneyTransferPaymentController.php b/src/Http/Controllers/MoneyTransferPaymentController.php deleted file mode 100644 index 2a1f6e0..0000000 --- a/src/Http/Controllers/MoneyTransferPaymentController.php +++ /dev/null @@ -1,76 +0,0 @@ -find($id); - - if (! $moneyTransfer) { - throw (new ModelNotFoundException)->setModel(config('fintech.transaction.order_model'), $id); - } - - $inputs = $request->validated(); - - $orderData = $moneyTransfer->order_data ?? []; - - $orderData['interac_email'] = $inputs['interac_email']; - - $payoutVendor = Business::serviceVendor()->findWhere([ - 'service_vendor_slug' => $inputs['vendor'] ?? 'leatherback', - 'enabled' => true, - 'paginate' => false, - ]); - - if (! $payoutVendor) { - - throw (new ModelNotFoundException)->setModel(config('fintech.business.service_vendor_model'), $inputs['vendor']); - } - - $data = [ - 'status' => OrderStatus::Pending, - 'order_data' => $orderData, - 'service_vendor_id' => $payoutVendor->getKey(), - 'vendor' => $payoutVendor->service_vendor_slug, - ]; - - if (! Transaction::order()->update($id, $data)) { - - throw (new UpdateOperationException)->setModel(config('fintech.transaction.order_model'), $id); - } - - $service = $moneyTransfer->service; - - event(new MoneyTransferPayoutRequested($moneyTransfer)); - - return response()->updated(__('core::messages.transaction.request_created', ['service' => ucwords($service->service_name).' Payment'])); - - } catch (ModelNotFoundException $exception) { - - return response()->notfound($exception->getMessage()); - - } catch (Exception $exception) { - - return response()->failed($exception); - } - } -} diff --git a/src/Http/Requests/MoneyTransferPaymentRequest.php b/src/Http/Requests/MoneyTransferPaymentRequest.php deleted file mode 100644 index 4f409bf..0000000 --- a/src/Http/Requests/MoneyTransferPaymentRequest.php +++ /dev/null @@ -1,29 +0,0 @@ -|string> - */ - public function rules(): array - { - return [ - 'interac_email' => ['required', 'string', 'min:5', 'max:255', 'email:rfc,dns'], - 'vendor' => ['required', 'string'], - ]; - } -} diff --git a/src/Listeners/MoneyTransferPayoutListener.php b/src/Listeners/MoneyTransferPayoutListener.php deleted file mode 100644 index 1fbc37e..0000000 --- a/src/Listeners/MoneyTransferPayoutListener.php +++ /dev/null @@ -1,43 +0,0 @@ -requestPayout($event->moneyTransfer); - } - } - - /** - * Handle a failure. - */ - public function failed(MoneyTransferPayoutRequested $event, \Throwable $exception): void - { - Transaction::order()->update($event->moneyTransfer->getKey(), [ - 'status' => \Fintech\Core\Enums\Transaction\OrderStatus::AdminVerification->value, - 'notes' => $exception->getMessage(), - ]); - } -} diff --git a/src/Providers/EventServiceProvider.php b/src/Providers/EventServiceProvider.php index ea55669..0d5cc2f 100644 --- a/src/Providers/EventServiceProvider.php +++ b/src/Providers/EventServiceProvider.php @@ -2,9 +2,9 @@ namespace Fintech\Remit\Providers; +use Fintech\Reload\Events\OrderPayoutRequested; use Fintech\Remit\Events\BankTransferRequested; use Fintech\Remit\Events\CashPickupRequested; -use Fintech\Remit\Events\MoneyTransferPayoutRequested; use Fintech\Remit\Events\RemitTransferVendorAssigned; use Fintech\Remit\Events\WalletTransferRequested; use Fintech\Remit\Listeners\MoneyTransferPayoutListener; @@ -33,7 +33,7 @@ class EventServiceProvider extends ServiceProvider RemitTransferVendorAssigned::class => [ ], - MoneyTransferPayoutRequested::class => [ + OrderPayoutRequested::class => [ MoneyTransferPayoutListener::class, ], ]; diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index b7e741d..6723849 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -99,7 +99,7 @@ public function create(array $inputs = []): ?BaseModel $sender = Auth::user()->find($inputs['user_id']); - if (! $sender) { + if (!$sender) { throw (new ModelNotFoundException)->setModel(config('fintech.auth.auth_model'), $inputs['user_id']); } @@ -113,13 +113,13 @@ public function create(array $inputs = []): ?BaseModel $senderAccount = Transaction::userAccount()->findWhere(['user_id' => $sender->getKey(), 'country_id' => $inputs['source_country_id']]); - if (! $senderAccount) { + if (!$senderAccount) { throw new CurrencyUnavailableException($inputs['source_country_id']); } $masterUser = Auth::user()->findWhere(['role_name' => SystemRole::MasterUser->value, 'country_id' => $inputs['source_country_id']]); - if (! $masterUser) { + if (!$masterUser) { throw new MasterCurrencyUnavailableException($inputs['source_country_id']); } @@ -154,6 +154,7 @@ public function create(array $inputs = []): ?BaseModel } $inputs['order_data']['currency_convert_rate'] = $currencyConversion; unset($inputs['reverse']); + $inputs['order_data']['allow_insufficient_balance'] = $allowInsufficientBalance; $inputs['order_data']['created_by'] = $sender->name ?? 'N/A'; $inputs['order_data']['user_name'] = $sender->name ?? 'N/A'; $inputs['order_data']['created_by_mobile_number'] = $sender->mobile ?? 'N/A'; @@ -189,8 +190,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (! $allowInsufficientBalance) { - if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { + if (!$allowInsufficientBalance) { + if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } @@ -207,27 +208,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); - - // $userUpdatedBalance = $this->debitTransaction($bankTransfer); - // $senderUpdatedAccount = $senderAccount->toArray(); - // $senderUpdatedAccount['user_account_data']['spent_amount'] = (float) $senderUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; - // if (! $inputs['allow_insufficient_balance']) { - // $senderUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; - // } - // $inputs['order_data']['previous_amount'] = (float) $senderAccount->user_account_data['available_amount']; - // $inputs['order_data']['current_amount'] = ((float) $inputs['order_data']['previous_amount'] + (float) $inputs['converted_amount']); - // $inputs['timeline'][] = [ - // 'message' => 'Deducted '.currency($userUpdatedBalance['spent_amount'], $inputs['currency']).' from user account successfully', - // 'flag' => 'info', - // 'timestamp' => now(), - // ]; - // - // $bankTransfer = $this->bankTransferRepository->update($bankTransfer->getKey(), ['order_data' => $inputs['order_data'], 'timeline' => $inputs['timeline']]); - - // if (! Transaction::userAccount()->update($senderAccount->getKey(), $senderUpdatedAccount)) { - // throw new \Exception('Failed to update user account balance.'); - // } + $accounting->debitBalanceFromUserAccount(); Transaction::orderQueue()->removeFromQueueUserWise($inputs['user_id']); diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 25fa40b..2820e98 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -151,7 +151,7 @@ public function create(array $inputs = []): ?BaseModel } $inputs['order_data']['currency_convert_rate'] = $currencyConversion; unset($inputs['reverse']); - + $inputs['order_data']['allow_insufficient_balance'] = $allowInsufficientBalance; $inputs['order_data']['created_by'] = $sender->name ?? 'N/A'; $inputs['order_data']['user_name'] = $sender->name ?? 'N/A'; $inputs['order_data']['created_by_mobile_number'] = $sender->mobile ?? 'N/A'; @@ -202,30 +202,13 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); - - // $userUpdatedBalance = $this->debitTransaction($cashPickup); - // $senderUpdatedAccount = $senderAccount->toArray(); - // $senderUpdatedAccount['user_account_data']['spent_amount'] = (float) $senderUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; - // $senderUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; - // - // $inputs['order_data']['previous_amount'] = (float) $senderAccount->user_account_data['available_amount']; - // $inputs['order_data']['current_amount'] = ((float) $inputs['order_data']['previous_amount'] + (float) $inputs['converted_currency']); - // $inputs['timeline'][] = [ - // 'message' => 'Deducted '.currency($userUpdatedBalance['spent_amount'], $inputs['currency']).' from user account successfully', - // 'flag' => 'info', - // 'timestamp' => now(), - // ]; - // - // $cashPickup = $this->cashPickupRepository->update($cashPickup->getKey(), ['order_data' => $inputs['order_data'], 'timeline' => $inputs['timeline']]); - // - // if (! Transaction::userAccount()->update($senderAccount->getKey(), $senderUpdatedAccount)) { - // throw new \Exception('Failed to update user account balance.'); - // } + if (!$allowInsufficientBalance) { + $accounting->debitBalanceFromUserAccount(); + } Transaction::orderQueue()->removeFromQueueUserWise($inputs['user_id']); - CashPickupRequested::dispatch($cashPickup); + event(new CashPickupRequested($cashPickup)); return $cashPickup; diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index 16f5178..b3c0b54 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -141,7 +141,7 @@ public function create(array $inputs = []): ?BaseModel } $inputs['order_data']['currency_convert_rate'] = $currencyConversion; unset($inputs['reverse']); - + $inputs['order_data']['allow_insufficient_balance'] = $allowInsufficientBalance; $inputs['order_data']['created_by'] = $sender->name ?? 'N/A'; $inputs['order_data']['user_name'] = $sender->name ?? 'N/A'; $inputs['order_data']['created_by_mobile_number'] = $sender->mobile ?? 'N/A'; @@ -192,30 +192,13 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - $accounting->debitBalanceFromUserAccount(['allow_insufficient_balance' => $allowInsufficientBalance]); - - // $userUpdatedBalance = $this->debitTransaction($walletTransfer); - // $senderUpdatedAccount = $senderAccount->toArray(); - // $senderUpdatedAccount['user_account_data']['spent_amount'] = (float) $senderUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; - // $senderUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; - // - // $inputs['order_data']['previous_amount'] = (float) $senderAccount->user_account_data['available_amount']; - // $inputs['order_data']['current_amount'] = ((float) $inputs['order_data']['previous_amount'] + (float) $inputs['converted_currency']); - // $inputs['timeline'][] = [ - // 'message' => 'Deducted '.currency($userUpdatedBalance['spent_amount'], $inputs['currency']).' from user account successfully', - // 'flag' => 'info', - // 'timestamp' => now(), - // ]; - // - // $walletTransfer = $this->walletTransferRepository->update($walletTransfer->getKey(), ['order_data' => $inputs['order_data'], 'timeline' => $inputs['timeline']]); - // - // if (! Transaction::userAccount()->update($senderAccount->getKey(), $senderUpdatedAccount)) { - // throw new \Exception('Failed to update user account balance.'); - // } + if (!$allowInsufficientBalance) { + $accounting->debitBalanceFromUserAccount(); + } Transaction::orderQueue()->removeFromQueueUserWise($inputs['user_id']); - WalletTransferRequested::dispatch($walletTransfer); + event(new WalletTransferRequested($walletTransfer)); return $walletTransfer; From ea4dae26ad399d6af613535d46a47eb0745af3a5 Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Tue, 31 Dec 2024 09:56:58 +0000 Subject: [PATCH 13/15] Fix styling --- config/remit.php | 4 +- routes/api.php | 3 +- routes/test.php | 4 +- src/Commands/AgraniBankSetupCommand.php | 2 +- .../Controllers/BankTransferController.php | 8 +- src/Http/Controllers/CashPickupController.php | 8 +- src/Http/Controllers/VendorTestController.php | 12 +- .../Controllers/WalletTransferController.php | 8 +- src/Remit.php | 2 +- .../Mongodb/BankTransferRepository.php | 8 +- .../Mongodb/CashPickupRepository.php | 8 +- .../Mongodb/WalletTransferRepository.php | 8 +- src/Services/BankTransferService.php | 10 +- src/Services/CashPickupService.php | 30 ++--- src/Services/WalletTransferService.php | 28 ++--- src/Vendors/AgraniBankApi.php | 22 ++-- src/Vendors/CityBankApi.php | 2 +- src/Vendors/EmqApi.php | 48 ++++---- src/Vendors/IslamiBankApi.php | 18 +-- src/Vendors/MeghnaBankApi.php | 4 +- src/Vendors/TransFastApi.php | 114 +++++++++--------- src/Vendors/ValYouApi.php | 22 ++-- 22 files changed, 186 insertions(+), 187 deletions(-) diff --git a/config/remit.php b/config/remit.php index 4718c3e..1eb3b34 100644 --- a/config/remit.php +++ b/config/remit.php @@ -60,7 +60,7 @@ */ 'wallet_transfer_model' => WalletTransfer::class, - //** Model Config Point Do not Remove **// + // ** Model Config Point Do not Remove **// /* |-------------------------------------------------------------------------- @@ -207,7 +207,7 @@ \Fintech\Remit\Interfaces\WalletTransferRepository::class => WalletTransferRepository::class, - //** Repository Binding Config Point Do not Remove **// + // ** Repository Binding Config Point Do not Remove **// ], ]; diff --git a/routes/api.php b/routes/api.php index 90c63eb..26d7cbe 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,7 +1,6 @@ name('wallet-verification'); Route::get('islami-bank-account-type-code', [VendorTestController::class, 'islamiBankAccountTypeCode'])->name('islami-bank-account-type-code'); - //DO NOT REMOVE THIS LINE// + // DO NOT REMOVE THIS LINE// Route::prefix('charts')->name('charts.')->group(function () { Route::get('withdraw-partner-summary', WithdrawPartnerSummaryController::class) diff --git a/routes/test.php b/routes/test.php index 1f8031c..7ea9c31 100644 --- a/routes/test.php +++ b/routes/test.php @@ -48,10 +48,10 @@ Route::get('islami-bank-account-type-code', [VendorTestController::class, 'islamiBankAccountTypeCode']) ->name('islami-bank-account-type-code'); -//MEGHNABANK +// MEGHNABANK Route::get('meghna-bank-api-connection-check', [VendorTestController::class, 'meghnaBankConnectionCheck']) ->name('meghna-bank-api-connection-check'); -//SSL VR +// SSL VR Route::get('ssl-vr-api-connection-check', [VendorTestController::class, 'sslVRConnectionCheck']) ->name('ssl-vr-api-connection-check'); diff --git a/src/Commands/AgraniBankSetupCommand.php b/src/Commands/AgraniBankSetupCommand.php index 382cdd5..7b494a7 100644 --- a/src/Commands/AgraniBankSetupCommand.php +++ b/src/Commands/AgraniBankSetupCommand.php @@ -373,7 +373,7 @@ private function addServiceVendor(): void } } - //add country code all country + // add country code all country public function addCountryCodeToCountries(): void { if (Core::packageExists('MetaData')) { diff --git a/src/Http/Controllers/BankTransferController.php b/src/Http/Controllers/BankTransferController.php index d19d353..18d4ede 100644 --- a/src/Http/Controllers/BankTransferController.php +++ b/src/Http/Controllers/BankTransferController.php @@ -372,7 +372,7 @@ public function storeWithoutInsufficientBalance(StoreBankTransferRequest $reques throw new Exception('Master User Account not found for '.$request->input('source_country_id', $depositor->profile?->country_id).' country'); } - //set pre defined conditions of deposit + // set pre defined conditions of deposit $inputs['transaction_form_id'] = Transaction::transactionForm()->findWhere(['code' => 'money_transfer'])->getKey(); $inputs['user_id'] = $user_id ?? $depositor->getKey(); $delayCheck = Transaction::order()->transactionDelayCheck($inputs); @@ -392,7 +392,7 @@ public function storeWithoutInsufficientBalance(StoreBankTransferRequest $reques $inputs['order_data']['created_by_mobile_number'] = $depositor->mobile; $inputs['order_data']['created_at'] = now(); $inputs['order_data']['master_user_name'] = $masterUser['name']; - //$inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); + // $inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); $inputs['order_data']['assign_order'] = 'no'; $inputs['order_data']['system_notification_variable_success'] = 'bank_transfer_success'; $inputs['order_data']['system_notification_variable_failed'] = 'bank_transfer_failed'; @@ -413,7 +413,7 @@ public function storeWithoutInsufficientBalance(StoreBankTransferRequest $reques $bankTransfer->order_data = $order_data; $userUpdatedBalance = Remit::bankTransfer()->debitTransaction($bankTransfer); $depositedAccount = Transaction::userAccount()->findWhere(['user_id' => $depositor->getKey(), 'country_id' => $bankTransfer->source_country_id]); - //update User Account + // update User Account $depositedUpdatedAccount = $depositedAccount->toArray(); $depositedUpdatedAccount['user_account_data']['spent_amount'] = (float) $depositedUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; $depositedUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; @@ -434,7 +434,7 @@ public function storeWithoutInsufficientBalance(StoreBankTransferRequest $reques 'target_status' => OrderStatus::Success->value, ])); } - //TODO ALL Beneficiary Data with bank and branch data + // TODO ALL Beneficiary Data with bank and branch data $beneficiaryData = Banco::beneficiary()->manageBeneficiaryData($order_data); $order_data['beneficiary_data'] = $beneficiaryData; diff --git a/src/Http/Controllers/CashPickupController.php b/src/Http/Controllers/CashPickupController.php index 38515d8..b4763e8 100644 --- a/src/Http/Controllers/CashPickupController.php +++ b/src/Http/Controllers/CashPickupController.php @@ -321,7 +321,7 @@ public function storeWithoutInsufficientBalance(StoreCashPickupRequest $request) throw new Exception('Master User Account not found for '.$request->input('source_country_id', $depositor->profile?->country_id).' country'); } - //set pre defined conditions of deposit + // set pre defined conditions of deposit $inputs['transaction_form_id'] = Transaction::transactionForm()->findWhere(['code' => 'money_transfer'])->getKey(); $inputs['user_id'] = $user_id ?? $depositor->getKey(); $delayCheck = Transaction::order()->transactionDelayCheck($inputs); @@ -341,7 +341,7 @@ public function storeWithoutInsufficientBalance(StoreCashPickupRequest $request) $inputs['order_data']['created_by_mobile_number'] = $depositor->mobile; $inputs['order_data']['created_at'] = now(); $inputs['order_data']['master_user_name'] = $masterUser['name']; - //$inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); + // $inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); $inputs['order_data']['assign_order'] = 'no'; $inputs['order_data']['system_notification_variable_success'] = 'cash_pickup_success'; $inputs['order_data']['system_notification_variable_failed'] = 'cash_pickup_failed'; @@ -363,7 +363,7 @@ public function storeWithoutInsufficientBalance(StoreCashPickupRequest $request) $cashPickup->order_data = $order_data; $userUpdatedBalance = Remit::cashPickup()->debitTransaction($cashPickup); $depositedAccount = Transaction::userAccount()->findWhere(['user_id' => $depositor->getKey(), 'country_id' => $cashPickup->source_country_id]); - //update User Account + // update User Account $depositedUpdatedAccount = $depositedAccount->toArray(); $depositedUpdatedAccount['user_account_data']['spent_amount'] = (float) $depositedUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; $depositedUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; @@ -383,7 +383,7 @@ public function storeWithoutInsufficientBalance(StoreCashPickupRequest $request) 'target_status' => OrderStatus::Success->value, ])); } - //TODO ALL Beneficiary Data with bank and branch data + // TODO ALL Beneficiary Data with bank and branch data $beneficiaryData = Banco::beneficiary()->manageBeneficiaryData($order_data); $order_data['beneficiary_data'] = $beneficiaryData; diff --git a/src/Http/Controllers/VendorTestController.php b/src/Http/Controllers/VendorTestController.php index 49196c0..dea54d5 100644 --- a/src/Http/Controllers/VendorTestController.php +++ b/src/Http/Controllers/VendorTestController.php @@ -81,7 +81,7 @@ public function islamiBankFetchMobileBankingMCash(): void $repo = app()->make(OrderService::class); $order = $repo->list(['service_id' => 19, 'sort' => 'orders.id', 'dir' => 'desc'])->first(); $order_data = $order->order_data; - //$order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; + // $order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; dump($vendor->fetchAccountDetail($order_data)); } @@ -110,8 +110,8 @@ public function islamiBankRemittanceCard(): void { $vendor = app()->make(IslamiBankApi::class); $repo = app()->make(OrderService::class); - //$order = $repo->find(265); - //$order_data = $order->order_data; + // $order = $repo->find(265); + // $order_data = $order->order_data; $order = [ 'id' => 265, 'source_country_id' => 231, @@ -145,7 +145,7 @@ public function islamiBankRemittanceCard(): void $order_data['beneficiary_data']['reference_no'] = 'TEST'.time(); $order_data['sending_amount'] = $order['amount']; $order_data['sending_currency'] = $order['currency']; - //dd($order_data); + // dd($order_data); dump($vendor->directCreditRemittance($order_data)); } @@ -155,7 +155,7 @@ public function islamiBankValidateBeneficiaryWalletBkash(): void $repo = app()->make(OrderService::class); $order = $repo->list(['service_id' => 16, 'sort' => 'orders.id', 'dir' => 'desc'])->first(); $order_data = $order->order_data; - //$order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; + // $order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; dump($vendor->validateBeneficiaryWallet($order_data)); } @@ -177,7 +177,7 @@ public function islamiBankValidateBeneficiaryWalletNagad(): void $repo = app()->make(OrderService::class); $order = $repo->list(['service_id' => 17, 'sort' => 'orders.id', 'dir' => 'desc'])->first(); $order_data = $order->order_data; - //$order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; + // $order_data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] = '016147470541'; dump($vendor->validateBeneficiaryWallet($order_data)); } diff --git a/src/Http/Controllers/WalletTransferController.php b/src/Http/Controllers/WalletTransferController.php index a67baa3..6e817fc 100644 --- a/src/Http/Controllers/WalletTransferController.php +++ b/src/Http/Controllers/WalletTransferController.php @@ -322,7 +322,7 @@ public function storeWithoutInsufficientBalance(StoreWalletTransferRequest $requ throw new Exception('Master User Account not found for '.$request->input('source_country_id', $depositor->profile?->country_id).' country'); } - //set pre defined conditions of deposit + // set pre defined conditions of deposit $inputs['transaction_form_id'] = Transaction::transactionForm()->findWhere(['code' => 'wallet_transfer'])->getKey(); $inputs['user_id'] = $user_id ?? $depositor->getKey(); $delayCheck = Transaction::order()->transactionDelayCheck($inputs); @@ -342,7 +342,7 @@ public function storeWithoutInsufficientBalance(StoreWalletTransferRequest $requ $inputs['order_data']['created_by_mobile_number'] = $depositor->mobile; $inputs['order_data']['created_at'] = now(); $inputs['order_data']['master_user_name'] = $masterUser['name']; - //$inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); + // $inputs['order_data']['operator_short_code'] = $request->input('operator_short_code', null); $inputs['order_data']['assign_order'] = 'no'; $inputs['order_data']['system_notification_variable_success'] = 'wallet_transfer_success'; $inputs['order_data']['system_notification_variable_failed'] = 'wallet_transfer_failed'; @@ -364,7 +364,7 @@ public function storeWithoutInsufficientBalance(StoreWalletTransferRequest $requ $walletTransfer->order_data = $order_data; $userUpdatedBalance = Remit::walletTransfer()->debitTransaction($walletTransfer); $depositedAccount = Transaction::userAccount()->findWhere(['user_id' => $depositor->getKey(), 'country_id' => $walletTransfer->source_country_id]); - //update User Account + // update User Account $depositedUpdatedAccount = $depositedAccount->toArray(); $depositedUpdatedAccount['user_account_data']['spent_amount'] = (float) $depositedUpdatedAccount['user_account_data']['spent_amount'] + (float) $userUpdatedBalance['spent_amount']; $depositedUpdatedAccount['user_account_data']['available_amount'] = (float) $userUpdatedBalance['current_amount']; @@ -384,7 +384,7 @@ public function storeWithoutInsufficientBalance(StoreWalletTransferRequest $requ 'target_status' => OrderStatus::Success->value, ])); } - //TODO ALL Beneficiary Data with bank and branch data + // TODO ALL Beneficiary Data with bank and branch data $beneficiaryData = Banco::beneficiary()->manageBeneficiaryData($order_data); $order_data['beneficiary_data'] = $beneficiaryData; diff --git a/src/Remit.php b/src/Remit.php index adebeea..0e22b8f 100644 --- a/src/Remit.php +++ b/src/Remit.php @@ -58,6 +58,6 @@ public function verifyWallet(array $inputs = []): WalletVerificationVerdict return $instance->validateWallet($inputs); } - //** Crud Service Method Point Do not Remove **// + // ** Crud Service Method Point Do not Remove **// } diff --git a/src/Repositories/Mongodb/BankTransferRepository.php b/src/Repositories/Mongodb/BankTransferRepository.php index 22465a2..8c960e3 100644 --- a/src/Repositories/Mongodb/BankTransferRepository.php +++ b/src/Repositories/Mongodb/BankTransferRepository.php @@ -36,7 +36,7 @@ public function list(array $filters = []) { $query = $this->model->newQuery(); - //Searching + // Searching if (isset($filters['search']) && ! empty($filters['search'])) { if (is_numeric($filters['search'])) { $query->where($this->model->getKeyName(), 'like', "%{$filters['search']}%"); @@ -46,15 +46,15 @@ public function list(array $filters = []) } } - //Display Trashed + // Display Trashed if (isset($filters['trashed']) && ! empty($filters['trashed'])) { $query->onlyTrashed(); } - //Handle Sorting + // Handle Sorting $query->orderBy($filters['sort'] ?? $this->model->getKeyName(), $filters['dir'] ?? 'asc'); - //Execute Output + // Execute Output return $this->executeQuery($query, $filters); } diff --git a/src/Repositories/Mongodb/CashPickupRepository.php b/src/Repositories/Mongodb/CashPickupRepository.php index d60ba1e..4437748 100644 --- a/src/Repositories/Mongodb/CashPickupRepository.php +++ b/src/Repositories/Mongodb/CashPickupRepository.php @@ -36,7 +36,7 @@ public function list(array $filters = []) { $query = $this->model->newQuery(); - //Searching + // Searching if (! empty($filters['search'])) { if (is_numeric($filters['search'])) { $query->where($this->model->getKeyName(), 'like', "%{$filters['search']}%"); @@ -46,15 +46,15 @@ public function list(array $filters = []) } } - //Display Trashed + // Display Trashed if (isset($filters['trashed']) && $filters['trashed'] === true) { $query->onlyTrashed(); } - //Handle Sorting + // Handle Sorting $query->orderBy($filters['sort'] ?? $this->model->getKeyName(), $filters['dir'] ?? 'asc'); - //Execute Output + // Execute Output return $this->executeQuery($query, $filters); } diff --git a/src/Repositories/Mongodb/WalletTransferRepository.php b/src/Repositories/Mongodb/WalletTransferRepository.php index 0e0f37a..c9a224e 100644 --- a/src/Repositories/Mongodb/WalletTransferRepository.php +++ b/src/Repositories/Mongodb/WalletTransferRepository.php @@ -36,7 +36,7 @@ public function list(array $filters = []) { $query = $this->model->newQuery(); - //Searching + // Searching if (! empty($filters['search'])) { if (is_numeric($filters['search'])) { $query->where($this->model->getKeyName(), 'like', "%{$filters['search']}%"); @@ -46,15 +46,15 @@ public function list(array $filters = []) } } - //Display Trashed + // Display Trashed if (isset($filters['trashed']) && $filters['trashed'] === true) { $query->onlyTrashed(); } - //Handle Sorting + // Handle Sorting $query->orderBy($filters['sort'] ?? $this->model->getKeyName(), $filters['dir'] ?? 'asc'); - //Execute Output + // Execute Output return $this->executeQuery($query, $filters); } diff --git a/src/Services/BankTransferService.php b/src/Services/BankTransferService.php index 6723849..44c5c31 100644 --- a/src/Services/BankTransferService.php +++ b/src/Services/BankTransferService.php @@ -99,7 +99,7 @@ public function create(array $inputs = []): ?BaseModel $sender = Auth::user()->find($inputs['user_id']); - if (!$sender) { + if (! $sender) { throw (new ModelNotFoundException)->setModel(config('fintech.auth.auth_model'), $inputs['user_id']); } @@ -113,13 +113,13 @@ public function create(array $inputs = []): ?BaseModel $senderAccount = Transaction::userAccount()->findWhere(['user_id' => $sender->getKey(), 'country_id' => $inputs['source_country_id']]); - if (!$senderAccount) { + if (! $senderAccount) { throw new CurrencyUnavailableException($inputs['source_country_id']); } $masterUser = Auth::user()->findWhere(['role_name' => SystemRole::MasterUser->value, 'country_id' => $inputs['source_country_id']]); - if (!$masterUser) { + if (! $masterUser) { throw new MasterCurrencyUnavailableException($inputs['source_country_id']); } @@ -190,8 +190,8 @@ public function create(array $inputs = []): ?BaseModel 'service_id' => $inputs['service_id'], ]); - if (!$allowInsufficientBalance) { - if ((float)$inputs['order_data']['service_stat_data']['total_amount'] > (float)$senderAccount->user_account_data['available_amount']) { + if (! $allowInsufficientBalance) { + if ((float) $inputs['order_data']['service_stat_data']['total_amount'] > (float) $senderAccount->user_account_data['available_amount']) { throw new InsufficientBalanceException($senderAccount->user_account_data['currency']); } } diff --git a/src/Services/CashPickupService.php b/src/Services/CashPickupService.php index 2820e98..d493a53 100644 --- a/src/Services/CashPickupService.php +++ b/src/Services/CashPickupService.php @@ -202,7 +202,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - if (!$allowInsufficientBalance) { + if (! $allowInsufficientBalance) { $accounting->debitBalanceFromUserAccount(); } @@ -230,7 +230,7 @@ public function debitTransaction($data): array 'spent_amount' => null, ]; - //Collect Current Balance as Previous Balance + // Collect Current Balance as Previous Balance $userAccountData['previous_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, 'user_id' => $data->user_id, @@ -262,7 +262,7 @@ public function debitTransaction($data): array $orderDetailStoreForMaster->notes = 'Cash Pickup Payment Receive From'.$user_name; $orderDetailStoreForMaster->save(); - //For Charge + // For Charge $data->amount = calculate_flat_percent($amount, $serviceStatData['charge']); $data->converted_amount = calculate_flat_percent($converted_amount, $serviceStatData['charge']); $data->order_detail_cause_name = 'charge'; @@ -281,14 +281,14 @@ public function debitTransaction($data): array $orderDetailStoreForChargeForMaster->step = 4; $orderDetailStoreForChargeForMaster->save(); - //For Discount + // For Discount $data->amount = -calculate_flat_percent($amount, $serviceStatData['discount']); $data->converted_amount = -calculate_flat_percent($converted_amount, $serviceStatData['discount']); $data->order_detail_cause_name = 'discount'; $data->notes = 'Cash Pickup Discount form '.$master_user_name; $data->step = 5; - //$data->order_detail_parent_id = $orderDetailStore->getKey(); - //$updateData['order_data']['previous_amount'] = 0; + // $data->order_detail_parent_id = $orderDetailStore->getKey(); + // $updateData['order_data']['previous_amount'] = 0; $orderDetailStoreForDiscount = Transaction::orderDetail()->create(Transaction::orderDetail()->orderDetailsDataArrange($data)); $orderDetailStoreForDiscountForMaster = $orderDetailStoreForCharge->replicate(); $orderDetailStoreForDiscountForMaster->user_id = $data->sender_receiver_id; @@ -300,8 +300,8 @@ public function debitTransaction($data): array $orderDetailStoreForDiscountForMaster->step = 6; $orderDetailStoreForDiscountForMaster->save(); - //'Point Transfer Commission Send to ' . $masterUser->name; - //'Point Transfer Commission Receive from ' . $receiver->name; + // 'Point Transfer Commission Send to ' . $masterUser->name; + // 'Point Transfer Commission Receive from ' . $receiver->name; $userAccountData['current_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, @@ -331,7 +331,7 @@ private function creditTransaction($cashPickup): array 'spent_amount' => null, ]; - //Collect Current Balance as Previous Balance + // Collect Current Balance as Previous Balance $userAccountData['previous_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, 'user_id' => $cashPickup->user_id, @@ -361,7 +361,7 @@ private function creditTransaction($cashPickup): array $orderDetailStoreForMaster->notes = 'Cash Pickup Send to '.$user_name; $orderDetailStoreForMaster->save(); - //For Charge + // For Charge $cashPickup->amount = -calculate_flat_percent($amount, $serviceStatData['charge']); $cashPickup->converted_amount = -calculate_flat_percent($converted_amount, $serviceStatData['charge']); $cashPickup->order_detail_cause_name = 'charge'; @@ -380,14 +380,14 @@ private function creditTransaction($cashPickup): array $orderDetailStoreForChargeForMaster->step = 4; $orderDetailStoreForChargeForMaster->save(); - //For Discount + // For Discount $cashPickup->amount = calculate_flat_percent($amount, $serviceStatData['discount']); $cashPickup->converted_amount = calculate_flat_percent($converted_amount, $serviceStatData['discount']); $cashPickup->order_detail_cause_name = 'discount'; $cashPickup->notes = 'Cash Pickup Discount form '.$master_user_name; $cashPickup->step = 5; - //$data->order_detail_parent_id = $orderDetailStore->getKey(); - //$updateData['order_data']['previous_amount'] = 0; + // $data->order_detail_parent_id = $orderDetailStore->getKey(); + // $updateData['order_data']['previous_amount'] = 0; $orderDetailStoreForDiscount = Transaction::orderDetail()->create(Transaction::orderDetail()->orderDetailsDataArrange($cashPickup)); $orderDetailStoreForDiscountForMaster = $orderDetailStoreForCharge->replicate(); $orderDetailStoreForDiscountForMaster->user_id = $cashPickup->sender_receiver_id; @@ -399,8 +399,8 @@ private function creditTransaction($cashPickup): array $orderDetailStoreForDiscountForMaster->step = 6; $orderDetailStoreForDiscountForMaster->save(); - //'Point Transfer Commission Send to ' . $masterUser->name; - //'Point Transfer Commission Receive from ' . $receiver->name; + // 'Point Transfer Commission Send to ' . $masterUser->name; + // 'Point Transfer Commission Receive from ' . $receiver->name; $userAccountData['current_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, diff --git a/src/Services/WalletTransferService.php b/src/Services/WalletTransferService.php index b3c0b54..7db9cef 100644 --- a/src/Services/WalletTransferService.php +++ b/src/Services/WalletTransferService.php @@ -192,7 +192,7 @@ public function create(array $inputs = []): ?BaseModel $accounting->debitTransaction(); - if (!$allowInsufficientBalance) { + if (! $allowInsufficientBalance) { $accounting->debitBalanceFromUserAccount(); } @@ -220,7 +220,7 @@ public function debitTransaction($data): array 'spent_amount' => null, ]; - //Collect Current Balance as Previous Balance + // Collect Current Balance as Previous Balance $userAccountData['previous_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, 'user_id' => $data->user_id, @@ -252,7 +252,7 @@ public function debitTransaction($data): array $orderDetailStoreForMaster->notes = 'Wallet Transfer Payment Receive From'.$user_name; $orderDetailStoreForMaster->save(); - //For Charge + // For Charge $data->amount = calculate_flat_percent($amount, $serviceStatData['charge']); $data->converted_amount = calculate_flat_percent($converted_amount, $serviceStatData['charge']); $data->order_detail_cause_name = 'charge'; @@ -271,14 +271,14 @@ public function debitTransaction($data): array $orderDetailStoreForChargeForMaster->step = 4; $orderDetailStoreForChargeForMaster->save(); - //For Discount + // For Discount $data->amount = -calculate_flat_percent($amount, $serviceStatData['discount']); $data->converted_amount = -calculate_flat_percent($converted_amount, $serviceStatData['discount']); $data->order_detail_cause_name = 'discount'; $data->notes = 'Wallet Transfer Discount form '.$master_user_name; $data->step = 5; - //$data->order_detail_parent_id = $orderDetailStore->getKey(); - //$updateData['order_data']['previous_amount'] = 0; + // $data->order_detail_parent_id = $orderDetailStore->getKey(); + // $updateData['order_data']['previous_amount'] = 0; $orderDetailStoreForDiscount = Transaction::orderDetail()->create(Transaction::orderDetail()->orderDetailsDataArrange($data)); $orderDetailStoreForDiscountForMaster = $orderDetailStoreForCharge->replicate(); $orderDetailStoreForDiscountForMaster->user_id = $data->sender_receiver_id; @@ -290,8 +290,8 @@ public function debitTransaction($data): array $orderDetailStoreForDiscountForMaster->step = 6; $orderDetailStoreForDiscountForMaster->save(); - //'Point Transfer Commission Send to ' . $masterUser->name; - //'Point Transfer Commission Receive from ' . $receiver->name; + // 'Point Transfer Commission Send to ' . $masterUser->name; + // 'Point Transfer Commission Receive from ' . $receiver->name; $userAccountData['current_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, @@ -321,7 +321,7 @@ private function creditTransaction($data): array 'spent_amount' => null, ]; - //Collect Current Balance as Previous Balance + // Collect Current Balance as Previous Balance $userAccountData['previous_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, 'user_id' => $data->user_id, @@ -351,7 +351,7 @@ private function creditTransaction($data): array $orderDetailStoreForMaster->notes = 'Wallet Transfer Send to '.$user_name; $orderDetailStoreForMaster->save(); - //For Charge + // For Charge $data->amount = -calculate_flat_percent($amount, $serviceStatData['charge']); $data->converted_amount = -calculate_flat_percent($converted_amount, $serviceStatData['charge']); $data->order_detail_cause_name = 'charge'; @@ -370,13 +370,13 @@ private function creditTransaction($data): array $orderDetailStoreForChargeForMaster->step = 4; $orderDetailStoreForChargeForMaster->save(); - //For Discount + // For Discount $data->amount = calculate_flat_percent($amount, $serviceStatData['discount']); $data->converted_amount = calculate_flat_percent($converted_amount, $serviceStatData['discount']); $data->order_detail_cause_name = 'discount'; $data->notes = 'Wallet Transfer Discount form '.$master_user_name; $data->step = 5; - //$data->order_detail_parent_id = $orderDetailStore->getKey(); + // $data->order_detail_parent_id = $orderDetailStore->getKey(); $updateData['order_data']['previous_amount'] = 0; $orderDetailStoreForDiscount = Transaction::orderDetail()->create(Transaction::orderDetail()->orderDetailsDataArrange($data)); $orderDetailStoreForDiscountForMaster = $orderDetailStoreForCharge->replicate(); @@ -389,8 +389,8 @@ private function creditTransaction($data): array $orderDetailStoreForDiscountForMaster->step = 6; $orderDetailStoreForDiscountForMaster->save(); - //'Point Transfer Commission Send to ' . $masterUser->name; - //'Point Transfer Commission Receive from ' . $receiver->name; + // 'Point Transfer Commission Send to ' . $masterUser->name; + // 'Point Transfer Commission Receive from ' . $receiver->name; $userAccountData['current_amount'] = Transaction::orderDetail()->list([ 'get_order_detail_amount_sum' => true, diff --git a/src/Vendors/AgraniBankApi.php b/src/Vendors/AgraniBankApi.php index 7c99bd0..3acefe1 100644 --- a/src/Vendors/AgraniBankApi.php +++ b/src/Vendors/AgraniBankApi.php @@ -43,7 +43,7 @@ class AgraniBankApi implements MoneyTransfer /** * @var array */ - public $transactionBody; //base64 encode of auth + public $transactionBody; // base64 encode of auth /** * EMQ API configuration. @@ -135,7 +135,7 @@ public function topUp($data) case 200: case 201: - //send confirmation request + // send confirmation request $transConfirmResponse = null; // $this->postTransactionConfirm($reference); $returnData->emq_confirm_response = json_encode($transConfirmResponse); @@ -232,13 +232,13 @@ public function postCreateTransaction($data) ? ($transactionTypes[$data->recipient_type_name] ?? '15') : '15'; - $transferInfo['purpose'] = $data->emq_purpose_of_remittance ?? null; //TODO agrani code needed + $transferInfo['purpose'] = $data->emq_purpose_of_remittance ?? null; // TODO agrani code needed $transferInfo['remamountdest'] = isset($data->transfer_amount) ? round($data->transfer_amount, 2) : '0.00'; $transferInfo['remfname'] = $sender_first_name; $transferInfo['remlname'] = $sender_last_name; $transferInfo['remit_tel'] = isset($data->sender_mobile) ? substr($data->sender_mobile, -11) : null; $transferInfo['remaddress1'] = trim(($data->sender_address ?? null).' '.($data->sender_city ?? null)); - $transferInfo['remcountry'] = $data->trans_fast_sender_country_iso_code ?? null; //TODO agrani country code needed + $transferInfo['remcountry'] = $data->trans_fast_sender_country_iso_code ?? null; // TODO agrani country code needed $transferInfo['benename'] = $data->receiver_first_name ?? null; $transferInfo['benemname'] = $data->receiver_middle_name ?? ' '; $transferInfo['benelname'] = $data->receiver_last_name ?? null; @@ -261,7 +261,7 @@ public function postCreateTransaction($data) Log::info($this->xmlBody->saveXML()); - //die(); + // die(); return $this->putPostData('/MyCash', $transferInfo, 'POST'); } @@ -328,10 +328,10 @@ public function encryptSignature(string $plainText, $privateKey) egQQX++y13mrQFJVKA7RCQPWEynD29lwP2oizhGIfEiqGfJZd3pTXQ== -----END RSA PRIVATE KEY-----'; $certs = []; - openssl_pkcs12_read(file_get_contents(public_path('Certificate.crt')), $certs, '1'); //where 1106@123 is your certificate password - //dd($certs); + openssl_pkcs12_read(file_get_contents(public_path('Certificate.crt')), $certs, '1'); // where 1106@123 is your certificate password + // dd($certs); - //if (! $certs ) return ; + // if (! $certs ) return ; $signature = ''; openssl_sign($plainText, $signature, $key); @@ -374,7 +374,7 @@ public function putPostData(string $url, array $dataArray = [], string $method = $info = curl_getinfo($curl); $error = curl_error($curl); - //dd([$error, $info, $response]); + // dd([$error, $info, $response]); if ($response == false) { Log::info($info); Log::info($error); @@ -444,7 +444,7 @@ public function renderApiResponse(array $response, stdClass &$returnData) $returnData->available_credit = isset($response['info']['state']) ? $response['info']['state'] : null; $returnData->message = json_encode($response['info'], JSON_PRETTY_PRINT); - //$returnData->vr_guid = $response['info']['code']; + // $returnData->vr_guid = $response['info']['code']; $returnData->vr_guid = isset($response['reference']) ? $response['reference'] : null; $returnData->telco_transaction_id = isset($response['info']['code']) ? $response['info']['code'] : null; @@ -473,7 +473,7 @@ public function oldTopUp($data) case 200: case 201: - //send confirmation request + // send confirmation request $transConfirmResponse = $this->postTransactionConfirm($reference); $returnData->emq_confirm_response = json_encode($transConfirmResponse); diff --git a/src/Vendors/CityBankApi.php b/src/Vendors/CityBankApi.php index 2baa2e7..4a6d97a 100644 --- a/src/Vendors/CityBankApi.php +++ b/src/Vendors/CityBankApi.php @@ -155,7 +155,7 @@ private function connectionCheck($xml_post_string, $method) $response1 = str_replace('', '', $response); $response2 = str_replace('', '', $response1); $response = str_replace('xmlns:ns1="urn:dynamicapi"', '', $response2); - $response = str_replace('ns1:', '', $response); //dd($response); + $response = str_replace('ns1:', '', $response); // dd($response); Log::info($method.'
'.$response); return simplexml_load_string($response); diff --git a/src/Vendors/EmqApi.php b/src/Vendors/EmqApi.php index 8827fef..f3ea2ff 100644 --- a/src/Vendors/EmqApi.php +++ b/src/Vendors/EmqApi.php @@ -48,7 +48,7 @@ class EmqApi implements MoneyTransfer /** * @var mixed|string */ - private $apiUrl; //base64 encode of auth + private $apiUrl; // base64 encode of auth /** * @var string @@ -118,7 +118,7 @@ public function topUp($data) case 200: case 201: - //send confirmation request + // send confirmation request $transConfirmResponse = $this->postTransactionConfirm($reference); $returnData->emq_confirm_response = json_encode($transConfirmResponse); @@ -211,15 +211,15 @@ public function postCreateTransaction($data) } $transferInfo['destination_amount']['currency'] = isset($data->transfer_currency) ? $data->transfer_currency : null; - $transferInfo['destination_amount']['units'] = isset($data->transfer_amount) ? (string) round($data->transfer_amount, 2) : null; //TODO with charge or without charge - //TODO FOR PHL + $transferInfo['destination_amount']['units'] = isset($data->transfer_amount) ? (string) round($data->transfer_amount, 2) : null; // TODO with charge or without charge + // TODO FOR PHL $transferInfo['destination']['country'] = isset($data->emq_receiver_country_iso_code) ? $data->emq_receiver_country_iso_code : null; if (in_array($transferInfo['destination']['country'], ['PHL', 'IDN'])) { - $transferInfo['destination_amount']['units'] = isset($data->transfer_amount) ? (string) floor($data->transfer_amount) : null; //TODO with charge or without charge + $transferInfo['destination_amount']['units'] = isset($data->transfer_amount) ? (string) floor($data->transfer_amount) : null; // TODO with charge or without charge } - //$transferInfo["source_amount"]["currency"] = isset($data->sender_currency) ? $data->sender_currency : null; - //$transferInfo["source_amount"]["units"] = isset($data->sender_amount) ? (string)round($data->sender_amount) : null; //TODO with charge or without charge + // $transferInfo["source_amount"]["currency"] = isset($data->sender_currency) ? $data->sender_currency : null; + // $transferInfo["source_amount"]["units"] = isset($data->sender_amount) ? (string)round($data->sender_amount) : null; //TODO with charge or without charge $transferInfo['compliance']['source_of_funds'] = isset($data->emq_sender_source_of_fund_id) ? (string) $data->emq_sender_source_of_fund_id : null; $transferInfo['compliance']['remittance_purpose'] = isset($data->emq_purpose_of_remittance) ? $data->emq_purpose_of_remittance : null; @@ -230,7 +230,7 @@ public function postCreateTransaction($data) $transferInfo['compliance']['relationship']['relation'] = isset($data->sender_beneficiary_relationship) ? ucwords(strtolower($data->sender_beneficiary_relationship)) : 'Others'; } - //Source + // Source $transferInfo['source']['type'] = 'partner'; $transferInfo['source']['gender'] = isset($data->sender_gender) ? strtoupper(substr($data->sender_gender, 0, 1)) : 'M'; $transferInfo['source']['country'] = isset($data->emq_sender_country_iso3_code) ? $data->emq_sender_country_iso3_code : null; @@ -245,8 +245,8 @@ public function postCreateTransaction($data) $transferInfo['source']['nationality'] = isset($data->emq_sender_nationality) ? $data->emq_sender_nationality : null; - //$transferInfo['source']["id_type"] = isset($data->emq_sender_id_type) ? strtolower($data->emq_sender_id_type) : null; - $transferInfo['source']['id_type'] = 'passport'; //national + // $transferInfo['source']["id_type"] = isset($data->emq_sender_id_type) ? strtolower($data->emq_sender_id_type) : null; + $transferInfo['source']['id_type'] = 'passport'; // national $transferInfo['source']['id_country'] = isset($data->emq_sender_id_issue_country) ? $data->emq_sender_id_issue_country : null; $transferInfo['source']['id_number'] = isset($data->sender_id_number) ? $data->sender_id_number : null; $transferInfo['source']['id_expiration'] = isset($data->sender_expire_date) ? Carbon::parse($data->sender_expire_date)->format('Y-m-d') : null; @@ -256,7 +256,7 @@ public function postCreateTransaction($data) $transferInfo['source']['address_zip'] = isset($data->sender_zipcode) ? $data->sender_zipcode : null; $transferInfo['source']['address_country'] = isset($data->emq_sender_country_iso3_code) ? $data->emq_sender_country_iso3_code : null; - //Destination + // Destination $transferInfo['destination']['type'] = isset($data->recipient_type_name) ? (isset($transactionTypes[$data->recipient_type_name]) ? $transactionTypes[$data->recipient_type_name] : 'bank_account') @@ -269,25 +269,25 @@ public function postCreateTransaction($data) $transferInfo['destination']['address_line'] = isset($data->receiver_address) ? $data->receiver_address : null; $transferInfo['destination']['address_city'] = isset($data->receiver_city) ? $data->receiver_city : null; - //type bank account + // type bank account if ($transferInfo['destination']['type'] === 'bank_account') { if ($transferInfo['destination']['country'] !== 'CHN') { $transferInfo['destination']['bank'] = isset($data->emq_bank_id) ? $data->emq_bank_id : null; } - //remove china bank address info + // remove china bank address info if ($transferInfo['destination']['country'] == 'CHN') { unset($transferInfo['destination']['address_line']); unset($transferInfo['destination']['address_city']); } - //remove malaysia bank address info + // remove malaysia bank address info if ($transferInfo['destination']['country'] == 'MYS') { unset($transferInfo['destination']['mobile_number']); unset($transferInfo['destination']['address_city']); } - //indonesia + // indonesia if ($transferInfo['destination']['country'] == 'IDN') { $transferInfo['destination']['address_state'] = isset($data->receiver_province) ? $data->receiver_province : 'Jawa Barat'; $transferInfo['destination']['address_state_code'] = isset($data->emq_receiver_province_code) ? $data->emq_receiver_province_code : '01'; @@ -297,24 +297,24 @@ public function postCreateTransaction($data) } $transferInfo['destination']['account_number'] = isset($data->bank_account_number) ? $data->bank_account_number : null; - //branch - if ($transferInfo['destination']['country'] === 'IND') { //India //99 - //$transferInfo["destination"]["branch"] = isset($data->emq_bank_branch_id) ? $data->emq_bank_branch_id : null; - //$transferInfo["destination"]["branch"] = str_replace((isset($data->emq_bank_id) ? $data->emq_bank_id : null), '', (isset($data->location_routing_id[1]->bank_branch_location_field_value) ? $data->location_routing_id[1]->bank_branch_location_field_value : null)); + // branch + if ($transferInfo['destination']['country'] === 'IND') { // India //99 + // $transferInfo["destination"]["branch"] = isset($data->emq_bank_branch_id) ? $data->emq_bank_branch_id : null; + // $transferInfo["destination"]["branch"] = str_replace((isset($data->emq_bank_id) ? $data->emq_bank_id : null), '', (isset($data->location_routing_id[1]->bank_branch_location_field_value) ? $data->location_routing_id[1]->bank_branch_location_field_value : null)); $transferInfo['destination']['branch'] = substr((isset($data->location_routing_id[1]->bank_branch_location_field_value) ? $data->location_routing_id[1]->bank_branch_location_field_value : null), -6); } elseif ($transferInfo['destination']['country'] === 'JPN') { $transferInfo['destination']['branch'] = isset($data->emq_bank_branch_id) ? $data->emq_bank_branch_id : null; } - //swift //SPEA Country TODO Feature Work + // swift //SPEA Country TODO Feature Work /*if ($transferInfo["destination"]["country"] === '') : $transferInfo["destination"]["swift_code"] = isset($data->emq_bank_swift_code) ? $data->emq_bank_swift_code : null; $transferInfo["destination"]["iban"] = isset($data->emq_bank_iban_code) ? $data->emq_bank_iban_code : null; endif;*/ } - //type ewallet + // type ewallet if ($transferInfo['destination']['type'] === 'ewallet') { if (in_array($transferInfo['destination']['country'], $this->config['ewallet_allow_country'])) { $transferInfo['destination']['segment'] = isset($data->emq_sender_segment) ? $data->emq_sender_segment : 'individual'; @@ -335,7 +335,7 @@ public function postCreateTransaction($data) } } - //type cash_pickup + // type cash_pickup if ($transferInfo['destination']['type'] === 'cash_pickup') { $transferInfo['destination']['partner'] = isset($data->emq_cash_pickup_partner) ? $data->emq_cash_pickup_partner : null; } @@ -456,7 +456,7 @@ public function renderApiResponse(array $response, stdClass &$returnData) $returnData->available_credit = isset($response['info']['state']) ? $response['info']['state'] : null; $returnData->message = json_encode($response['info'], JSON_PRETTY_PRINT); - //$returnData->vr_guid = $response['info']['code']; + // $returnData->vr_guid = $response['info']['code']; $returnData->vr_guid = isset($response['reference']) ? $response['reference'] : null; $returnData->telco_transaction_id = isset($response['info']['code']) ? $response['info']['code'] : null; $returnData->status = $this->stateHandler($response['state']); @@ -479,7 +479,7 @@ public function stateHandler(string $state) break; case 'cancelled': - //$response = 'failed_and_refund'; + // $response = 'failed_and_refund'; $response = 'admin_to_verify'; break; diff --git a/src/Vendors/IslamiBankApi.php b/src/Vendors/IslamiBankApi.php index 5393888..f7dd6a4 100644 --- a/src/Vendors/IslamiBankApi.php +++ b/src/Vendors/IslamiBankApi.php @@ -271,9 +271,9 @@ private function __transferData(BaseModel $order): array $transferData['paymentType'] = 5; // $transferData['beneficiaryRoutingNo'] = '?'; $transferData['beneficiaryAccNo'] = ($data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] ?? null); - //$transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); + // $transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); $transferData['beneficiaryBankCode'] = '42'; - //$transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); + // $transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); $transferData['beneficiaryBankName'] = 'ISLAMI BANK BANGLADESH LIMITED'; $transferData['beneficiaryBranchCode'] = '358'; $transferData['beneficiaryBranchName'] = ($data['beneficiary_data']['branch_information']['branch_name'] ?? 'Head Office Complex'); @@ -283,9 +283,9 @@ private function __transferData(BaseModel $order): array $transferData['paymentType'] = 7; // $transferData['beneficiaryRoutingNo'] = '?'; $transferData['beneficiaryAccNo'] = ($data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] ?? null); - //$transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); + // $transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); $transferData['beneficiaryBankCode'] = '42'; - //$transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); + // $transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); $transferData['beneficiaryBankName'] = 'ISLAMI BANK BANGLADESH LIMITED'; $transferData['beneficiaryBranchCode'] = '358'; $transferData['beneficiaryBranchName'] = ($data['beneficiary_data']['branch_information']['branch_name'] ?? 'Head Office Complex'); @@ -295,9 +295,9 @@ private function __transferData(BaseModel $order): array $transferData['paymentType'] = 8; // $transferData['beneficiaryRoutingNo'] = '?'; $transferData['beneficiaryAccNo'] = ($data['beneficiary_data']['receiver_information']['beneficiary_data']['wallet_account_number'] ?? null); - //$transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); + // $transferData['beneficiaryBankCode'] = ($data['beneficiary_data']['wallet_information']['vendor_code']['remit']['islamibank'] ?? '42'); $transferData['beneficiaryBankCode'] = '42'; - //$transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); + // $transferData['beneficiaryBankName'] = ($data['beneficiary_data']['wallet_information']['bank_name'] ?? 'ISLAMI BANK BANGLADESH LIMITED'); $transferData['beneficiaryBankName'] = 'ISLAMI BANK BANGLADESH LIMITED'; $transferData['beneficiaryBranchCode'] = '358'; $transferData['beneficiaryBranchName'] = ($data['beneficiary_data']['branch_information']['branch_name'] ?? 'Head Office Complex'); @@ -337,7 +337,7 @@ private function __transferData(BaseModel $order): array $transferData['paymentType'] = 1; break; default: - //code block + // code block } /*if ($data['service_slug'] == 'mbs_m_cash') { $transferData['paymentType'] = 5; @@ -628,7 +628,7 @@ public function importOrPushRemittance(array $data): array '.$this->config[$this->status]['username'].' '.$this->config[$this->status]['password'].' '; - //$xmlString .= ''.($data['transaction_reference_number'] ?? null).''; + // $xmlString .= ''.($data['transaction_reference_number'] ?? null).''; $xmlString .= ''; $xmlString .= ''.($importOrPushRemittance['amount'] ?? null).''; $xmlString .= ''.($importOrPushRemittance['isoCode'] ?? null).''; @@ -684,7 +684,7 @@ public function verifyRemittance(array $data): array '.$this->config[$this->status]['username'].' '.$this->config[$this->status]['password'].' '; - //$xmlString .= ''.($data['transaction_reference_number'] ?? null).''; + // $xmlString .= ''.($data['transaction_reference_number'] ?? null).''; $xmlString .= ''; $xmlString .= ''.($verifyRemittance['amount'] ?? null).''; $xmlString .= ''.($verifyRemittance['isoCode'] ?? null).''; diff --git a/src/Vendors/MeghnaBankApi.php b/src/Vendors/MeghnaBankApi.php index 9e04067..5877cfb 100644 --- a/src/Vendors/MeghnaBankApi.php +++ b/src/Vendors/MeghnaBankApi.php @@ -165,7 +165,7 @@ public function executeOrder(BaseModel $order): AssignVendorVerdict $params['TRANSACTION_PIN'] = $ref_number; $params['TRN_DATE'] = (date('Y-m-d', strtotime($order_data['created_at'])) ?? null); $params['AMOUNT'] = round(floatval($order_data['sending_amount'] ?? $order->converted_amount), 2); - //RECEIVER + // RECEIVER $params['RECEIVER_NAME'] = ($order_data['beneficiary_data']['receiver_information']['beneficiary_name'] ?? null); $params['RECEIVER_SUB_COUNTRY_LEVEL_2'] = ($order_data['beneficiary_data']['receiver_information']['city_name'] ?? null); $params['RECEIVER_ADDRESS'] = ($order_data['beneficiary_data']['receiver_information']['city_name'] ?? null).','.($order_data['beneficiary_data']['receiver_information']['country_name'] ?? null); @@ -175,7 +175,7 @@ public function executeOrder(BaseModel $order): AssignVendorVerdict $params['RECEIVER_BANK'] = ($order_data['beneficiary_data']['bank_information']['bank_name'] ?? null); $params['RECEIVER_BANK_BRANCH'] = ($order_data['beneficiary_data']['branch_information']['branch_name'] ?? null); $params['RECEIVER_ACCOUNT_NUMBER'] = ($order_data['beneficiary_data']['receiver_information']['beneficiary_data']['bank_account_number']); - //SENDER + // SENDER $params['SENDER_NAME'] = ($order_data['beneficiary_data']['sender_information']['name'] ?? null); $params['SENDER_PASSPORT_NO'] = ($order_data['beneficiary_data']['sender_information']['profile']['id_doc']['id_no'] ?? null); $params['SENDER_OTHER_ID_TYPE'] = ($order_data['beneficiary_data']['sender_information']['profile']['id_doc']['id_vendor']['remit']['meghnabank'] ?? '8'); diff --git a/src/Vendors/TransFastApi.php b/src/Vendors/TransFastApi.php index 53eaa7b..8ba77cb 100644 --- a/src/Vendors/TransFastApi.php +++ b/src/Vendors/TransFastApi.php @@ -50,8 +50,8 @@ public function __construct() $this->status = 'live'; } - $this->payment_mode = 'C'; //C = Bank Deposit, 2 = Cash Pick Up, G = Mobile Cash, U = Cash Card - $this->account_type = 'P'; //P = SAVINGS, C = CHECKING + $this->payment_mode = 'C'; // C = Bank Deposit, 2 = Cash Pick Up, G = Mobile Cash, U = Cash Card + $this->account_type = 'P'; // P = SAVINGS, C = CHECKING } /** @@ -427,13 +427,13 @@ public function getTransactionInfo($inputData) $params['BankId'] = isset($inputData->trans_fast_bank_id) ? $inputData->trans_fast_bank_id : null; } $params['ReceiveCurrencyIsoCode'] = isset($inputData->transfer_currency) ? $inputData->transfer_currency : 'BDT'; - //$params['SentAmount'] = isset($inputData->sender_amount)?$inputData->sender_amount:0; + // $params['SentAmount'] = isset($inputData->sender_amount)?$inputData->sender_amount:0; $params['SourceCurrencyIsoCode'] = isset($inputData->sender_currency) ? $inputData->sender_currency : 'SGD'; $params['SenderLoyaltyCardNumber'] = isset($inputData->sender_loyaty_card_number) ? $inputData->sender_loyaty_card_number : null; $params['ReceiveAmount'] = isset($inputData->transfer_amount) ? $inputData->transfer_amount : 0; $params['Rate'] = isset($inputData->trans_fast_rate) ? $inputData->trans_fast_rate : null; $params['FeeProduct'] = isset($inputData->trans_fast_product_fee) ? $inputData->trans_fast_product_fee : null; - //dd($params); + // dd($params); $response = $this->getData($url, $params); return $response; @@ -465,7 +465,7 @@ public function getBankDetailByRoutingNo($country, $routingNumber) public function getByReferenceNumber($referenceNumber) { $url = 'transaction/ByReferenceNumber?'; - //$url = 'transaction/ByReferenceNo?'; + // $url = 'transaction/ByReferenceNo?'; $params = ['ReferenceNumber' => $referenceNumber]; $response = $this->getData($url, $params); @@ -517,9 +517,9 @@ public function getTransactionList($startDate, $endDate) $params['StartDate'] = $startDate; $params['EndDate'] = $endDate; - //$params['InvoiceStatusId'] = $invoiceStatusId; - //$params['StartIndex'] = $startIndex; - //$params['PageSize'] = $pageSize; + // $params['InvoiceStatusId'] = $invoiceStatusId; + // $params['StartIndex'] = $startIndex; + // $params['PageSize'] = $pageSize; return $this->getData($url, $params); } @@ -825,13 +825,13 @@ public function postCreateSenderID( ) { $url = 'transaction/sender'; $params['Name'] = $name; - //$params['NameOtherLanguage'] = $nameOtherLanguage; + // $params['NameOtherLanguage'] = $nameOtherLanguage; $params['Address'] = $address; - //$params['AddressOtherLanguage'] = $addressOtherLanguage; + // $params['AddressOtherLanguage'] = $addressOtherLanguage; $params['PhoneMobile'] = $phoneMobile; $params['PhoneHome'] = $phoneHome; $params['PhoneWork'] = $phoneWork; - //$params['ZipCode'] = $zipCode; + // $params['ZipCode'] = $zipCode; $params['CityId'] = $cityId; $params['StateId'] = $stateId; $params['CountryIsoCode'] = $countryISO; @@ -864,15 +864,15 @@ public function postCreateTransaction($data) } $url = 'transaction/invoice'; - //Sender Information + // Sender Information $params['Sender']['LoyaltyCardNumber'] = ((isset($data->sender_loyalty_card_number) ? $data->sender_loyalty_card_number : null)); $params['Sender']['Name'] = ((isset($data->sender_first_name) ? $data->sender_first_name : null)); - //$params['Sender']['NameOtherLanguage'] = ((isset($data->sender_name_other_language)?$data->sender_name_other_language:null)); + // $params['Sender']['NameOtherLanguage'] = ((isset($data->sender_name_other_language)?$data->sender_name_other_language:null)); $params['Sender']['Address'] = ((isset($data->sender_address) ? $data->sender_address : null)); - //$params['Sender']['AddressOtherLanguage'] = ((isset($data->sender_address_other_language)?$data->sender_address_other_language:null)); + // $params['Sender']['AddressOtherLanguage'] = ((isset($data->sender_address_other_language)?$data->sender_address_other_language:null)); $params['Sender']['PhoneMobile'] = ((isset($data->sender_mobile) ? $data->sender_mobile : null)); - //$params['Sender']['PhoneHome'] = ((isset($data->sender_mobile_home)?$data->sender_mobile_home:null)); - //$params['Sender']['PhoneWork'] = ((isset($data->sender_mobile_work)?$data->sender_mobile_work:null)); + // $params['Sender']['PhoneHome'] = ((isset($data->sender_mobile_home)?$data->sender_mobile_home:null)); + // $params['Sender']['PhoneWork'] = ((isset($data->sender_mobile_work)?$data->sender_mobile_work:null)); $params['Sender']['ZipCode'] = ((isset($data->sender_zipcode) ? $data->sender_zipcode : null)); $params['Sender']['CityId'] = ((isset($data->trans_fast_sender_city_id) ? $data->trans_fast_sender_city_id : '94702')); if (isset($data->trans_fast_sender_state_id) && $data->trans_fast_sender_state_id != 'NA') { @@ -886,41 +886,41 @@ public function postCreateTransaction($data) $params['Sender']['IdExpiryDate'] = ((isset($data->sender_expire_date) ? date('Y-m-d', strtotime($data->sender_expire_date)) : null)); $params['Sender']['NationalityIsoCode'] = ((isset($data->trans_fast_sender_nationality) ? $data->trans_fast_sender_nationality : null)); $params['Sender']['DateOfBirth'] = ((isset($data->sender_date_of_birth) ? date('Y-m-d', strtotime($data->sender_date_of_birth)) : null)); - //$params['Sender']['Email'] = ((isset($data->sender_email)?$data->sender_email:null)); + // $params['Sender']['Email'] = ((isset($data->sender_email)?$data->sender_email:null)); $params['Sender']['IsIndividual'] = 'true'; $params['Sender']['SenderOccupaton'] = ((isset($data->sender_occupation) ? $data->sender_occupation : null)); - //Receiver Information + // Receiver Information $params['Receiver']['FirstName'] = ((isset($data->receiver_first_name) ? $data->receiver_first_name : null)); - //$params['Receiver']['FirstNameOtherLanguage'] = ((isset($data->receiver_first_name_other_language)?$data->receiver_first_name_other_language:null)); + // $params['Receiver']['FirstNameOtherLanguage'] = ((isset($data->receiver_first_name_other_language)?$data->receiver_first_name_other_language:null)); $params['Receiver']['SecondName'] = ((isset($data->receiver_middle_name) ? $data->receiver_middle_name : null)); - //$params['Receiver']['SecondNameOtherLanguage'] = ((isset($data->receiver_middle_name_other_language)?$data->receiver_middle_name_other_language:null)); + // $params['Receiver']['SecondNameOtherLanguage'] = ((isset($data->receiver_middle_name_other_language)?$data->receiver_middle_name_other_language:null)); $params['Receiver']['LastName'] = ((isset($data->receiver_last_name) ? $data->receiver_last_name : null)); - //$params['Receiver']['LastNameOtherLanguage'] = ((isset($data->receiver_last_name_other_language)?$data->receiver_last_name_other_language:null)); - //$params['Receiver']['SecondLastName'] = ((isset($data->receiver_second_last_name)?$data->receiver_second_last_name:null)); - //$params['Receiver']['SecondLastNameOtherLanguage'] = ((isset($data->receiver_second_last_name_other_language)?$data->receiver_second_last_name_other_language:null)); - //$params['Receiver']['FullNameOtherLanguage'] = ((isset($data->receiver_full_name_other_language)?$data->receiver_full_name_other_language:null)); + // $params['Receiver']['LastNameOtherLanguage'] = ((isset($data->receiver_last_name_other_language)?$data->receiver_last_name_other_language:null)); + // $params['Receiver']['SecondLastName'] = ((isset($data->receiver_second_last_name)?$data->receiver_second_last_name:null)); + // $params['Receiver']['SecondLastNameOtherLanguage'] = ((isset($data->receiver_second_last_name_other_language)?$data->receiver_second_last_name_other_language:null)); + // $params['Receiver']['FullNameOtherLanguage'] = ((isset($data->receiver_full_name_other_language)?$data->receiver_full_name_other_language:null)); $params['Receiver']['CompleteAddress'] = ((isset($data->receiver_address) ? $data->receiver_address : null)); - //$params['Receiver']['CompleteAddressOtherLanguage'] = ((isset($data->receiver_address_other_language)?$data->receiver_address_other_language:null)); - //$params['Receiver']['StateId'] = ((isset($data->trans_fast_receiver_state_id)?$data->trans_fast_receiver_state_id:null)); - //$params['Receiver']['CityId'] = ((isset($data->trans_fast_receiver_city_id)?$data->trans_fast_receiver_city_id:null)); - //$params['Receiver']['TownId'] = ((isset($data->trans_fast_receiver_town_id)?$data->trans_fast_receiver_town_id:null)); + // $params['Receiver']['CompleteAddressOtherLanguage'] = ((isset($data->receiver_address_other_language)?$data->receiver_address_other_language:null)); + // $params['Receiver']['StateId'] = ((isset($data->trans_fast_receiver_state_id)?$data->trans_fast_receiver_state_id:null)); + // $params['Receiver']['CityId'] = ((isset($data->trans_fast_receiver_city_id)?$data->trans_fast_receiver_city_id:null)); + // $params['Receiver']['TownId'] = ((isset($data->trans_fast_receiver_town_id)?$data->trans_fast_receiver_town_id:null)); $params['Receiver']['CountryIsoCode'] = ((isset($data->trans_fast_receiver_country_iso_code) ? $data->trans_fast_receiver_country_iso_code : null)); $params['Receiver']['MobilePhone'] = ((isset($data->receiver_contact_number) ? $data->receiver_contact_number : null)); - //$params['Receiver']['HomePhone'] = ((isset($data->receiver_home_contact_number)?$data->receiver_home_contact_number:null)); - //$params['Receiver']['WorkPhone'] = ((isset($data->receiver_work_contact_number)?$data->receiver_work_contact_number:null)); + // $params['Receiver']['HomePhone'] = ((isset($data->receiver_home_contact_number)?$data->receiver_home_contact_number:null)); + // $params['Receiver']['WorkPhone'] = ((isset($data->receiver_work_contact_number)?$data->receiver_work_contact_number:null)); $params['Receiver']['ReceiverCityId'] = ((isset($data->trans_fast_receiver_city_id) ? $data->trans_fast_receiver_city_id : null)); - //$params['Receiver']['ZipCode'] = ((isset($data->receiver_zip_code)?$data->receiver_zip_code:null)); - //$params['Receiver']['NationalityIsoCode'] = ((isset($data->trans_fast_receiver_nationality_iso_code)?$data->trans_fast_receiver_nationality_iso_code:null)); - //$params['Receiver']['IsIndividual'] = true; - //$params['Receiver']['Email'] = ((isset($data->receiver_email)?$data->receiver_email:null)); - //$params['Receiver']['Cpf'] = ((isset($data->receiver_cpf_id)?$data->receiver_cpf_id:null)); - //$params['Receiver']['ReceiverTypeOfId'] = ((isset($data->trans_fast_receiver_type_of_id)?$data->trans_fast_receiver_type_of_id:null)); - //$params['Receiver']['ReceiverIdNumber'] = ((isset($data->trans_fast_receiver_id_number)?$data->trans_fast_receiver_id_number:null)); - //$params['Receiver']['Notes'] = ((isset($data->receiver_notes)?$data->receiver_notes:null)); - //$params['Receiver']['NotesOtherLanguage'] = ((isset($data->receiver_notes_other_language)?$data->receiver_notes_other_language:null)); - - //Transaction Information + // $params['Receiver']['ZipCode'] = ((isset($data->receiver_zip_code)?$data->receiver_zip_code:null)); + // $params['Receiver']['NationalityIsoCode'] = ((isset($data->trans_fast_receiver_nationality_iso_code)?$data->trans_fast_receiver_nationality_iso_code:null)); + // $params['Receiver']['IsIndividual'] = true; + // $params['Receiver']['Email'] = ((isset($data->receiver_email)?$data->receiver_email:null)); + // $params['Receiver']['Cpf'] = ((isset($data->receiver_cpf_id)?$data->receiver_cpf_id:null)); + // $params['Receiver']['ReceiverTypeOfId'] = ((isset($data->trans_fast_receiver_type_of_id)?$data->trans_fast_receiver_type_of_id:null)); + // $params['Receiver']['ReceiverIdNumber'] = ((isset($data->trans_fast_receiver_id_number)?$data->trans_fast_receiver_id_number:null)); + // $params['Receiver']['Notes'] = ((isset($data->receiver_notes)?$data->receiver_notes:null)); + // $params['Receiver']['NotesOtherLanguage'] = ((isset($data->receiver_notes_other_language)?$data->receiver_notes_other_language:null)); + + // Transaction Information $params['TransactionInfo']['PaymentModeId'] = $this->payment_mode; $params['TransactionInfo']['ReceiveCurrencyIsoCode'] = ((isset($data->transfer_currency) ? $data->transfer_currency : 'BDT')); if (isset($data->trans_fast_payer_id) && $data->trans_fast_payer_id != null) { @@ -931,19 +931,19 @@ public function postCreateTransaction($data) } $params['TransactionInfo']['PurposeOfRemittanceId'] = ((isset($data->trans_fast_purpose_of_remittance) ? $data->trans_fast_purpose_of_remittance : 1)); $params['TransactionInfo']['SourceCurrencyIsoCode'] = ((isset($data->sender_currency) ? $data->sender_currency : null)); - //$params['TransactionInfo']['Rate'] = ((isset($data->transaction_exchange_rate)?$data->transaction_exchange_rate:null)); - //$params['TransactionInfo']['Rate'] = ((isset($data->transaction_total_sent_amount)?$data->transaction_total_sent_amount:null)); - //$params['TransactionInfo']['SentAmount'] = ((isset($data->sender_amount)?$data->sender_amount:null)); - //$params['TransactionInfo']['ServiceFee'] = ((isset($data->transaction_service_fee)?$data->transaction_service_fee:null)); - //$params['TransactionInfo']['USDServiceFee'] = ((isset($data->transaction_usd_service_fee)?$data->transaction_usd_service_fee:null)); + // $params['TransactionInfo']['Rate'] = ((isset($data->transaction_exchange_rate)?$data->transaction_exchange_rate:null)); + // $params['TransactionInfo']['Rate'] = ((isset($data->transaction_total_sent_amount)?$data->transaction_total_sent_amount:null)); + // $params['TransactionInfo']['SentAmount'] = ((isset($data->sender_amount)?$data->sender_amount:null)); + // $params['TransactionInfo']['ServiceFee'] = ((isset($data->transaction_service_fee)?$data->transaction_service_fee:null)); + // $params['TransactionInfo']['USDServiceFee'] = ((isset($data->transaction_usd_service_fee)?$data->transaction_usd_service_fee:null)); $params['TransactionInfo']['ReceiveAmount'] = ((isset($data->transfer_amount) ? $data->transfer_amount : null)); - //$params['TransactionInfo']['CashAmount'] = ((isset($data->transfer_amount)?$data->transfer_amount:null)); - //$params['TransactionInfo']['Payout'] = ((isset($data->transfer_amount)?$data->transfer_amount:null)); + // $params['TransactionInfo']['CashAmount'] = ((isset($data->transfer_amount)?$data->transfer_amount:null)); + // $params['TransactionInfo']['Payout'] = ((isset($data->transfer_amount)?$data->transfer_amount:null)); $params['TransactionInfo']['FormOfPaymentId'] = 'ACH'; $params['TransactionInfo']['ReferenceNumber'] = ((isset($data->purchase_number) ? $data->purchase_number : null)); - //$params['TransactionInfo']['ReferenceNumber'] = mt_rand(1000000, 9999999); + // $params['TransactionInfo']['ReferenceNumber'] = mt_rand(1000000, 9999999); $params['TransactionInfo']['SourceOfFundsID'] = ((isset($data->trans_fast_sender_source_of_fund_id) ? $data->trans_fast_sender_source_of_fund_id : null)); - //$params['TransactionInfo']['FeeProduct'] = ((isset($data->trans_fast_front_end_or_back_end)?$data->trans_fast_front_end_or_back_end:null)); + // $params['TransactionInfo']['FeeProduct'] = ((isset($data->trans_fast_front_end_or_back_end)?$data->trans_fast_front_end_or_back_end:null)); if ($this->payment_mode == 'C') { $params['TransactionInfo']['BankId'] = ((isset($data->trans_fast_bank_id) ? $data->trans_fast_bank_id : null)); $params['TransactionInfo']['BankBranchId'] = (isset($data->location_routing_id[1]->bank_branch_location_field_value) ? $data->location_routing_id[1]->bank_branch_location_field_value : null); @@ -953,22 +953,22 @@ public function postCreateTransaction($data) $params['TransactionInfo']['Account'] = ((isset($data->bank_account_number) ? $data->bank_account_number : null)); } - //Compliance Information + // Compliance Information $params['Compliance']['CountryIssueIsoCode'] = ((isset($data->trans_fast_sender_country_iso_code) ? $data->trans_fast_sender_country_iso_code : null)); if (isset($data->trans_fast_sender_state_id) && $data->trans_fast_sender_state_id != 'NA') { $params['Compliance']['StateIssueId'] = ((isset($data->trans_fast_sender_state_id) ? $data->trans_fast_sender_state_id : 'SGP01')); } else { $params['Compliance']['StateIssueId'] = 'SGP01'; } - //$params['Compliance']['StateIssueId'] = ((isset($data->trans_fast_sender_state_id)?$data->trans_fast_sender_state_id:null)); + // $params['Compliance']['StateIssueId'] = ((isset($data->trans_fast_sender_state_id)?$data->trans_fast_sender_state_id:null)); $params['Compliance']['ReceiverRelationship'] = ((isset($data->sender_beneficiary_relationship) ? $data->sender_beneficiary_relationship : null)); $params['Compliance']['SourceOfFundsID'] = ((isset($data->trans_fast_sender_source_of_fund_id) ? $data->trans_fast_sender_source_of_fund_id : null)); $params['Compliance']['Ssn'] = ((isset($data->sender_ssn_number) ? $data->sender_ssn_number : null)); $params['Compliance']['SenderOccupation'] = ((isset($data->sender_occupation) ? $data->sender_occupation : null)); - //$params['Compliance']['SenderEmployerName'] = ((isset($data->sender_employer_name)?$data->sender_employer_name:null)); - //$params['Compliance']['SenderEmployerAddress'] = ((isset($data->sender_employer_address)?$data->sender_employer_address:null)); - //$params['Compliance']['SenderEmployerPhone'] = ((isset($data->sender_employer_phone)?$data->sender_employer_phone:null)); - //$params['Compliance']['ReceiverDateOfBirth'] = ((isset($data->receiver_date_of_birth)?date('Y-m-d', strtotime($data->receiver_date_of_birth)):null)); + // $params['Compliance']['SenderEmployerName'] = ((isset($data->sender_employer_name)?$data->sender_employer_name:null)); + // $params['Compliance']['SenderEmployerAddress'] = ((isset($data->sender_employer_address)?$data->sender_employer_address:null)); + // $params['Compliance']['SenderEmployerPhone'] = ((isset($data->sender_employer_phone)?$data->sender_employer_phone:null)); + // $params['Compliance']['ReceiverDateOfBirth'] = ((isset($data->receiver_date_of_birth)?date('Y-m-d', strtotime($data->receiver_date_of_birth)):null)); $params['Compliance']['SenderDateOfBirth'] = ((isset($data->sender_date_of_birth) ? date('Y-m-d', strtotime($data->sender_date_of_birth)) : null)); $params['Compliance']['TypeOfId'] = ((isset($data->trans_fast_sender_id_type_id) ? $data->trans_fast_sender_id_type_id : null)); $params['Compliance']['IdNumber'] = ((isset($data->sender_id_number) ? $data->sender_id_number : null)); @@ -976,7 +976,7 @@ public function postCreateTransaction($data) $params['Compliance']['ReceiverFullName'] = ((isset($data->receiver_first_name) ? $data->receiver_first_name : null).(isset($data->receiver_middle_name) ? ' '.$data->receiver_middle_name : null).(isset($data->receiver_last_name) ? ' '.$data->receiver_last_name : null)); $params['Compliance']['SenderFullName'] = ((isset($data->sender_first_name) ? $data->sender_first_name : null)); - //dd($params); + // dd($params); return $this->putPostData($url, $params); } diff --git a/src/Vendors/ValYouApi.php b/src/Vendors/ValYouApi.php index c1e9625..04235d9 100644 --- a/src/Vendors/ValYouApi.php +++ b/src/Vendors/ValYouApi.php @@ -76,8 +76,8 @@ public function __construct() $this->ClientPass = $this->config[$this->status]['password']; $this->agent_code = $this->config[$this->status]['agent_code']; $this->agent_session_id = $this->config[$this->status]['agent_session_id']; - $this->payment_mode = 'B'; //C- Cash Pickup by ID, B- Account Deposit, H- Home Delivery - $this->calculated_by_sending_payout_currency = 'P'; //P – Calculated by Payout Currency or C – Calculated by Sending Currency + $this->payment_mode = 'B'; // C- Cash Pickup by ID, B- Account Deposit, H- Home Delivery + $this->calculated_by_sending_payout_currency = 'P'; // P – Calculated by Payout Currency or C – Calculated by Sending Currency } /** @@ -219,7 +219,7 @@ public function getAgentList($input_data) $pay_out_agent_code = isset($input_data['pay_out_agent_code']) ? $input_data['pay_out_agent_code'] : ''; if ($input_data['recipient_type_name'] == 'Cash') { $this->payment_mode = 'C'; - //$this->calculated_by_sending_payout_currency = 'C'; + // $this->calculated_by_sending_payout_currency = 'C'; } $signature = $this->agent_code.$this->ClientId.$this->agent_session_id. $this->payment_mode.$pay_out_country.$bank_name.$bank_branch_state.$pay_out_agent_code. @@ -255,14 +255,14 @@ public function getAgentList($input_data) */ public function exRate($input_data) { - //dd($input_data); + // dd($input_data); $location_id = $input_data['location_id']; $transfer_amount = $input_data['transfer_amount']; $payout_country = $input_data['payout_country']; if ($input_data['recipient_type_name'] == 'Cash') { $location_id = '96700015P39319013P743723'; $this->payment_mode = 'C'; - //$this->calculated_by_sending_payout_currency = 'C'; + // $this->calculated_by_sending_payout_currency = 'C'; } elseif ($input_data['recipient_type_name'] == 'Wallet') { $location_id = '96700241P96836978'; } @@ -519,7 +519,7 @@ public function topUp($input) */ public function sendTransaction($input_data) { - //dd($input_data); + // dd($input_data); $location_id = $input_data->valyou_location_routing_id[0]->bank_branch_location_field_value; $AGENT_TXNID = $input_data->purchase_number; $SENDER_FIRST_NAME = $input_data->sender_first_name; @@ -543,17 +543,17 @@ public function sendTransaction($input_data) $SENDER_SOURCE_OF_FUND = $input_data->sender_source_of_fund; $SENDER_COUNTRY_OF_BIRTH = $input_data->sender_country_of_birth; $SENDER_BENEFICIARY_RELATIONSHIP = $input_data->sender_beneficiary_relationship; - //$PURPOSE_OF_REMITTANCE = $input_data->purpose_of_remittance; + // $PURPOSE_OF_REMITTANCE = $input_data->purpose_of_remittance; $PURPOSE_OF_REMITTANCE = 'FAMILY MAINTENANCE/SAVINGS'; $RECEIVER_FIRST_NAME = $input_data->receiver_first_name; - $RECEIVER_MIDDLE_NAME = ''; //$input_data->receiver_middle_name; + $RECEIVER_MIDDLE_NAME = ''; // $input_data->receiver_middle_name; $RECEIVER_LAST_NAME = $input_data->receiver_last_name; $RECEIVER_ADDRESS = $input_data->receiver_address; - $RECEIVER_CONTACT_NUMBER = ''; //$input_data->receiver_contact_number; + $RECEIVER_CONTACT_NUMBER = ''; // $input_data->receiver_contact_number; $RECEIVER_COUNTRY = $input_data->receiver_country; $RECEIVER_CITY = $input_data->receiver_country; $TRANSFER_AMOUNT = $input_data->transfer_amount; - $REMIT_CURRENCY = ''; //$input_data->sender_currency; + $REMIT_CURRENCY = ''; // $input_data->sender_currency; $TRANSFER_CURRENCY = $input_data->transfer_currency; $BANK_NAME = $input_data->valyou_bank_name; $BANK_BRANCH_NAME = $input_data->valyou_bank_branch_name; @@ -564,7 +564,7 @@ public function sendTransaction($input_data) if ($input_data['recipient_type_name'] == 'Cash') { $location_id = is_null($input_data['location_id']) ? $input_data['location_id'] : '96700015P39319013P743723'; $this->payment_mode = 'C'; - //$this->calculated_by_sending_payout_currency = 'C'; + // $this->calculated_by_sending_payout_currency = 'C'; } elseif ($input_data['recipient_type_name'] == 'Wallet') { $location_id = is_null($input_data['location_id']) ? $input_data['location_id'] : '96700241P96836978'; } From 972721403e98c3dcc765f35b4860acf59b0b3642 Mon Sep 17 00:00:00 2001 From: Mohammad Hafijul Islam Date: Tue, 31 Dec 2024 15:57:47 +0600 Subject: [PATCH 14/15] event fire typo fixed --- src/Providers/EventServiceProvider.php | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/Providers/EventServiceProvider.php b/src/Providers/EventServiceProvider.php index 0d5cc2f..b42e4d1 100644 --- a/src/Providers/EventServiceProvider.php +++ b/src/Providers/EventServiceProvider.php @@ -2,12 +2,10 @@ namespace Fintech\Remit\Providers; -use Fintech\Reload\Events\OrderPayoutRequested; use Fintech\Remit\Events\BankTransferRequested; use Fintech\Remit\Events\CashPickupRequested; use Fintech\Remit\Events\RemitTransferVendorAssigned; use Fintech\Remit\Events\WalletTransferRequested; -use Fintech\Remit\Listeners\MoneyTransferPayoutListener; use Fintech\Remit\Listeners\RemitOrderComplianceCheck; use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider; @@ -32,9 +30,6 @@ class EventServiceProvider extends ServiceProvider RemitTransferVendorAssigned::class => [ - ], - OrderPayoutRequested::class => [ - MoneyTransferPayoutListener::class, - ], + ] ]; } From 0c9f981cec86cc527903ba2dc75ed5edb72d8565 Mon Sep 17 00:00:00 2001 From: hafijul233 Date: Tue, 31 Dec 2024 09:58:56 +0000 Subject: [PATCH 15/15] Fix styling --- src/Providers/EventServiceProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Providers/EventServiceProvider.php b/src/Providers/EventServiceProvider.php index b42e4d1..a0f05fb 100644 --- a/src/Providers/EventServiceProvider.php +++ b/src/Providers/EventServiceProvider.php @@ -30,6 +30,6 @@ class EventServiceProvider extends ServiceProvider RemitTransferVendorAssigned::class => [ - ] + ], ]; }