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

v0.1.0-beta 2024-06-13 23:25 UTC

This package is auto-updated.

Last update: 2025-12-21 20:14:06 UTC


README

Alt text

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.

License

MIT