125 lines
4.6 KiB
PHP
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"
|
|
}
|
|
*/
|
|
|
|
}
|
|
}
|