Merge branch 'master' into 'dev_production'
Master
See merge request !8
Showing
... | ... | @@ -6,433 +6,475 @@ if (isset($_SERVER['HTTP_ORIGIN'])) { |
header('Access-Control-Max-Age: 86400'); | ||
} | ||
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { | ||
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) | ||
header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); | ||
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { | ||
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) | ||
header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); | ||
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) | ||
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); | ||
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) | ||
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); | ||
exit(0); | ||
} | ||
exit(0); | ||
} | ||
class Api extends CI_Controller { | ||
var $auth_token; | ||
public function __construct() { | ||
parent::__construct(); | ||
$this->load->model('Api_model'); | ||
$this->load->model('Validation_model'); | ||
$method = $this->router->fetch_method(); | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
if($method == 'profile') { | ||
$data = $_POST; | ||
} | ||
if (isset(apache_request_headers()['Auth'])) { | ||
var $auth_token; | ||
public function __construct() { | ||
parent::__construct(); | ||
$this->load->model('Api_model'); | ||
$this->load->model('Validation_model'); | ||
$method = $this->router->fetch_method(); | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
if($method == 'profile') { | ||
$data = $_POST; | ||
} | ||
if (isset(apache_request_headers()['Auth'])) { | ||
$this->auth_token = apache_request_headers()['Auth']; | ||
$data['auth_token'] = $this->auth_token; | ||
} | ||
$res = $this->Validation_model->validation_check($method, $data); | ||
if($res['state'] == 1) { | ||
$this->errorResponse($res['response']['code'], $res['response']['message']); | ||
die; | ||
} | ||
} | ||
public function index() { | ||
$res = $this->Validation_model->validation_check('login',array('email_id'=>'adarsh')); | ||
} | ||
public function response($data) { | ||
$result = array( | ||
'code' => 1, | ||
'message' => 'Success', | ||
'responseResult' =>$data | ||
); | ||
print json_encode($result); | ||
} | ||
public function errorResponse($errorCode, $errorDesc) { | ||
$result = array( | ||
'code' => 0, | ||
'message' => 'Failure', | ||
'errorCode'=> $errorCode, | ||
'errorDesc'=> $errorDesc | ||
); | ||
print json_encode($result); | ||
} | ||
public function login(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->login($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function register(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->register($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function forgot(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->forgot($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function popular() { | ||
$res = $this->Api_model->popular(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function category() { | ||
$res = $this->Api_model->category(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function locality() { | ||
$res = $this->Api_model->locality(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function favourite(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->favourite($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function favouritelist() { | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->favouritelist($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function bookedlist() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->bookedlist($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function bookingdetails() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->bookingdetails($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function cancel() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->cancel($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function confirm() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->confirm($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function userinfo() { | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->userinfo($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function profile() { | ||
$data = $_POST; | ||
if(isset($_FILES['profile_picture'])) { | ||
$data['file'] = $_FILES['profile_picture']; | ||
} | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->update_profile($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function tempbooking() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->tempbooking($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function recommend() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->recommend($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function discover() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->discover($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function event() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->event($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function search() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->search($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function searchEvent($str = null) { | ||
$data['str'] = $str; | ||
$res = $this->Api_model->searchEvent($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function paymentGateway(){ | ||
BayanPayPayment(); | ||
$networkOnlineArray = | ||
array('Network_Online_setting' => | ||
array( | ||
'merchantKey' => "+Hu4bL6iVk943JmFAvGtWEYMODFry4fad2I+iM0X2m0=", | ||
'merchantId' => '201901291000002', | ||
'collaboratorId' => 'NI', | ||
'iv' => '0123456789abcdef', | ||
'url' => false | ||
), | ||
'Block_Existence_Indicator' => array( | ||
'transactionDataBlock' => true, | ||
'billingDataBlock' => true, | ||
'shippingDataBlock' => true, | ||
'paymentDataBlock' => false, | ||
'merchantDataBlock' => false, | ||
'otherDataBlock' => false, | ||
'DCCDataBlock' => false | ||
), | ||
'Field_Existence_Indicator_Transaction' => array( | ||
'merchantOrderNumber' => time(), | ||
'amount' => '100.00', | ||
'successUrl' => $this->baseurl(), | ||
'failureUrl' => $this->baseurl(), | ||
'transactionMode' => 'INTERNET', | ||
'payModeType' => 'CC', | ||
'transactionType' => '01', | ||
'currency' => 'AED' | ||
), | ||
'Field_Existence_Indicator_Billing' => array( | ||
'billToFirstName' => 'Soloman', | ||
'billToLastName' => 'Vandy', | ||
'billToStreet1' => '123,ParkStreet', | ||
'billToStreet2' => 'Park Street', | ||
'billToCity' => 'Mumbai', | ||
'billToState' => 'Maharashtra', | ||
'billtoPostalCode' => '400081', | ||
'billToCountry' => 'IN', | ||
'billToEmail' => '[email protected]', | ||
'billToMobileNumber' => '9820998209', | ||
'billToPhoneNumber1' => '', | ||
'billToPhoneNumber2' => '', | ||
'billToPhoneNumber3' => '' | ||
), | ||
'Field_Existence_Indicator_Shipping' => array( | ||
'shipToFirstName' => 'Soloman', | ||
'shipToLastName' => 'Vandy', | ||
'shipToStreet1' => '123ParkStreet', | ||
'shipToStreet2' => 'parkstreet', | ||
'shipToCity' => 'Mumbai', | ||
'shipToState' => 'Maharashtra', | ||
'shipToPostalCode' => '400081', | ||
'shipToCountry' => 'IN', | ||
'shipToPhoneNumber1' => '', | ||
'shipToPhoneNumber2' => '', | ||
'shipToPhoneNumber3' => '', | ||
'shipToMobileNumber' => '9820998209' | ||
), | ||
'Field_Existence_Indicator_Payment' => array( | ||
'cardNumber' => '4111111111111111', // 1. Card Number | ||
'expMonth' => '08', // 2. Expiry Month | ||
'expYear' => '2020', // 3. Expiry Year | ||
'CVV' => '123', // 4. CVV | ||
'cardHolderName' => 'Soloman', // 5. Card Holder Name | ||
'cardType' => 'Visa', // 6. Card Type | ||
'custMobileNumber'=> '9820998209', // 7. Customer Mobile Number | ||
'paymentID' => '123456', // 8. Payment ID | ||
'OTP' => '123456', // 9. OTP field | ||
'gatewayID' => '1026', // 10.Gateway ID | ||
'cardToken' => '1202' // 11.Card Token | ||
), | ||
'Field_Existence_Indicator_Merchant' => | ||
array( | ||
'UDF1' => '115.121.181.112', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF2' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF3' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF4' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF5' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF6' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF7' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF8' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF9' => 'abc', // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
'UDF10' => 'abc' // This is a ‘user-defined field’ that can be used to send additional information about the transaction. | ||
), | ||
'Field_Existence_Indicator_OtherData' => | ||
array( | ||
'custID' => '12345', | ||
'transactionSource' => 'IVR', | ||
'productInfo' => 'Book', | ||
'isUserLoggedIn' => 'Y', | ||
'itemTotal' => '500.00, 1000.00', | ||
'itemCategory' => 'CD, Book', | ||
'ignoreValidationResult' => 'FALSE' | ||
), | ||
'Field_Existence_Indicator_DCC' => | ||
array( | ||
'DCCReferenceNumber' => '09898787', // DCC Reference Number | ||
'foreignAmount' => '240.00', // Foreign Amount | ||
'ForeignCurrency' => 'USD' // Foreign Currency | ||
) | ||
); | ||
$networkOnlineObject = new NetworkonlieBitmapPaymentIntegration($networkOnlineArray); | ||
if(isset($_REQUEST['responseParameter']) && $_REQUEST['responseParameter'] != ''){ | ||
$response = $networkOnlineObject->decryptData($_REQUEST['responseParameter'],$networkOnlineObject->merchantKey,$networkOnlineObject->iv); | ||
$networkOnlineObject->AddLog('Network Online Response : '.print_r($response, TRUE),'16'); | ||
} | ||
$requestParameter = $networkOnlineObject->NeoPostData; | ||
// if($networkOnlineObject->url) | ||
// $requestUrl = 'https://www.timesofmoney.com/direcpay/secure/PaymentTxnServlet'; | ||
// else | ||
$requestUrl = 'https://staging.bayanpay.sa/direcpay/secure/PaymentTxnServlet'; | ||
echo '<form action="'.$requestUrl.'" method="post" name="network_online_payment" | ||
id="network_online_payment"> | ||
<input type="hidden" name="requestParameter" value='.$requestParameter.'> | ||
<input type="submit" value="Submit"> | ||
</form>'; | ||
} | ||
function baseurl(){ | ||
if(isset($_SERVER['HTTPS'])) | ||
$protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http"; | ||
else | ||
$protocol = 'http'; | ||
return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; | ||
} | ||
} | ||
\ No newline at end of file | ||
$res = $this->Validation_model->validation_check($method, $data); | ||
if($res['state'] == 1) { | ||
$this->errorResponse($res['response']['code'], $res['response']['message']); | ||
die; | ||
} | ||
} | ||
public function index() { | ||
$res = $this->Validation_model->validation_check('login',array('email_id'=>'adarsh')); | ||
} | ||
public function response($data) { | ||
$result = array( | ||
'code' => 1, | ||
'message' => 'Success', | ||
'responseResult' =>$data | ||
); | ||
print json_encode($result); | ||
} | ||
public function errorResponse($errorCode, $errorDesc) { | ||
$result = array( | ||
'code' => 0, | ||
'message' => 'Failure', | ||
'errorCode'=> $errorCode, | ||
'errorDesc'=> $errorDesc | ||
); | ||
print json_encode($result); | ||
} | ||
public function login(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->login($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function register(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->register($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function forgot(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$res = $this->Api_model->forgot($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function popular() { | ||
$res = $this->Api_model->popular(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function category() { | ||
$res = $this->Api_model->category(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function locality() { | ||
$res = $this->Api_model->locality(); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function favourite(){ | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->favourite($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function favouritelist() { | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->favouritelist($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function bookedlist() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->bookedlist($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function bookingdetails() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->bookingdetails($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function cancel() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->cancel($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function confirm() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->confirm($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function userinfo() { | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->userinfo($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function profile() { | ||
$data = $_POST; | ||
if(isset($_FILES['profile_picture'])) { | ||
$data['file'] = $_FILES['profile_picture']; | ||
} | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->update_profile($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function tempbooking() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->tempbooking($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function recommend() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->recommend($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function discover() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
//$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->discover($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function event() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
//$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->event($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function search() { | ||
$data = (array) json_decode(file_get_contents('php://input')); | ||
//$data['auth_token'] = $this->auth_token; | ||
$res = $this->Api_model->search($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function searchEvent($str = null) { | ||
$data['str'] = $str; | ||
$res = $this->Api_model->searchEvent($data); | ||
if($res['status']!=0){ | ||
$this->response($res['data']); | ||
} | ||
else{ | ||
$this->errorResponse($res['code'],$res['message']); | ||
} | ||
} | ||
public function payNow($auth_token='',$amount=0,$booking_id='',$event_id=''){ | ||
if(empty($auth_token) || empty($amount) || empty($booking_id)){ | ||
redirect('http://localhost:4200/failure'); | ||
} | ||
$payData = array('auth_token'=>$auth_token,'amount'=>$amount,'booking_id'=>$booking_id); | ||
$res = $this->Api_model->payNow($payData); | ||
if($res['status']==1){ | ||
$this->paymentGateway($amount,$res['transaction_id'],$event_id,$booking_id); | ||
} | ||
else{ | ||
redirect('http://localhost:4200/failure?event_id='.$eventid); | ||
} | ||
} | ||
public function paymentSuccessUrl(){ | ||
$response = ''; | ||
$transaction_id = ''; | ||
BayanPayPayment(); | ||
$BayanPayArray = $this->bayanPayArray('0','0','0','0'); | ||
$BayanPayOnlineObject = new BayanPayBitmapPaymentIntegration($BayanPayArray); | ||
if(isset($_REQUEST['responseParameter']) && $_REQUEST['responseParameter'] != ''){ | ||
$response = $BayanPayOnlineObject->decryptData($_REQUEST['responseParameter'],$BayanPayOnlineObject->merchantKey,$BayanPayOnlineObject->iv); | ||
$ref_id = explode('|',$response['Transaction_related_information']); | ||
$transaction_id = $ref_id[1]; | ||
$last_id = explode('|',$response['Merchant_Information']); | ||
$lastid = $last_id[1]; | ||
$eventid = $last_id[2]; | ||
$booking_id = $last_id[3]; | ||
$this->Api_model->update_payment($response,$transaction_id,$lastid,'1') ; | ||
redirect('http://localhost:4200/bookingdetails?booking_id='.$booking_id); | ||
} | ||
} | ||
public function paymentFailureUrl(){ | ||
$lastid = ''; | ||
$response = ''; | ||
$transaction_id = ''; | ||
BayanPayPayment(); | ||
$BayanPayArray = $this->bayanPayArray('0','0','0','0'); | ||
$BayanPayOnlineObject = new BayanPayBitmapPaymentIntegration($BayanPayArray); | ||
if(isset($_REQUEST['responseParameter']) && $_REQUEST['responseParameter'] != ''){ | ||
$response = $BayanPayOnlineObject->decryptData($_REQUEST['responseParameter'],$BayanPayOnlineObject->merchantKey,$BayanPayOnlineObject->iv); | ||
$ref_id = explode('|',$response['Transaction_related_information']); | ||
$transaction_id = $ref_id[1]; | ||
$last_id = explode('|',$response['Merchant_Information']); | ||
$lastid = $last_id[1]; | ||
$eventid = $last_id[2]; | ||
$booking_id = $last_id[3]; | ||
$this->Api_model->update_payment($response,$transaction_id,$lastid,'0'); | ||
redirect('http://localhost:4200/failure?event_id='.$eventid); | ||
} | ||
} | ||
public function paymentGateway($amount='0',$lastid='0',$event_id='0',$booking_id='0'){ | ||
BayanPayPayment(); | ||
$BayanPayArray = $this->bayanPayArray($amount,$lastid,$event_id,$booking_id); | ||
$BayanPayOnlineObject = new BayanPayBitmapPaymentIntegration($BayanPayArray); | ||
$requestParameter = $BayanPayOnlineObject->BayanPostData; | ||
if($BayanPayOnlineObject->url){ | ||
$requestUrl = 'https://payments.bayanpay.sa/direcpay/secure/PaymentTxnServlet'; | ||
} | ||
else{ | ||
$requestUrl = 'https://staging.bayanpay.sa/direcpay/secure/PaymentTxnServlet'; | ||
} | ||
$this->load->view('payment/payment',array('requestUrl'=>$requestUrl, | ||
'requestParameter'=>$requestParameter)); | ||
} | ||
function baseurl(){ | ||
if(isset($_SERVER['HTTPS'])) | ||
$protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http"; | ||
else | ||
$protocol = 'http'; | ||
return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; | ||
} | ||
function bayanPayArray($amount = '0',$lastid='',$event_id='',$booking_id=''){ | ||
$BayanPayArray = | ||
array( | ||
'BayanPay_Online_setting' => array( | ||
'merchantKey' => "+Hu4bL6iVk943JmFAvGtWEYMODFry4fad2I+iM0X2m0=", | ||
'merchantId' => '201901291000002', | ||
'collaboratorId' => 'BAYANPAY', | ||
'iv' => '0123456789abcdef', | ||
'url' => false// Set to false if you are using testing environment , set to true if you are using live environment | ||
), | ||
'Block_Existence_Indicator' => array( | ||
'transactionDataBlock' => true, | ||
'billingDataBlock' => true, | ||
'shippingDataBlock' => true, | ||
'paymentDataBlock' => false, | ||
'merchantDataBlock' => true, | ||
'otherDataBlock' => false, | ||
'DCCDataBlock' => false | ||
), | ||
'Field_Existence_Indicator_Transaction' => array( | ||
'merchantOrderNumber' => time(), | ||
'amount' => $amount, | ||
'successUrl' => base_url('Api/paymentSuccessUrl'), | ||
'failureUrl' => base_url('Api/paymentFailureUrl'), | ||
'transactionMode' => 'INTERNET', | ||
'payModeType' => 'CC', | ||
'transactionType' => '01', | ||
'currency' => 'SAR' | ||
), | ||
'Field_Existence_Indicator_Billing' => array( | ||
'billToFirstName' => 'Soloman', | ||
'billToLastName' => 'Vandy', | ||
'billToStreet1' => '123,ParkStreet', | ||
'billToStreet2' => 'Park Street', | ||
'billToCity' => 'Riyadh', | ||
'billToState' => 'Riyadh', | ||
'billtoPostalCode' => '400081', | ||
'billToCountry' => 'IN', | ||
'billToEmail' => '[email protected]', | ||
'billToMobileNumber' => '9820998209', | ||
'billToPhoneNumber1' => '', | ||
'billToPhoneNumber2' => '', | ||
'billToPhoneNumber3' => '' | ||
), | ||
'Field_Existence_Indicator_Shipping' => array( | ||
'shipToFirstName' => 'Soloman', | ||
'shipToLastName' => 'Vandy', | ||
'shipToStreet1' => '123ParkStreet', | ||
'shipToStreet2' => 'parkstreet', | ||
'shipToCity' => 'Riyadh', | ||
'shipToState' => 'Riyadh', | ||
'shipToPostalCode' => '400081', | ||
'shipToCountry' => 'IN', | ||
'shipToPhoneNumber1' => '', | ||
'shipToPhoneNumber2' => '', | ||
'shipToPhoneNumber3' => '', | ||
'shipToMobileNumber' => '9820998209' | ||
), | ||
'Field_Existence_Indicator_Payment' => array( | ||
'cardNumber' => '4111111111111111', // 1. Card Number | ||
'expMonth' => '08', // 2. Expiry Month | ||
'expYear' => '2020', // 3. Expiry Year | ||
'CVV' => '123', // 4. CVV | ||
'cardHolderName' => 'Soloman', // 5. Card Holder Name | ||
'cardType' => 'Visa', // 6. Card Type | ||
'custMobileNumber' => '9820998209', // 7. Customer Mobile Number | ||
'paymentID' => '123456', // 8. Payment ID | ||
'OTP' => '123456', // 9. OTP field | ||
'gatewayID' => '1026', // 10.Gateway ID | ||
'cardToken' => '1202' // 11.Card Token | ||
), | ||
'Field_Existence_Indicator_Merchant' => array( | ||
'UDF1' => $lastid, | ||
'UDF2' => $event_id, | ||
'UDF3' => $booking_id | ||
), | ||
'Field_Existence_Indicator_OtherData' => array( | ||
'custID' => '12345', | ||
'transactionSource' => 'IVR', | ||
'productInfo' => 'Book', | ||
'isUserLoggedIn' => 'Y', | ||
'itemTotal' => '500.00, 1000.00', | ||
'itemCategory' => 'CD, Book', | ||
'ignoreValidationResult'=> 'FALSE' | ||
), | ||
'Field_Existence_Indicator_DCC' => array( | ||
'DCCReferenceNumber' => '09898787', // DCC Reference Number | ||
'foreignAmount' => '240.00', // Foreign Amount | ||
'ForeignCurrency' => 'USD' // Foreign Currency | ||
) | ||
); | ||
return $BayanPayArray; | ||
} | ||
} | ||
?> | ||
\ No newline at end of file |
application/views/payment/payment.php
0 → 100644
Please
register
or
sign in
to comment