Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
Chargify.php
ChargifyBase.php
ChargifyCharge.php
ChargifyConnector.php
ChargifyCoupon.php
ChargifyCredit.php
ChargifyCreditCard.php
ChargifyCustomer.php
ChargifyException.php
ChargifyMigration.php
ChargifyProduct.php
ChargifyProductFamily.php
ChargifyQuantityBasedComponent.php
ChargifySubscription.php
ChargifyTransaction.php
ChargifyUsage.php
LICENSE
README

README

Chargify PHP Client library
Jason Forrest, 2010 (jason.forrest@rigbooks.com)

This is a PHP client for the Chargify API. It allows JSON, XML or internal classes to be used.
All calls will raise an exception on error, so make sure to wrap calls in a try...catch block.
Also, be sure to check out the Wiki for more tips: http://wiki.github.com/jforrest/Chargify-PHP-Client/

Abraham Williams has created a great Getting Started guide for this library, I recommend you check it out
for example usage: http://github.com/abraham/chargify

Example XML usage:

//assumes $subscription_xml contains xml data. This can be from your app, or
//populated from any Chargify Data object (inherits ChargifyBase) by calling the getXML() method. 
//    ex. $subscription_xml = $chargify_subscription->getXML();
$request_format = 'XML';
$api_key = 'YOUR_API_KEY';

$connector = new ChargifyConnector($api_key);

try {
	$new_subscription_xml = $connector->requestCreateSubscription($subscription_xml,$request_format);
} catch (ChargifyValidationException $cve) {
	//process error handling code here.
	echo $cve->getMessage();
}

NOTE: all functions in ChargifyConnector whose names begin with 'retrieve' or 'request' return either 
pure XML or pure JSON, depending on the format of the request.

Example JSON usage:

//assumes $subscription_json contains json data. This can be from your app, or
//populated from any Chargify Data object (inherits ChargifyBase) by calling the getJSON() method.
//    ex. $subscription_json = $chargify_subscription->getJSON();
$request_format = 'JSON';
$api_key = 'YOUR_API_KEY';

$connector = new ChargifyConnector($api_key);

try {
	$new_subscription_json = $connector->requestCreateSubscription($subscription_json,$request_format);
} catch (ChargifyValidationException $cve) {
        //process error handling code here.
        echo $cve->getMessage();
}


Example internal class usage:

// setup connector
$api_key = 'YOUR_API_KEY';
$connector = new ChargifyConnector($api_key);

//Customer creation
$xml_import = null; //this is useful for populating from API response.
$chargify_customer = new ChargifyCustomer($connector, $xml_import);
$chargify_customer->email = "a@b.com";
$chargify_customer->first_name = "Charles";
$chargify_customer->last_name = "Jones";
$chargify_customer->reference = "123b1j23kjb";

try {
	$new_customer = $chargify_customer->create();
} catch (ChargifyValidationException $cve) {
        //process error handling code here.
        echo $cve->getMessage();
}



//Subscription creation
//create customer and credit card first
$chargify_customer = new ChargifyCustomer($connector); //defaults to same as above
$chargify_customer->email = "a@b.com";
$chargify_customer->first_name = "Charles";
$chargify_customer->last_name = "Jones";
$chargify_customer->reference = "123b1j23kjb";

$chargify_card = new ChargifyCreditCard();
$chargify_card->first_name = "Charles";
$chargify_card->last_name = "Jones";
$chargify_card->full_number = '4111111111111111';
$chargify_card->cvv = '123';
$chargify_card->expiration_month = "02";
$chargify_card->expiration_year = "2011";
$chargify_card->billing_address = "123 any st";
$chargify_card->billing_city = "Anytown";
$chargify_card->billing_state = "CA";
$chargify_card->billing_zip = "55555";
$chargify_card->billing_country = 'US';

$chargify_subscription = new ChargifySubscription($connector);
//$chargify_subscription->customer_attributes is required 
//(don't confuse with $chargify_subscription->customer.)
$chargify_subscription->customer_attributes = $chargify_customer;
$chargify_subscription->credit_card_attributes = $chargify_card; //required (See above)
$chargify_subscription->product_handle = "your product handle"; //required or product_id.
$chargify_subscription->coupon_code = "coupon_code"; //optional

try {
	$new_subscription = $chargify_subscription->create();
 } catch (ChargifyValidationException $cve) {
        //process error handling code here.
        echo $cve->getMessage();
}