stan errors fixed

This commit is contained in:
2025-03-16 01:34:49 +05:00
parent 821ec1fe47
commit 0b47fe694c
7 changed files with 131 additions and 51 deletions

View File

@@ -247,3 +247,19 @@ function indexByValue(mixed $value, array $array): ?int
return null; return null;
} }
/**
* Convert db type to php type
*/
function dbTypeToPhp(string $type): string
{
return match ($type) {
'bigint' => 'int',
'varchar' => 'string',
'boolean' => 'bool',
'timestamp(0) without time zone' => 'string',
'json' => 'string',
'jsonb' => 'string',
default => 'string',
};
}

View File

@@ -8,6 +8,26 @@ use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\BelongsToMany;
use Spatie\Translatable\HasTranslations; use Spatie\Translatable\HasTranslations;
/**
* @property int $id
* @property string $name
* @property null|string $address
* @property null|string $unique_code
* @property string $region
* @property null|int $province_id
* @property null|string $billing_username
* @property null|string $billing_password
* @property null|string $phone_numbers
* @property bool $active
* @property null|string $created_at
* @property null|string $updated_at
* @property null|string $billing_swift_username
* @property null|string $billing_swift_password
* @property null|string $billing_visa_master_username
* @property null|string $billing_visa_master_password
* @property null|string $billing_sber_username
* @property null|string $billing_sber_password
*/
class Branch extends Model class Branch extends Model
{ {
use HasFactory; use HasFactory;

View File

@@ -256,11 +256,15 @@ class MakePaymentNovaVisaMaster extends Action
/** /**
* Create payment record * Create payment record
* *
* @param $payment * @param array<string, string> $payment
* @param $resource * @param $resource
*/ */
public function createPaymentRecord($payment, $resource, $total_amount, $usd_payment) public function createPaymentRecord(
{ array $payment,
VisaMasterPaymentOrder $resource,
int|float|string $total_amount,
int|float|string $usd_payment
): void {
VisaMasterPaymentOrderItem::create([ VisaMasterPaymentOrderItem::create([
'visa_master_payment_order_id' => $resource->id, 'visa_master_payment_order_id' => $resource->id,
'online_payment_history_id' => $payment['online_payment_history_id'], 'online_payment_history_id' => $payment['online_payment_history_id'],
@@ -270,7 +274,12 @@ class MakePaymentNovaVisaMaster extends Action
]); ]);
} }
public function canAcceptPayment($today) /**
* Can payment be accepted?
*
* @param \Illuminate\Support\Carbon $today
*/
public function canAcceptPayment(\Illuminate\Support\Carbon $today): bool
{ {
$year = $today->format('Y'); $year = $today->format('Y');
$month = $today->format('m'); $month = $today->format('m');

View File

@@ -36,6 +36,9 @@ class MakeSberPaymentAction extends Action
/** /**
* Perform the action on the given models. * Perform the action on the given models.
*
* @param ActionFields $fields
* @param Collection<array-key, \App\Modules\SberPaymentOrder\Models\SberPaymentOrder> $models
*/ */
public function handle(ActionFields $fields, Collection $models): mixed public function handle(ActionFields $fields, Collection $models): mixed
{ {
@@ -102,7 +105,7 @@ class MakeSberPaymentAction extends Action
* Get the fields available on the action. * Get the fields available on the action.
* *
* @param \Laravel\Nova\Http\Requests\NovaRequest $request * @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @return array * @return array<int, \Laravel\Nova\Fields\Field>
*/ */
public function fields(NovaRequest $request) public function fields(NovaRequest $request)
{ {
@@ -193,8 +196,10 @@ class MakeSberPaymentAction extends Action
/** /**
* Order a payment page * Order a payment page
*
* @return array<string, string>
*/ */
public function order($resource, $amount) public function order(SberPaymentOrder $resource, int|float|string $amount): array
{ {
$onlinePaymentRepo = OnlinePaymentRepo::make(); $onlinePaymentRepo = OnlinePaymentRepo::make();
@@ -256,11 +261,14 @@ class MakeSberPaymentAction extends Action
/** /**
* Create payment record * Create payment record
* *
* @param $payment * @param array<string, string> $payment
* @param $resource
*/ */
public function createPaymentRecord($payment, $resource, $total_amount, $usd_payment) public function createPaymentRecord(
{ array $payment,
SberPaymentOrder $resource,
int|float|string $total_amount,
int|float|string $usd_payment
): void {
SberPaymentOrderItem::create([ SberPaymentOrderItem::create([
'sber_payment_order_id' => $resource->id, 'sber_payment_order_id' => $resource->id,
'online_payment_history_id' => $payment['online_payment_history_id'], 'online_payment_history_id' => $payment['online_payment_history_id'],
@@ -270,7 +278,12 @@ class MakeSberPaymentAction extends Action
]); ]);
} }
public function canAcceptPayment($today) /**
* Can payment be accepted?
*
* @param \Illuminate\Support\Carbon $today
*/
public function canAcceptPayment($today): bool
{ {
$year = $today->format('Y'); $year = $today->format('Y');
$month = $today->format('m'); $month = $today->format('m');

View File

@@ -4,43 +4,46 @@ namespace App\Repos\Payment\Billing;
trait HandlesBillingSyncing trait HandlesBillingSyncing
{ {
public static function syncWithBilling() /**
{ * Sync with billing
$curl = curl_init(); */
// public static function syncWithBilling(): bool|string
// {
// $curl = curl_init();
curl_setopt_array($curl, [ // curl_setopt_array($curl, [
CURLOPT_URL => 'http://10.3.158.102:8888/api/paytrn/new', // CURLOPT_URL => 'http://10.3.158.102:8888/api/paytrn/new',
CURLOPT_RETURNTRANSFER => true, // CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '', // CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10, // CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0, // CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true, // CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, // CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST', // CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => sprintf( // CURLOPT_POSTFIELDS => sprintf(
'{ // '{
"ecomId" : "%s", // "ecomId" : "%s",
"agentId" : "%s", // "agentId" : "%s",
"eposId" : "30401238", // "eposId" : "30401238",
"account" : "130420912769753", // "account" : "130420912769753",
"rnn" : "110784016238", // "rnn" : "110784016238",
"amount" : 895.46, // "amount" : 895.46,
"payPurpose" : "Mart 2025" // "payPurpose" : "Mart 2025"
}', // }',
// $uuid, // // $uuid,
// $bankCode, // // $bankCode,
), // ),
CURLOPT_HTTPHEADER => [ // CURLOPT_HTTPHEADER => [
'Authorization: Basic YWRtaW46UUFad3N4MTIz', // 'Authorization: Basic YWRtaW46UUFad3N4MTIz',
'Content-Type: application/json', // 'Content-Type: application/json',
], // ],
]); // ]);
$response = curl_exec($curl); // $response = curl_exec($curl);
curl_close($curl); // curl_close($curl);
return $response; // return $response;
} // }
} }

View File

@@ -2,11 +2,13 @@
namespace App\Repos\Payment; namespace App\Repos\Payment;
use App\Models\Branch\Branch;
use App\Models\Payment\OnlinePaymentHistory; use App\Models\Payment\OnlinePaymentHistory;
use App\Repos\Payment\Billing\HandlesBillingSyncing; use App\Repos\Payment\Billing\HandlesBillingSyncing;
use App\Repos\Payment\Card\HandlesCardOrderPayments; use App\Repos\Payment\Card\HandlesCardOrderPayments;
use App\Repos\Payment\Sber\HandlesSberPeyments; use App\Repos\Payment\Sber\HandlesSberPeyments;
use App\Repos\Payment\VisaMaster\HandlesVisaMasterPayments; use App\Repos\Payment\VisaMaster\HandlesVisaMasterPayments;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Http;
use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Log;
@@ -38,7 +40,7 @@ class OnlinePaymentRepo
/** /**
* Status Values * Status Values
* *
* @return array<string, string> * @return array<null|string, string>
*/ */
public static function statusValues(): array public static function statusValues(): array
{ {
@@ -187,8 +189,12 @@ class OnlinePaymentRepo
* *
* @return array<string, bool|string> * @return array<string, bool|string>
*/ */
public static function successfulPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL): array public static function successfulPaymentResponse(
{ OnlinePaymentHistory $paymentHistory,
Branch $bank_branch,
Model $resource,
string $returnURL
): array {
return [ return [
'success' => true, 'success' => true,
'title' => __('Payment is successful'), 'title' => __('Payment is successful'),
@@ -201,9 +207,15 @@ class OnlinePaymentRepo
/** /**
* Failed payment response * Failed payment response
*
* @return array<string, bool|string>
*/ */
public static function failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL) public static function failedPaymentResponse(
{ OnlinePaymentHistory $paymentHistory,
Branch $bank_branch,
Model $resource,
string $returnURL
): array {
return [ return [
'success' => false, 'success' => false,
'title' => __('Payment has failed'), 'title' => __('Payment has failed'),
@@ -216,6 +228,8 @@ class OnlinePaymentRepo
/** /**
* Resource not found * Resource not found
*
* @return array<string, string|bool>
*/ */
protected static function resourceNotFound(): array protected static function resourceNotFound(): array
{ {

View File

@@ -5,4 +5,9 @@
**completed** **completed**
**cancelled** **cancelled**
Schema::getColumnListing('loan_order_required_docs') Schema::getColumnListing('branches')
$a = collect(Schema::getColumns('branches'))->map(fn ($column) => [
'name' => $column['name'],
'type' => ($column['nullable'] ? 'null|' : '') . dbTypeToPhp($column['type']),
])->pluck('type', 'name')