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

@@ -14,8 +14,7 @@ trait HandlesSberPeyments
* Check payment payment visa master
*
* @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 checkPaymentSber(Request $request): array
{
@@ -33,27 +32,36 @@ trait HandlesSberPeyments
}
$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',
'orderId' => $request->orderId,
'userName' => $bank_branch->billing_sber_username,
'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) {
$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);
@@ -62,10 +70,14 @@ trait HandlesSberPeyments
$resource->update([
'payer_name' => $response['cardholderName'] ?? '-',
'payer_card' => $response['Pan'] ?? '-',
'paid' => false,
]);
$paymentHistory->update([
'paymentStatus' => OnlinePaymentRepo::FAILED,
'cardholderName' => $cardholderName,
'pan' => $cardPan,
'api_response' => $response->body(),
]);
return static::failedPaymentResponse($paymentHistory, $bank_branch, $resource, $returnURL);

View File

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