uawdijnntqw1x1x1
IP : 216.73.216.145
Hostname : panel.codeskitter.com
Kernel : Linux panel.codeskitter.com 6.8.0-100-generic #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026 x86_64
Disable Function : apache_child_terminate, apache_note, apache_setenv, define_syslog_variables, dl, link, opcache_get_status, openlog, pcntl_exec, pcntl_fork, pcntl_setpriority, popen, posix_getpwuid, posix_kill, posix_mkfifo, posix_setpgid, posix_setsid, posix_setuid
OS : Linux
PATH:
/
home
/
users
/
unlimited
/
www
/
codeskitter
/
..
/
admin.ondemand.codeskitter.site
/
app
/
Libraries
/
Stripe.php
/
/
<?php namespace App\Libraries; use App\Controllers\BaseController; /* Strip Payments Library v1.0 for codeigniter by Jaydeep Goswami */ /* 1. get_credentials() 2. create_customer($customer_data) 3. construct_event($request_body, $sigHeader, $secret,$tolerance = DEFAULT_TOLERANCE) 4. create_payment_intent($c_data) 5. curl($url, $method = 'GET', $data = []) */ const DEFAULT_TOLERANCE = 300; class Stripe { private $secret_key = ""; private $publishable_key = ""; private $webhook_secret_key = ""; private $currency_code = ""; private $url = ""; function __construct() { helper('url'); helper('form'); helper('function'); $settings = get_settings('payment_gateways_settings', true); $this->secret_key = isset($settings['stripe_secret_key']) ? $settings['stripe_secret_key'] : "sk_test_51LERZeSCiHzi4IW1hODcT6ngl88bSZzN4SHqH58CFKJ7eEQKSzniJTXgVNXFQPXuKfu9pAOYVMOe6UeE2q7hY5J400qllsvrye"; $this->publishable_key = isset($settings['stripe_publishable_key']) ? $settings['stripe_publishable_key'] : "pk_test_51LERZeSCiHzi4IW10a1ecq2n2IqfiHZyvbVM6b4R7ofokfYk6HSSmv4KIjvDsFs8CVezsw50RiSizEswPhSC4SZC00M9HLWZZl"; $this->webhook_secret_key = isset($settings['stripe_webhook_secret_key']) ? $settings['stripe_webhook_secret_key'] : "whsec_fsFzJNGOI2jxtkRFHY27AMWV7Dtglzq4"; $this->currency_code = strtolower($settings['stripe_currency']); $this->url = "https://api.stripe.com/"; } public function get_credentials() { $data['secret_key'] = $this->secret_key; $data['publishable_key'] = $this->publishable_key; $data['webhook_key'] = $this->webhook_secret_key; $data['currency'] = $this->currency_code; $data['url'] = $this->url; return $data; } // Set your secret key. Remember to switch to your live secret key in production. // See your keys here: https://dashboard.stripe.com/apikeys public function create_customer($customer_data) { $create_customer['name'] = $customer_data['name']; $create_customer['address']['line1'] = $customer_data['line1']; $create_customer['address']['postal_code'] = $customer_data['postal_code']; $create_customer['address']['city'] = $customer_data['city']; $url = $this->url . 'v1/customers'; $method = 'POST'; $response = $this->curl($url, $method, $create_customer); $res = json_decode($response['body'], true); return $res; } // public function construct_event($request_body, $sigHeader, $secret, $tolerance = DEFAULT_TOLERANCE) // { // $explode_header = explode(",", $sigHeader); // for ($i = 0; $i < count($explode_header); $i++) { // $data[] = explode("=", $explode_header[$i]); // } // if (empty($data[0][1]) || $data[0][1] == "" || empty($data[1][1]) || $data[1][1] == "") { // $response['error'] = true; // $response['message'] = "Unable to extract timestamp and signatures from header"; // return $response; // } // $timestamp = $data[0][1]; // $signs = $data[1][1]; // $signed_payload = "{$timestamp}.{$request_body}"; // $expectedSignature = hash_hmac('sha256', $signed_payload, $secret); // if ($expectedSignature == $signs) { // if (($tolerance > 0) && (\abs(\time() - $timestamp) > $tolerance)) { // $response['error'] = true; // $response['message'] = "Timestamp outside the tolerance zone"; // return $response; // } else { // return "Matched"; // } // } else { // $response['error'] = true; // $response['message'] = "No signatures found matching the expected signature for payload"; // return $response; // } // } public function construct_event($request_body, $sigHeader, $secret, $tolerance = DEFAULT_TOLERANCE) { $explode_header = explode(",", $sigHeader); for ($i = 0; $i < count($explode_header); $i++) { $data[] = explode("=", $explode_header[$i]); } if (empty($data[0][1]) || $data[0][1] == "" || empty($data[1][1]) || $data[1][1] == "") { $response['error'] = true; $response['message'] = "Unable to extract timestamp and signatures from header"; return $response; } $timestamp = $data[0][1]; $signs = $data[1][1]; $signed_payload = "{$timestamp}.{$request_body}"; $expectedSignature = hash_hmac('sha256', $signed_payload, $secret); if ($expectedSignature == $signs) { if (($tolerance > 0) && (\abs(\time() - $timestamp) > $tolerance)) { $response['error'] = true; $response['message'] = "Timestamp outside the tolerance zone"; return $response; } else { return "Matched"; } } else { $response['error'] = true; $response['message'] = "No signatures found matching the expected signature for payload"; return $response; } } public function create_payment_intent($c_data) { $c_data['currency'] = $this->currency_code; $url = $this->url . 'v1/payment_intents'; $method = 'POST'; $response = $this->curl($url, $method, $c_data); $res = json_decode($response['body'], true); return $res; } public function refund($payment_intent, $amount) { $amount = ($amount*100); $data = array( 'payment_intent' => $payment_intent, 'amount' => $amount, ); $url = $this->url . 'v1/refunds'; $method = 'POST'; $response = $this->curl($url, $method, $data); if ($response['http_code'] == '200') { $res = json_decode($response['body'], true); return $res; } else { return $response; } } public function curl($url, $method = 'GET', $data = []) { $ch = curl_init(); $curl_options = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => 1, CURLOPT_HEADER => 0, CURLOPT_HTTPHEADER => array( 'Content-Type: application/x-www-form-urlencoded', 'Authorization: Basic ' . base64_encode($this->secret_key . ':') ) ); if (strtolower($method) == 'post') { $curl_options[CURLOPT_POST] = 1; $curl_options[CURLOPT_POSTFIELDS] = http_build_query($data); } else { $curl_options[CURLOPT_CUSTOMREQUEST] = 'GET'; } curl_setopt_array($ch, $curl_options); $result = array( 'body' => curl_exec($ch), 'http_code' => curl_getinfo($ch, CURLINFO_HTTP_CODE), ); return $result; } }
/home/users/unlimited/www/codeskitter/../admin.ondemand.codeskitter.site/app/Libraries/Stripe.php