my_parent_controller(); $this->load->model("event_model"); $this->load->model("user_model"); } public function send_payment_request() { $event = json_decode(get_cookie($this->config->item('sess_cookie_name').'_event_data')); $event_details = (array)$this->event_model->event_details($event->event_id); $event_details = array_merge($event_details, ["seats_reserved" => $event->seats_reserved]); $user_iban = $this->user_model->get_user_iban($this->session->userdata('logged_in')['user_id']); $apiData = json_encode([ 'Autorization' => $_SESSION['user_token'], 'montant' => $event_details['event_rate'], 'app' => "cpay", 'iban' => $user_iban, 'cle' => 'sk_test_51HfABCDEF1234567890qwertyuio98765lkjhgfdsazxcvbnm', 'action' => "make_payment", 'motif' => 'Achat cous xxx ohatra' ]); // Prepare HTTP headers $httpHeaders = [ "Content-Type: application/json", // Ensure the API interprets the request correctly "Content-Length: " . strlen($apiData), // Set Content-Length for php://input "authority: secure.c4m.mg", "cache-control: max-age=0", "upgrade-insecure-requests: 1", "user-agent: " . ($_SERVER['HTTP_USER_AGENT'] ?? 'Unknown'), "sec-fetch-user: ?1", "accept-language: en-US,en;q=0.9" ]; // Initialize cURL $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.c-pay.me/', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $apiData, // Send data via php://input CURLOPT_HTTPHEADER => $httpHeaders, CURLOPT_SSL_VERIFYPEER => false, // Disable SSL peer verification CURLOPT_SSL_VERIFYHOST => 0 // Disable SSL host verification ]); $response1 = curl_exec($curl); $response = json_decode($response1, true); $err = curl_error($curl); curl_close($curl); dd($response); if ($response['status'] !== "error") { echo json_encode([ 'status' => 'success', 'redirect' => 'otp_verification' ]); } } public function confirm_payment() { $event = json_decode(get_cookie($this->config->item('sess_cookie_name').'_event_data')); $event_details = (array)$this->event_model->event_details($event->event_id); $event_details = array_merge($event_details, ["seats_reserved" => $event->seats_reserved]); $user_iban = $this->user_model->get_user_iban($this->session->userdata('logged_in')['user_id']); $otp_code = $this->input->post('otp'); $apiData = json_encode([ 'Autorization' => $_SESSION['user_token'], 'montant' => $event_details['event_rate'], 'app' => "cpay", 'iban' => $user_iban, 'cle' => 'sk_test_51HfABCDEF1234567890qwertyuio98765lkjhgfdsazxcvbnm', 'action' => "make_payment", 'motif' => 'achat' . $event_details['event_rate'], 'code' => $otp_code ]); // Prepare HTTP headers $httpHeaders = [ "Content-Type: application/json", // Ensure the API interprets the request correctly "Content-Length: " . strlen($apiData), // Set Content-Length for php://input "authority: secure.c4m.mg", "cache-control: max-age=0", "upgrade-insecure-requests: 1", "user-agent: " . ($_SERVER['HTTP_USER_AGENT'] ?? 'Unknown'), "sec-fetch-user: ?1", "accept-language: en-US,en;q=0.9" ]; // Initialize cURL $curl = curl_init(); curl_setopt_array($curl, [ CURLOPT_URL => 'https://api.c-pay.me/', CURLOPT_RETURNTRANSFER => true, CURLOPT_ENCODING => "", CURLOPT_MAXREDIRS => 10, CURLOPT_TIMEOUT => 0, CURLOPT_FOLLOWLOCATION => true, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, CURLOPT_CUSTOMREQUEST => "POST", CURLOPT_POSTFIELDS => $apiData, // Send data via php://input CURLOPT_HTTPHEADER => $httpHeaders, CURLOPT_SSL_VERIFYPEER => false, // Disable SSL peer verification CURLOPT_SSL_VERIFYHOST => 0 // Disable SSL host verification ]); $response1 = curl_exec($curl); $response = json_decode($response1, true); dd($response); $err = curl_error($curl); curl_close($curl); if($response['status'] !== 'error') { echo json_encode([ 'status' => 'success', ]); } } /** * Create payment intent API */ // public function create () { // $event = json_decode(get_cookie($this->config->item('sess_cookie_name').'_event_data')); // $event_details = (array)$this->event_model->event_details($event->event_id); // $event_details = array_merge($event_details, ["seats_reserved" => $event->seats_reserved]); // $user_iban = $this->user_model->get_user_iban($this->session->userdata('logged_in')['user_id']); // if($event->booking->workshop_session =='DISTANCE-PRESENTIEL') { // $ncp = json_decode($event_details['night_class_prices']); // if($event->booking->session_type == 'soir-presentiel') { // $event_details['discount_apply'] = $ncp->presentiel->discount_apply; // $event_details['event_rate'] = $ncp->presentiel->rate; // } else { // $event_details['discount_apply'] = $ncp->distance->discount_apply; // $event_details['event_rate'] = $ncp->distance->rate; // } // Stripe setup // $stripePayment = new StripePayment(); // // Total amount calculation // if(UserAuth::isPremium() == true && $event->event_id == EVENT_ID) { // $event_details['discount_percent'] = 5; // $event_details['subtotal_amount'] = ($event_details['event_rate'] - 5) * $event_details['seats_reserved']; // $event_details['service_charge'] = 0; // $event_details['total_amount'] = $event_details['subtotal_amount'] + $event_details['service_charge']; // } else { // $discount = 0; // if(UserAuth::isPremium() == true) { // $discount = $event_details['discount_apply']; // } // $event_details['discount_percent'] = $discount; // $event_details['subtotal_amount'] = ($event_details['event_rate'] - $discount) * $event_details['seats_reserved']; // $event_details['service_charge'] = 0; // $event_details['total_amount'] = $event_details['subtotal_amount'] + $event_details['service_charge']; // } // // Create stripe paymentIntent // $paymentIntent = $stripePayment->createPaymentIntent([ // 'amount' => $event_details['total_amount'] * 100, // 'currency' => 'EUR', // 'payment_method_types' => ['card'], // // Store important info in metadata // 'metadata' => [ // 'event_id' => $event->event_id, // 'event_rate' => $event_details['event_rate'], // 'seats_reserved' => $event_details['seats_reserved'], // 'service_charge' => $event_details['service_charge'], // 'discount_percent' => $event_details['discount_percent'], // 'total_amount' => $event_details['total_amount'], // 'user_id' => $this->session->userdata('logged_in')['user_id'], // 'login_id' => $this->session->userdata('logged_in')['login_id'], // 'booking' => json_encode($event->booking), // 'formData' => json_encode($this->input->post()) // ], // ]); // output_to_json($this, json_encode($paymentIntent)); // } // } }