feat(cinetpay payout): convert incoming status to internal status

This commit is contained in:
Djery-Tom 2023-07-03 09:06:53 +01:00
parent 354d33d7df
commit 457df41c9c
1 changed files with 16 additions and 10 deletions

View File

@ -302,14 +302,11 @@ class CinetpayController extends Controller
$responseData = json_decode($transfertResponse->getBody()->getContents());
$responseCode = $transfertResponse->getStatusCode();
Log::info("Pay out cinietpay");
Log::info(json_encode($responseData));
if ($responseCode == 200) {
$transaction->update([
'aggregator_payment_ref' => $responseData->data[0]?->transaction_id,
'status' => $responseData->data[0]?->treatment_status,
'aggregator_payment_ref' => $responseData->data[0][0]?->transaction_id,
'status' => $this->convertTransfertStatus($responseData->data[0][0]?->treatment_status) ,
]);
return $this->successResponse([
@ -326,6 +323,7 @@ class CinetpayController extends Controller
}catch (Throwable $e){
Log::error("Error CinetPay transfert payment");
$errorMessage = $e->getMessage();
Log::error("Response data :: ".json_encode($responseData ?? ''));
Log::error($errorMessage);
}
@ -370,15 +368,11 @@ class CinetpayController extends Controller
$responseData = json_decode($response->getBody()->getContents());
$responseCode = $response->getStatusCode();
Log::info("Pay out check result");
Log::info(json_encode($responseData));
if ($responseCode == 200) {
$transaction->update([
'aggregator_payment_ref' => $responseData->data[0]?->transaction_id,
'status' => $responseData->data[0]?->treatment_status,
'status' => $this->convertTransfertStatus($responseData->data[0]?->treatment_status),
]);
}
@ -387,6 +381,7 @@ class CinetpayController extends Controller
} catch (Throwable $e) {
Log::info("Get Cinetpay Transfert Status Error");
$errorMessage = $e->getMessage();
Log::error("Response data :: ".json_encode($responseData ?? ''));
Log::info($errorMessage);
$transaction->update([
'status' => PaymentTransactionStatus::REFUSED
@ -399,6 +394,17 @@ class CinetpayController extends Controller
}
}
private function convertTransfertStatus($incomingStatus): string {
return match ($incomingStatus) {
'NEW', 'REC' => PaymentTransactionStatus::PENDING,
'VAL' => PaymentTransactionStatus::ACCEPTED,
'REJ' => PaymentTransactionStatus::REFUSED,
'NOS' => PaymentTransactionStatus::PENDING_OTP,
default => PaymentTransactionStatus::INITIATED,
};
}
public function capturePaymentResult(Request $request)
{