install
later
test
$gateway = \Omnipay\Omnipay::create('\Payfort\Redirect');
$gateway = \Omnipay\Omnipay::create('\Payfort\Installments');
$gateway = \Omnipay\Omnipay::create('\Payfort\CheckStatus');
$gateway->initialize([
'testMode' => true,
]);
check status test
$request = $gateway->checkStatus([
'merchant_reference' => '8888888',
]);
purchase test
$request = $gateway->purchase([
'amount' => 1000,
'currency' => 'SAR',
'customer_email' => 'm2@me.com',
'customer_name' => 'mahmoud sami',
'phone_number' => '01150310403',
'order_description' => 'hello order',
'merchant_reference' => '8888888',
]);
finaly
$response = $request->send();
if ( $response->isSuccessful() ) {
dd($response->getData());
}elseif( $response->isRedirect() ){
return $response->redirect();
}else{
dd($response->getData());
}
handling return url case
- in return controller function
$gateway = \Omnipay\Omnipay::create('\Payfort\Redirect');
$data = ( Yii::$app->request->isPost )
? Yii::$app->request->post()
: Yii::$app->request->get();
$response = $gateway->completePurchase($data)->send();
if ( $response->isSuccessful() ) {
dd($response->getData());
}else{
dd($response->getData());
}