This commit is contained in:
2025-03-16 14:12:26 +05:00
parent 0b47fe694c
commit e0d876707d
6 changed files with 110 additions and 43 deletions

View File

@@ -15,7 +15,7 @@ trait HandlesVisaMasterPayments
*
* @param Request $request
*
* @return array<string, bool|string>
* @return array{success: bool, title: string, pnr: string, branch_name: string, price_amount: string, return_url: string}
*/
public static function checkPaymentVisaMaster(Request $request): array
{
@@ -34,7 +34,7 @@ trait HandlesVisaMasterPayments
$bank_branch = $resource->parent->branch;
$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',
'orderId' => $request->orderId,
'userName' => $bank_branch->billing_visa_master_username,
@@ -42,29 +42,38 @@ trait HandlesVisaMasterPayments
]);
$payment_status = $response['ErrorCode'] == '0';
$cardholderName = $response['cardAuthInfo']['cardholderName'] ?? '-';
$cardPan = $response['cardAuthInfo']['Pan'] ?? '-';
$returnURL = url('/work-place/resources/nova-visa-master-payment-orders/'.$resource->visa_master_payment_order_id);
if ($payment_status) {
$resource->update([
'payer_name' => $response['cardholderName'],
'payer_card' => $response['Pan'],
'payer_name' => $cardholderName,
'payer_card' => $cardPan,
'paid' => true,
]);
$paymentHistory->update([
'paymentStatus' => OnlinePaymentRepo::PAID,
'cardholderName' => $cardholderName,
'pan' => $cardPan,
'api_response' => $response->body(),
]);
return static::successfulPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);
}
$resource->update([
'payer_name' => $response['cardholderName'] ?? '-',
'payer_card' => $response['Pan'] ?? '-',
'payer_name' => $cardholderName,
'payer_card' => $cardPan,
]);
$paymentHistory->update([
'paymentStatus' => OnlinePaymentRepo::FAILED,
'cardholderName' => $cardholderName,
'pan' => $cardPan,
'api_response' => $response->body(),
]);
return static::failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);