Use stripe_init include to init stripe and updated code everywhere

This commit is contained in:
johnnyq
2026-07-23 13:00:01 -04:00
parent 7ccdc942fe
commit 8f43b92496
10 changed files with 39 additions and 14 deletions

View File

@@ -42,7 +42,7 @@ if (isset($_GET['delete_saved_payment'])) {
try {
// Initialize stripe
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($private_key);
// Detach PM

View File

@@ -16,7 +16,7 @@ if (isset($_GET['stripe_remove_pm'])) {
try {
// Initialize stripe
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($config_stripe_secret);
// Detach PM

View File

@@ -6,7 +6,7 @@ require_once "includes/inc_all_client.php";
enforceUserPermission('module_sales');
// Initialize stripe
require_once 'libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
// Get Stripe vars
$stripe_vars = mysqli_fetch_assoc(mysqli_query($mysqli, "SELECT config_stripe_enable, config_stripe_publishable, config_stripe_secret FROM settings WHERE company_id = 1"));

View File

@@ -392,7 +392,7 @@ if (isset($_POST['add_payment_stripe'])) {
}
// Initialize Stripe
require_once __DIR__ . '/../../libs/stripe-php/init.php';
require_once __DIR__ . '/../../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($private_key);
$balance_to_pay = round($invoice_amount, 2);

View File

@@ -573,7 +573,7 @@ if (isset($_GET['add_payment_by_provider'])) {
}
// Initialize Stripe
require_once __DIR__ . '/../libs/stripe-php/init.php';
require_once __DIR__ . '/../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($private_key);
$balance_to_pay = round($invoice_amount, 2);
@@ -727,7 +727,7 @@ if (isset($_POST['create_stripe_customer'])) {
if (!$existing_customer) {
try {
// Initialize Stripe
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($stripe_secret_key);
// Create new customer in Stripe
@@ -821,7 +821,7 @@ if (isset($_GET['create_stripe_checkout'])) {
$return_url = "https://$config_base_url/client/post.php?stripe_save_card&session_id={CHECKOUT_SESSION_ID}";
try {
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($stripe_secret_key);
// Create checkout session
@@ -895,7 +895,7 @@ if (isset($_GET['stripe_save_card'])) {
$checkout_session_id = escapeSql($_GET['session_id']);
try {
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($stripe_secret_key);
// Retrieve checkout session & setup intent
@@ -1031,7 +1031,7 @@ if (isset($_GET['delete_saved_payment'])) {
try {
// Initialize Stripe
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($stripe_secret_key);
// Detach the payment method from Stripe

View File

@@ -11,7 +11,7 @@ if ($session_contact_primary == 0 && !$session_contact_is_billing_contact) {
}
// Initialize Stripe
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
// Get Stripe provider info
$stripe_provider_query = mysqli_query($mysqli, "

View File

@@ -834,7 +834,7 @@ while ($row = mysqli_fetch_assoc($sql_recurring_payments)) {
// Stripe
if ($provider_name === "Stripe") {
if ($provider_private_key && $stripe_customer_id && $stripe_payment_method_id) {
require_once __DIR__ . '/../libs/stripe-php/init.php';
require_once __DIR__ . '/../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($provider_private_key);
$balance_to_pay = round($invoice_amount, 2);
@@ -970,7 +970,7 @@ if ($stripe_provider) {
if ($sql_missing_fee && mysqli_num_rows($sql_missing_fee) > 0) {
require_once __DIR__ . '/../libs/stripe-php/init.php';
require_once __DIR__ . '/../includes/stripe_init.php';
$stripe = new \Stripe\StripeClient($provider_private_key);
while ($missing = mysqli_fetch_assoc($sql_missing_fee)) {

View File

@@ -69,7 +69,7 @@ if (isset($_GET['stripe_create_pi'])) {
}
$stripe_secret_key = $stripe_provider['payment_provider_private_key'];
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
$pi_description = "ITFlow: $client_name payment of $invoice_currency_code $balance_to_pay for $invoice_prefix$invoice_number";

View File

@@ -156,7 +156,7 @@ if (isset($_GET['invoice_id'], $_GET['url_key']) && !isset($_GET['payment_intent
$pi_id = escapeSql($_GET['payment_intent']);
$pi_cs = $_GET['payment_intent_client_secret'];
require_once '../libs/stripe-php/init.php';
require_once '../includes/stripe_init.php';
\Stripe\Stripe::setApiKey($stripe_secret);
$pi_obj = \Stripe\PaymentIntent::retrieve($pi_id);

25
includes/stripe_init.php Normal file
View File

@@ -0,0 +1,25 @@
<?php
/**
* Stripe bootstrap.
*
* Require this INSTEAD OF the Stripe library's own init.php everywhere in ITFlow.
*
* stripe-php 21.0.0+ persists a telemetry UUID to $HOME/.config/stripe/telemetry_id
* on the first API call. On hosts with open_basedir (Hestia, cPanel, Plesk) that path
* is outside the jail, and the library's file_exists()/is_dir() checks are not
* @-suppressed - so PHP emits warnings that get prepended to our output, corrupting
* JSON responses and breaking header() redirects. Point it at a writable temp dir.
*/
$stripe_config_dir = sys_get_temp_dir();
if (is_dir($stripe_config_dir) && is_writable($stripe_config_dir)) {
putenv('XDG_CONFIG_HOME=' . $stripe_config_dir);
} else {
// No writable temp dir - make the library's getConfigDir() return null so it
// skips the filesystem entirely rather than reaching for a forbidden path.
putenv('HOME');
putenv('XDG_CONFIG_HOME');
}
unset($stripe_config_dir);
require_once __DIR__ . '/../libs/stripe-php/init.php';