Files
unifiedpayment/app/Http/Controllers/ConfirmCollectionController.php
2025-11-17 18:39:10 +00:00

125 lines
4.6 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use App\Models;
use App\Library\Kazang;
use Carbon\Carbon;
use Config;
class ConfirmCollectionController extends Controller
{
public function Confirm(Requests\ConfirmPaymentsRequest $request)
{
$kazang = Config('kazang');
$kaz_host = $kazang['test_base_url'];
$this->log_query();
$session_uuid = $this->KazangLogin();
$transaction = Models\KazangTransaction::where('routem_client_reference', $request->refID)->first();
$request_reference = substr(time(), 0, 9);
#"supplier_transaction_id" => $request->supplier_transaction_id,
if ($transaction) {
$curl_params = [
"session_uuid" => $session_uuid,
"request_reference" => $request_reference,
"product_id" => $transaction->product_id,
"confirmation_number" => $transaction->confirmation_number,
];
$url = "kaz_host/apimanager/api_rest/v1/airtelPayPaymentConfirm";
$retval = $this->globalCurlPost($url, $curl_params);
return response()->json(['code' => 1, 'msg' => json_decode($retval)]);
}
else{
return response()->json(['code' => 3, 'msg' => "Transaction not found"]);
}
# Airtel Params for approval
/*
{
"session_uuid": "{{kaz_session_uuid}}",
"request_reference": "{{kaz_request_reference}}",
"product_id": {{airtel_pay_payment_prod_id}},
"confirmation_number": "{{airtel_pay_confirmation_number}}"
}
*/
# : MTN Params : supplier_transaction_id received in Pay 1
# :
/*
{
"session_uuid": "6df64e35-0fa4-4c7e-86bc-eefd92255c2b",
"request_reference": "routem1008",
"product_id": {{mtn_momo_pay_fin_prod_id}},
"wallet_msisdn": "+260981112134",
"amount": "50000",
"supplier_transaction_id": "{{mtn_cash_out_supplier_transaction_id}}",
"client_transaction_reference": "0987654321"
}
*/
}
public function ConfirmAirtel(Requests\ConfirmPaymentsRequest $request)
{
$kazang = Config('kazang');
$kaz_host = $kazang['test_base_url'];
$session_uuid = $this->KazangLogin();
$transaction = Models\KazangTransaction::where('routem_client_reference', $request->refID)->first();
return response()->json(['code' => 1, 'msg' => json_decode($transaction)]);
$transaction = Models\KazangTransaction::where('request_reference', $request->refID)->first();
$request_reference = substr(time(), 0, 9);
//Retrieve the last request from the transactions
if ($transaction) {
$curl_params = [
"session_uuid" => $session_uuid,
"request_reference" => $request_reference,
"product_id" => $transaction->product_id,
"wallet_msisdn" => $transaction->msisdn,
"amount" => $transaction->amount,
"confirmation_number" => $transaction->confirmation_number,
"client_transaction_reference" => $transaction->request_reference
];
$url = "kaz_host/apimanager/api_rest/v1/mtnDebitApproval";
$retval = $this->globalCurlPost($url, $curl_params);
return response()->json(['code' => 1, 'msg' => json_decode($retval)]);
}
else{
return response()->json(['code' => 3, 'msg' => "Transaction not found"]);
}
# Response from RoutePay Collect
/*
{
"code": 1,
"msg": "success",
"data": {
"reference_id": "4393901145",
"confirmation_number": "333720",
"confirmation_message": "\nPlease confirm\nCust. Msisdn: +260978981953\nCust. First Name: Jean-Luc\nCust. Last name: Picard\nAmount: 0.05\n\n\n\n"
}
}
*/
# : MTN Params : supplier_transaction_id received in Pay 1
# :
/*
{
"session_uuid": "6df64e35-0fa4-4c7e-86bc-eefd92255c2b",
"request_reference": "routem1008",
"product_id": {{mtn_momo_pay_fin_prod_id}},
"wallet_msisdn": "+260981112134",
"amount": "50000",
"supplier_transaction_id": "{{mtn_cash_out_supplier_transaction_id}}",
"client_transaction_reference": "0987654321"
}
*/
}
}