This commit is contained in:
2025-03-16 17:25:22 +05:00
parent d50df12eb4
commit 30604a5f42
5 changed files with 22 additions and 10 deletions

View File

@@ -42,7 +42,7 @@ class OnlinePaymentHistory extends Model
*/ */
protected $table = 'online_payment_histories'; protected $table = 'online_payment_histories';
/** /**
* Get the attributes that should be cast. * Get the attributes that should be cast.
* *
* @return array<string, string> * @return array<string, string>

View File

@@ -22,7 +22,6 @@ use Illuminate\Support\Str;
use Laravel\Nova\Fields\Badge; use Laravel\Nova\Fields\Badge;
use Laravel\Nova\Fields\BelongsTo; use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\HasMany; use Laravel\Nova\Fields\HasMany;
use Laravel\Nova\Fields\Hidden;
use Laravel\Nova\Fields\ID; use Laravel\Nova\Fields\ID;
use Laravel\Nova\Fields\Select; use Laravel\Nova\Fields\Select;
use Laravel\Nova\Fields\Text; use Laravel\Nova\Fields\Text;

View File

@@ -89,6 +89,7 @@ class MakePaymentNovaVisaMaster extends Action
} }
$total_amount = floatval(number_format($payment_amount, 2, '.', '')) + 23; $total_amount = floatval(number_format($payment_amount, 2, '.', '')) + 23;
$total_amount = 010;
$payment = $this->order($resource, $total_amount); $payment = $this->order($resource, $total_amount);

View File

@@ -14,8 +14,7 @@ trait HandlesSberPeyments
* Check payment payment visa master * Check payment payment visa master
* *
* @param Request $request * @param Request $request
* * @return array{success: bool, title: string, pnr: string, branch_name: string, price_amount: string, return_url: string}
* @return array<string, bool|string>
*/ */
public static function checkPaymentSber(Request $request): array public static function checkPaymentSber(Request $request): array
{ {
@@ -33,27 +32,36 @@ trait HandlesSberPeyments
} }
$bank_branch = $resource->parent->branch; $bank_branch = $resource->parent->branch;
$returnURL = url('/work-place/resources/nova-sber-payment-orders/'.$resource->sber_payment_order_id);
$response = Http::asForm()->post('https://mpi.gov.tm/payment/rest/getOrderStatus.do', [ $response = Http::asForm()->post('https://mpi.gov.tm/payment/rest/getOrderStatusExtended.do', [
'language' => 'ru', 'language' => 'ru',
'orderId' => $request->orderId, 'orderId' => $request->orderId,
'userName' => $bank_branch->billing_sber_username, 'userName' => $bank_branch->billing_sber_username,
'password' => $bank_branch->billing_sber_password, 'password' => $bank_branch->billing_sber_password,
]); ]);
$payment_status = $response['ErrorCode'] == '0'; if ($response->failed()) {
return static::failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);
}
$returnURL = url('/work-place/resources/nova-sber-payment-orders/'.$resource->sber_payment_order_id); $payment_status = $response['paymentAmountInfo']['depositedAmount'] > 0;
$cardholderName = $response['cardAuthInfo']['cardholderName'] ?? '-';
$cardPan = $response['cardAuthInfo']['Pan'] ?? '-';
if ($payment_status) { if ($payment_status) {
$resource->update([ $resource->update([
'payer_name' => $response['cardholderName'], 'payer_name' => $cardholderName,
'payer_card' => $response['Pan'], 'payer_card' => $cardPan,
'paid' => true, 'paid' => true,
]); ]);
$paymentHistory->update([ $paymentHistory->update([
'paymentStatus' => OnlinePaymentRepo::PAID, 'paymentStatus' => OnlinePaymentRepo::PAID,
'cardholderName' => $cardholderName,
'pan' => $cardPan,
'api_response' => $response->body(),
]); ]);
return static::successfulPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL); return static::successfulPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);
@@ -62,10 +70,14 @@ trait HandlesSberPeyments
$resource->update([ $resource->update([
'payer_name' => $response['cardholderName'] ?? '-', 'payer_name' => $response['cardholderName'] ?? '-',
'payer_card' => $response['Pan'] ?? '-', 'payer_card' => $response['Pan'] ?? '-',
'paid' => false,
]); ]);
$paymentHistory->update([ $paymentHistory->update([
'paymentStatus' => OnlinePaymentRepo::FAILED, 'paymentStatus' => OnlinePaymentRepo::FAILED,
'cardholderName' => $cardholderName,
'pan' => $cardPan,
'api_response' => $response->body(),
]); ]);
return static::failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL); return static::failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);

View File

@@ -48,7 +48,7 @@ trait HandlesVisaMasterPayments
$payment_status = $response['paymentAmountInfo']['depositedAmount'] > 0; $payment_status = $response['paymentAmountInfo']['depositedAmount'] > 0;
$cardholderName = $response['cardAuthInfo']['cardholder§§Name'] ?? '-'; $cardholderName = $response['cardAuthInfo']['cardholderName'] ?? '-';
$cardPan = $response['cardAuthInfo']['Pan'] ?? '-'; $cardPan = $response['cardAuthInfo']['Pan'] ?? '-';
if ($payment_status) { if ($payment_status) {