Chargebee Ruby Client Library - API V2
This is the official Ruby library for integrating with Chargebee.
- 📘 For a complete reference of available APIs, check out our API Documentation.
- 🧪 To explore and test API capabilities interactively, head over to our API Explorer.
Note: Chargebee now supports two API versions - V1 and V2, of which V2 is the latest release and all future developments will happen in V2. This library is for API version V2. If you’re looking for V1, head to chargebee-v1 branch.
Installation
Install the latest version of the gem with the following command...
$ sudo gem install chargebee -v '~>2'
Requirements
- Ruby 1.9.3 or above.
Documentation
See our Ruby API Reference.
Usage
To create a new subscription:
ChargeBee.configure({:api_key => "your_api_key" , :site => "your_site"}) result = ChargeBee::Subscription.create({ :id => "sub_KyVqDh__dev__NTn4VZZ1", :plan_id => "basic", }) subscription = result.subscription puts "created subscription is #{subscription}"
Create an Idempotent Request
Idempotency keys are passed along with request headers to allow a safe retry of POST requests.
require 'chargebee' ChargeBee.configure({:api_key => "your_api_key" , :site => "your_site"}) result = ChargeBee::Customer.create({ :first_name => "John", :last_name => "Doe", :email => "john@test.com", :locale => "fr-CA", :billing_address => { :first_name => "John", :last_name => "Doe", :line1 => "PO Box 9999", :city => "Walnut", :state => "California", :zip => "91789", :country => "US" } }, nil, {"chargebee-idempotency-key" => "<<UUID>>"} # Replace <<UUID>> with a unique string ) customer = result.customer card = result.card responseHeader = result.get_response_headers # Retrieves response headers puts(responseHeader) idempotencyReplayedValue = result.is_idempotency_replayed # Retrieves Idempotency replayed header value puts(idempotencyReplayedValue)
is_idempotency_replayed method can be accessed to differentiate between original and replayed requests.
License
See the LICENSE file.