recurringstack / recurringstack-php
This repository houses the official php client for the RecurringStack API. Official Release
Installs: 30
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/recurringstack/recurringstack-php
Requires
- guzzle/guzzle: ^3.9
This package is auto-updated.
Last update: 2025-12-21 20:14:06 UTC
README
recurringstack-php
This repository houses the official php client for the RecurringStack™ API. Create and manage account, subscriptions, products, support tickets, and more.
Documentation for the RecurringStack™ API can be found at https://recurringstack.com/docs.
Requirements
PHP 7 or later
guzzle/guzzle (dependency)
Composer
We recommend using Composer to install the bindings.
composer require recurringstack/recurringstack-php
Don't forget to include Composers autoload at the top of your project/script.
require_once 'vendor/autoload.php';
Creating a Client and Authenticating
$rs = new recurringstack\api([ 'key' => "rs_key_....", 'user_key' => "rs_user_....", 'brand_id' => "", 'response_format' => 'xml', //xml or json 'response_type' => 'clean' //empty or clean (returns results as object) ]);
Error Handling & Exceptions
The RecurringStack™ API client includes custom error handling methods.
try { # Delete a customer account $rs->deleteAccount('8247cf79-9296-4372-b39c-6370c70372ee'); } catch (recurringstack\apiException $e) { /* The following custom error handling functions are available /* $debug = debugError(); //Return the exception message, code, request, and the response as an object. Great for debugging! $errorObj = $e->errorAsObject(); //Return the code and message in an object $errorMessage = getExceptionMessage(); //Return just the message $errorCode = getExceptionCode(); //Return just the status code */ }
Usage Examples
# List one or multiple customer accounts $rs->listAccount(array('customer_account_id' => '8247cf79-9296-4372-b39c-6370c70372ee'))
# Delete a customer account $rs->deleteAccount('8247cf79-9296-4372-b39c-6370c70372ee');
# Create a new subscription for a customer $subConfig = array( "customer_account_id" => '8247cf79-9296-4372-b39c-6370c70372ee', "product_id" => "", "auto_pay" => "", "coupon_code" => '', "custom_field_1" => '', "custom_field_2" => '', "attached_components" => '', "override_initial_billing" => "" ); $rs->createSubscription($subConfig);
# Manually create an invoice for a customer $billableItems = array( array('item_name' => 'Programming Services Base Charge','item_price' => '25.00','tax_exempt' => 'Y'), array('item_name' => '25 Hours @ $15.00 Ea','item_price' => '375.00','tax_exempt' => 'Y'), ); $invoiceConfig = array( "attached_items" => json_encode($billableItems), "custom_field_1" => '', "custom_field_2" => '' ); $rs->createInvoice($invoiceConfig);
NOTES:
- We recommend wrapping your code in a try block as all errors returned locally or from the API will be returned as exceptions
- Find more example code in the official RecurringStack™ documentation at https://recurringstack.com/docs/api
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
