D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
forge
/
ghanempharmacy.com
/
app
/
Services
/
Filename :
WithdrawRequestService.php
back
Copy
<?php namespace App\Services; class WithdrawRequestService { /** * @return array[seller_id: int|string, amount: float|int, transaction_note: null, withdrawal_method_id: mixed, withdrawal_method_fields: false|string, approved: int, created_at: \Illuminate\Support\Carbon, updated_at: \Illuminate\Support\Carbon] */ public function getWithdrawRequestData(object $withdrawMethod, object $request, string $addedBy, int|string $vendorId): array { return [ 'seller_id' => $addedBy === 'vendor' ? $vendorId : '', 'amount' => currencyConverter($request['amount']), 'transaction_note' => null, 'withdrawal_method_id' => $request['withdraw_method'], 'withdrawal_method_fields' => json_encode($this->getWithdrawMethodFields(request: $request, withdrawMethod: $withdrawMethod)), 'approved' => 0, 'created_at' => now(), 'updated_at' => now() ]; } /** * @param object $request * @param object $withdrawMethod * @return array */ public function getWithdrawMethodFields(object $request, object $withdrawMethod): array { $inputFields = array_column($withdrawMethod['method_fields'], 'input_name'); $method['method_name'] = $withdrawMethod['method_name']; $methodInfoValues = $request['method_info'] ?? []; foreach ($inputFields as $field) { if (key_exists($field, $methodInfoValues)) { $method[$field] = $methodInfoValues[$field]; } } return $method; } }