CodeIgniter - How to load stripe-php library in project?
codeigniter, payment-gateway, php, stripe-payments
Solution
When loading a library, the first parameter is the class name, not the file name. If the file contained a class called `Stripe`, then you could load it by calling:
$this->load->libraries('stripe');
Note, if the file is in an subdirectory, then you would need to include the path relative to the libraries directory.
If the file doesn't have a class, but a set of functions instead, then it's considered to be a helper, not a library. You can load a helper by calling this function, passing the file name without its extension as the first parameter:
$this->load->helper('file_name')
Looking at the library you want to use, you'll likely need to adapt it to the form of a CodeIgniter library.
If you don't want to adapt it to function as a CodeIgniter library, there's nothing stopping you including it using PHP, rather than loading it as a library:
require_once(APPPATH.'libraries/Stripe/lib/Stripe.php'); // Your path may be different
Problem
I'm using Stripe's php library. DL link: https://code.stripe.com/stripe-php-latest.zip I have tried codeigniters load library method, but still a server error. I tried putting the library in `application/libraries` and then load my library with `$this->load->libraries('Stripe.php');` I've change all capitals to lowercases, still getting the error. Following is the code of Stripe.php ``` <?php // Tested on PHP 5.2, 5.3 // This snippet (and some of the curl code) due to the Facebook SDK. if (!function_exists('curl_init')) { throw new Exception('Stripe needs the CURL PHP extension.'); } if (!function_exists('json_decode')) { throw new Exception('Stripe needs the JSON PHP extension.'); } if (!function_exists('mb_detect_encoding')) { throw new Exception('Stripe needs the Multibyte String PHP extension.'); } // Stripe singleton require(dirname(__FILE__) . '/Stripe/Stripe.php'); // Utilities require(dirname(__FILE__) . '/Stripe/Util.php'); require(dirname(__FILE__) . '/Stripe/Util/Set.php'); // Errors require(dirname(__FILE__) . '/Stripe/Error.php'); require(dirname(__FILE__) . '/Stripe/ApiError.php'); require(dirname(__FILE__) . '/Stripe/ApiConnectionError.php'); require(dirname(__FILE__) . '/Stripe/AuthenticationError.php'); require(dirname(__FILE__) . '/Stripe/CardError.php'); require(dirname(__FILE__) . '/Stripe/InvalidRequestError.php'); require(dirname(__FILE__) . '/Stripe/RateLimitError.php'); // Plumbing require(dirname(__FILE__) . '/Stripe/Object.php'); require(dirname(__FILE__) . '/Stripe/ApiRequestor.php'); require(dirname(__FILE__) . '/Stripe/ApiResource.php'); require(dirname(__FILE__) . '/Stripe/SingletonApiResource.php'); require(dirname(__FILE__) . '/Stripe/AttachedObject.php'); require(dirname(__FILE__) . '/Stripe/List.php'); // Stripe API Resources require(dirname(__FILE__) . '/Stripe/Account.php'); require(dirname(__FILE__) . '/Stripe/Card.php'); require(dirname(__FILE__) . '/Stripe/Balance.php'); require(dirname(__FILE__) . '/Stripe/BalanceTransaction.php'); require(dirname(__FILE__) . '/Stripe/Charge.php'); require(dirname(__FILE__) . '/Stripe/Customer.php'); require(dirname(__FILE__) . '/Stripe/Invoice.php'); require(dirname(__FILE__) . '/Stripe/InvoiceItem.php'); require(dirname(__FILE__) . '/Stripe/Plan.php'); require(dirname(__FILE__) . '/Stripe/Subscription.php'); require(dirname(__FILE__) . '/Stripe/Token.php'); require(dirname(__FILE__) . '/Stripe/Coupon.php'); require(dirname(__FILE__) . '/Stripe/Event.php'); require(dirname(__FILE__) . '/Stripe/Transfer.php'); require(dirname(__FILE__) . '/Stripe/Recipient.php'); require(dirname(__FILE__) . '/Stripe/ApplicationFee.php'); ``` Now how to add this file in codeigniter. All other files included in this file are in subdirectory Stripe