else if($planDetails[0]->payment_gateway == 'Clickpay'){ $res_urll = json_decode($this->clickpay_lib->checkout_reccuring($CS_ID, $PlanPrice, $plan->Plan_Name_en, $plan->Plan_ID,$cusumerDetiles[0], $planDetails[0]->custid,$planDetails[0]->ref)); // print_r($res_urll); exit; // $status = $res_url[0]->status; $reference_id = $res_urll->tran_ref; $refrence = array( 'CS_ID' => $CS_ID, 'Payment_Reference' => $reference_id ); $this->customers->updateSubscribtionRefrence($refrence); // if ($status == 1) { $res_ = json_decode($this->clickpay_lib->VerifyPaymentReccuring($planDetails[0]->custid)); $tran_ref =$res_->tran_ref; if($tran_ref != ''){ $res_url = json_decode($this->clickpay_lib->VerifyPayment($reference_id)); // print_r($res_url); exit; $transaction = $this->cronjob->getDetailsOrderByTrackID($reference_id); $transactionNo = $transaction->CS_ID; $response_status = $res_url->payment_result->response_status; // $result = $res_url[0]->result; if($response_status == 'A' /*&& $response_code == 'G25346'*/){ $refrence = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 2 ); $refrence_update = $this->customers->updateSubscribtionReccured($refrence); $data = array( 'CS_ID' => $transactionNo, 'Payment_Verified' => 1, ); $verifiy_subscribtion = $this->customers->updateSubscribtionByRefrenceByTrackID($data); // Get Plan detiles $plan_detiles_fianl = $this->customers->getSubscriptionByRefrenceByTrackID($transactionNo); $planDetailsFinal = json_decode($plan_detiles_fianl[0]->DetailsPlan); $plan_id = $planDetailsFinal[0]->Plan_ID; $customer_id = $plan_detiles_fianl[0]->Customer_ID; $Code = $planDetailsFinal[0]->promoCode; $promoCode = $planDetailsFinal[0]->promoCodeId; $DiscountType = $planDetailsFinal[0]->DiscountType; $DiscountValue = $planDetailsFinal[0]->DiscountValue; $Plan_Price_Final = $planDetailsFinal[0]->Plan_Price_Final; // $payment_method = $planDetails[0]->payment_method; $final_price_before_vat = $planDetailsFinal[0]->value_vat; $is_recurring_payment = $planDetailsFinal[0]->is_recurring_payment; $check_plan = $this->home_model->getSubscriptionPlansCustomer($customer_id, $plan_id); $customers = $this->home_model->getCustomerByID($customer_id); // Get Plan Detiles $plan_final = $this->customers->getSubscriptionPlans($plan_id); // Calculate expiration date $expirey_date = $plan_final[0]->Plan_ExpiresDate; $Subscription_start_date = ''; if (count($check_plan) > 0) { $Expires_At_Last = $check_plan[0]->Expires_At; // Calculate expiration date if ($plan_final[0]->DurationType == 'duration') { $dTypes = array("w" => "weeks", "m" => "months", "y" => "year"); $duration = explode("-", $plan_final[0]->Plan_Duration); if ($dTypes[$duration[0]] == 'months') { $days = $duration[1] * 30; } else if ($dTypes[$duration[0]] == 'year') { $days = $duration[1] * 365; } else if ($dTypes[$duration[0]] == 'weeks') { $days = $duration[1] * 7; } $start_date = date("Y-m-d H:i:s", strtotime("+" . $days . ' days')); $expirey_date = date('Y-m-d H:i:s', strtotime($Expires_At_Last . " +" . $days . ' days')); // $start_date = date("Y-m-d", strtotime("+".$duration[1]." ".$dTypes[$duration[0]])); // $expirey_date = date('Y-m-d', strtotime($Expires_At_Last. " +".$duration[1]." ".$dTypes[$duration[0]])); } $Subscription_start_date = $Expires_At_Last; } else { // Calculate expiration date if ($plan_final[0]->DurationType == 'duration') { $dTypes = array("w" => "weeks", "m" => "months", "y" => "year"); $duration = explode("-", $plan_final[0]->Plan_Duration); if ($dTypes[$duration[0]] == 'months') { $days = $duration[1] * 30; } else if ($dTypes[$duration[0]] == 'year') { $days = $duration[1] * 365; } else if ($dTypes[$duration[0]] == 'weeks') { $days = $duration[1] * 7; } // $expirey_date = date("Y-m-d", strtotime("+".$duration[1]." ".$dTypes[$duration[0]])); $expirey_date = date("Y-m-d H:i:s", strtotime("+" . $days . ' days')); $Subscription_start_date = date('Y-m-d H:i:s'); } } $expYear = $res_url->payment_info->expiryYear; $expMonth = $res_url->payment_info->expiryMonth; $card = $res_url->payment_info->payment_method; $Plan_Price = $plan_final[0]->Plan_Price_Final + ($plan_final[0]->Plan_Price_Final * ('0.' . $wbs[0]->VAT)); $transId = $res_url->trace; $all_date = array(); $detailsArray['Plan_ID'] = $plan_id; $detailsArray['Plan_Price'] = $plan_final[0]->Plan_Price; $detailsArray['Plan_Price_Final'] = $Plan_Price_Final; $detailsArray['PlanTypeDiscount'] = $plan_final[0]->PlanTypeDiscount; $detailsArray['PlanPriceDiscountAmount'] = $plan_final[0]->PlanPriceDiscountAmount; $detailsArray['PlanPriceDiscountPercent'] = $plan_final[0]->PlanPriceDiscountPercent; $detailsArray['promoCodeId'] = $promoCode; $detailsArray['promoCode'] = $Code; $detailsArray['DiscountType'] = $DiscountType; $detailsArray['DiscountValue'] = $DiscountValue; $detailsArray['date_today'] = date('Y-m-d H:i:s'); $detailsArray['EventNo'] = $plan_final[0]->EventNo; $detailsArray['SchoolNo'] = $plan_final[0]->SchoolNo; $detailsArray['Plan_Type'] = $plan_final[0]->Plan_Type; $detailsArray['Plan_Duration'] = $plan_final[0]->Plan_Duration; $detailsArray['Events'] = $plan_final[0]->Events; $detailsArray['Plan_ExpiresDate'] = $expirey_date; $detailsArray['payment_gateway'] = $planDetailsFinal[0]->payment_gateway; $detailsArray['payment_method'] = $card; $detailsArray['transId'] = "$transId"; $detailsArray['ref'] = $res_url->tran_ref; $detailsArray['VAT'] = $wbs[0]->VAT; $detailsArray['value_vat'] = $final_price_before_vat; $detailsArray['expYear'] = $expYear; $detailsArray['expMonth'] = $expMonth; $detailsArray['card'] = $card; $detailsArray['custid'] = $res_url->token; array_push($all_date, $detailsArray); // Set Subscribtion Detiles $data = array( 'Customer_ID' => $plan->Customer_ID, 'Plan_ID' => $plan_id, 'Balance' => round($final_balance), 'Starts_At' => date('Y-m-d H:i:s'), 'Expires_At' => $expirey_date, 'Subscription_start_date' => $Subscription_start_date, 'Schools_Balance' => $plan_final[0]->SchoolNo, 'Events_Balance' => $plan_final[0]->EventNo, 'CS_ID_History' => $transactionNo, 'is_recurring_payment' => 1, 'Auto_renewal' => 1, 'DetailsPlan' => json_encode($all_date), ); $result01 = $this->customers->addSubscribtionPlan($data); $data_invoice = array( "detail_order_id" => $result01, "invoice_status" => 1 ); if ($result01) { //$this->session->set_flashdata('requestMsgSucc', 121); $this->home_model->addInvoice($data_invoice); if ($promoCode != '' && $promoCode != 0) { $datapromoUsag = array( "Customer_ID" => $customer_id, "PromoCode_ID" => $promoCode, "Order_ID" => $result01 ); $promoCodeId = $this->home_model->insertpromoCodeUsage($datapromoUsag); } $event_no = $plan_final[0]->Events; $Plan_Name_ar = $plan_final[0]->Plan_Name_ar; $Fullname = $customers->Fullname; $this->send_notification_reccuring($customers->Customer_ID, $event_no, $Plan_Name_ar, $Fullname); $this->_SendVerificationEmail($customers->Email, $customers->Fullname, $customers->Customer_ID, $plan_final[0]->Plan_ID); $this->_SendVerificationEmailAdmin($customers->Email, $customers->Fullname, $customers->Customer_ID, $plan_final[0]->Plan_ID); } } else { $data = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 3, ); $verifiy_subscribtion = $this->customers->updateSubscribtionisRecurringPayment($data); $this->_SendVerificationEmailFailure($row->Email, $row->Fullname, $row->Customer_ID, $row->Plan_ID); } } /* } else { $data = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 3, ); $verifiy_subscribtion = $this->customers->updateSubscribtionisRecurringPayment($data); $this->_SendVerificationEmailFailure($row->Email, $row->Fullname, $row->Customer_ID, $row->Plan_ID); }*/ } else if($planDetails[0]->payment_gateway == 'Hyperpay'){ $res_urll = json_decode($this->hyperpay_lib->HyperPayCheckOutReccuringCronjob($PlanPrice,$planDetails[0]->custid)); print_r($res_urll); exit; // $status = $res_url[0]->status; $reference_id = $res_urll->id; $refrence = array( 'CS_ID' => $CS_ID, 'Payment_Reference' => $reference_id ); $this->customers->updateSubscribtionRefrence($refrence); $code = $res_urll->result->code; // if ($status == 1) { // $res_ = json_decode($this->clickpay_lib->VerifyPaymentReccuring($planDetails[0]->custid)); // $tran_ref =$res_->tran_ref; // $res_url = json_decode($this->clickpay_lib->VerifyPayment($reference_id)); // print_r($res_url); exit; $transaction = $this->cronjob->getDetailsOrderByTrackID($reference_id); $transactionNo = $transaction->CS_ID; // $response_status = $res_url->payment_result->response_status; // $result = $res_url[0]->result; if (preg_match('/^(000\.000\.|000\.100\.1|000\.[36])/', $code)) { $refrence = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 2 ); $refrence_update = $this->customers->updateSubscribtionReccured($refrence); $data = array( 'CS_ID' => $transactionNo, 'Payment_Verified' => 1, ); $verifiy_subscribtion = $this->customers->updateSubscribtionByRefrenceByTrackID($data); // Get Plan detiles $plan_detiles_fianl = $this->customers->getSubscriptionByRefrenceByTrackID($transactionNo); $planDetailsFinal = json_decode($plan_detiles_fianl[0]->DetailsPlan); $plan_id = $planDetailsFinal[0]->Plan_ID; $customer_id = $plan_detiles_fianl[0]->Customer_ID; $Code = $planDetailsFinal[0]->promoCode; $promoCode = $planDetailsFinal[0]->promoCodeId; $DiscountType = $planDetailsFinal[0]->DiscountType; $DiscountValue = $planDetailsFinal[0]->DiscountValue; $Plan_Price_Final = $planDetailsFinal[0]->Plan_Price_Final; // $payment_method = $planDetails[0]->payment_method; $final_price_before_vat = $planDetailsFinal[0]->value_vat; $is_recurring_payment = $planDetailsFinal[0]->is_recurring_payment; $check_plan = $this->home_model->getSubscriptionPlansCustomer($customer_id, $plan_id); $customers = $this->home_model->getCustomerByID($customer_id); // Get Plan Detiles $plan_final = $this->customers->getSubscriptionPlans($plan_id); // Calculate expiration date $expirey_date = $plan_final[0]->Plan_ExpiresDate; $Subscription_start_date = ''; if (count($check_plan) > 0) { $Expires_At_Last = $check_plan[0]->Expires_At; // Calculate expiration date if ($plan_final[0]->DurationType == 'duration') { $dTypes = array("w" => "weeks", "m" => "months", "y" => "year"); $duration = explode("-", $plan_final[0]->Plan_Duration); if ($dTypes[$duration[0]] == 'months') { $days = $duration[1] * 30; } else if ($dTypes[$duration[0]] == 'year') { $days = $duration[1] * 365; } else if ($dTypes[$duration[0]] == 'weeks') { $days = $duration[1] * 7; } $start_date = date("Y-m-d H:i:s", strtotime("+" . $days . ' days')); $expirey_date = date('Y-m-d H:i:s', strtotime($Expires_At_Last . " +" . $days . ' days')); // $start_date = date("Y-m-d", strtotime("+".$duration[1]." ".$dTypes[$duration[0]])); // $expirey_date = date('Y-m-d', strtotime($Expires_At_Last. " +".$duration[1]." ".$dTypes[$duration[0]])); } $Subscription_start_date = $Expires_At_Last; } else { // Calculate expiration date if ($plan_final[0]->DurationType == 'duration') { $dTypes = array("w" => "weeks", "m" => "months", "y" => "year"); $duration = explode("-", $plan_final[0]->Plan_Duration); if ($dTypes[$duration[0]] == 'months') { $days = $duration[1] * 30; } else if ($dTypes[$duration[0]] == 'year') { $days = $duration[1] * 365; } else if ($dTypes[$duration[0]] == 'weeks') { $days = $duration[1] * 7; } // $expirey_date = date("Y-m-d", strtotime("+".$duration[1]." ".$dTypes[$duration[0]])); $expirey_date = date("Y-m-d H:i:s", strtotime("+" . $days . ' days')); $Subscription_start_date = date('Y-m-d H:i:s'); } } // $expYear = $res_url->payment_info->expiryYear; // $expMonth = $res_url->payment_info->expiryMonth; // $card = $res_url->payment_info->payment_method; $Plan_Price = $plan_final[0]->Plan_Price_Final + ($plan_final[0]->Plan_Price_Final * ('0.' . $wbs[0]->VAT)); $transId = $res_url->trace; $all_date = array(); $detailsArray['Plan_ID'] = $plan_id; $detailsArray['Plan_Price'] = $plan_final[0]->Plan_Price; $detailsArray['Plan_Price_Final'] = $Plan_Price_Final; $detailsArray['PlanTypeDiscount'] = $plan_final[0]->PlanTypeDiscount; $detailsArray['PlanPriceDiscountAmount'] = $plan_final[0]->PlanPriceDiscountAmount; $detailsArray['PlanPriceDiscountPercent'] = $plan_final[0]->PlanPriceDiscountPercent; $detailsArray['promoCodeId'] = $promoCode; $detailsArray['promoCode'] = $Code; $detailsArray['DiscountType'] = $DiscountType; $detailsArray['DiscountValue'] = $DiscountValue; $detailsArray['date_today'] = date('Y-m-d H:i:s'); $detailsArray['EventNo'] = $plan_final[0]->EventNo; $detailsArray['SchoolNo'] = $plan_final[0]->SchoolNo; $detailsArray['Plan_Type'] = $plan_final[0]->Plan_Type; $detailsArray['Plan_Duration'] = $plan_final[0]->Plan_Duration; $detailsArray['Events'] = $plan_final[0]->Events; $detailsArray['Plan_ExpiresDate'] = $expirey_date; $detailsArray['payment_gateway'] = $planDetailsFinal[0]->payment_gateway; $detailsArray['payment_method'] = $card; // $detailsArray['transId'] = "$transId"; //$detailsArray['ref'] = $res_url->tran_ref; $detailsArray['VAT'] = $wbs[0]->VAT; $detailsArray['value_vat'] = $final_price_before_vat; // $detailsArray['expYear'] = $expYear; // $detailsArray['expMonth'] = $expMonth; // $detailsArray['card'] = $card; $detailsArray['custid'] = $planDetails[0]->custid; array_push($all_date, $detailsArray); // Set Subscribtion Detiles $data = array( 'Customer_ID' => $plan->Customer_ID, 'Plan_ID' => $plan_id, 'Balance' => round($final_balance), 'Starts_At' => date('Y-m-d H:i:s'), 'Expires_At' => $expirey_date, 'Subscription_start_date' => $Subscription_start_date, 'Schools_Balance' => $plan_final[0]->SchoolNo, 'Events_Balance' => $plan_final[0]->EventNo, 'CS_ID_History' => $transactionNo, 'is_recurring_payment' => 1, 'Auto_renewal' => 1, 'DetailsPlan' => json_encode($all_date), ); $result01 = $this->customers->addSubscribtionPlan($data); $data_invoice = array( "detail_order_id" => $result01, "invoice_status" => 1 ); if ($result01) { //$this->session->set_flashdata('requestMsgSucc', 121); $this->home_model->addInvoice($data_invoice); if ($promoCode != '' && $promoCode != 0) { $datapromoUsag = array( "Customer_ID" => $customer_id, "PromoCode_ID" => $promoCode, "Order_ID" => $result01 ); $promoCodeId = $this->home_model->insertpromoCodeUsage($datapromoUsag); } $event_no = $plan_final[0]->Events; $Plan_Name_ar = $plan_final[0]->Plan_Name_ar; $Fullname = $customers->Fullname; $this->send_notification_reccuring($customers->Customer_ID, $event_no, $Plan_Name_ar, $Fullname); $this->_SendVerificationEmail($customers->Email, $customers->Fullname, $customers->Customer_ID, $plan_final[0]->Plan_ID); $this->_SendVerificationEmailAdmin($customers->Email, $customers->Fullname, $customers->Customer_ID, $plan_final[0]->Plan_ID); } } else { $data = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 3, ); $verifiy_subscribtion = $this->customers->updateSubscribtionisRecurringPayment($data); $this->_SendVerificationEmailFailure($row->Email, $row->Fullname, $row->Customer_ID, $row->Plan_ID); } // } /* } else { $data = array( 'CS_ID' => $row->CS_ID, 'is_recurring_payment' => 3, ); $verifiy_subscribtion = $this->customers->updateSubscribtionisRecurringPayment($data); $this->_SendVerificationEmailFailure($row->Email, $row->Fullname, $row->Customer_ID, $row->Plan_ID); }*/ } entityId=8ac7a4c772cca0460172d561eef50ef9&amount=198¤cy=SAR&paymentBrand=VISA&paymentType=DB&merchantTransactionId=34995&customer.email=a7.y.q@hotmail.com&billing.street1=Riyadh&billing.city=Riyadh&billing.state=Riyadh&billing.country=SA&billing.postcode=11246&customer.givenName=المبرمج احمد تست&customer.surname=المبرمج احمد تست&standingInstruction.mode=INITIAL&standingInstruction.source=CIT&standingInstruction.type=UNSCHEDULED&createRegistration=true