Tangolicious

Wrapper for Tangocard RAAS API v2

This gem is currently in development

Installation

Add this line to your application's Gemfile:

gem 'tangolicious'

And then execute:

$ bundle

Or install it yourself as:

$ gem install tangolicious

Usage

Set your path and platform name and key:

Tangolicious.platform_name = PLATFORM_NAME
Tangolicious.platform_key = PLATFORM_KEY

Optionally, you can set a default account_identifier and customer_identifier to avoid having to pass these in every post request.

Tangolicious. = ACCOUNT_IDENTIFIER
Tangolicious.customer_identifier = CUSTOMER_IDENTIFIER

See https://integration-www.tangocard.com/raas_api_console/v2/ for more detailed documentation about request and response parameters.

Customers

List all customers

Tangolicious::Customer.list

Create a customer

Tangolicious::Customer.create(customer_identifier: 'my_customer', display_name: 'My Customer')

Retrieve a customer

Tangolicious::Customer.retrieve('my_customer')

List all accounts for a customer

Tangolicious::Customer.accounts('my_customer')

Create an account for a customer

Tangolicious::Customer.('my_customer', account_identifier: 'my_account', contact_email: 'email', display_name: 'My Account')

Accounts

List all accounts

Tangolicious::Account.list

Retrieve an account

Tangolicious::Account.retrieve('my_account')

Fund

Fund an account with a credit card

Tangolicious::CreditCard.fund(amount: 100, credit_card_token: 'cc_token', account_identifier: 'my_account')

Unregister a credit card

Tangolicious::CreditCard.unregister(credit_card_token: 'cc_token')

List all credit cards

Tangolicious::CreditCard.list

Register a credit card

Tangolicious::CreditCard.register(
  billing_address: {
    address_line_1: '123 Main Street',
    city: 'Denver',
    country: 'USA',
    email_address: '[email protected]',
    first_name: 'Bob',
    last_name: 'Smith',
    postal_code: '12345',
    state: 'CO'
  },
  credit_card: {
    expiration: '2020-01',
    number: '4007000000027',
    verification_number: '123'
  },
  ip_address: '192.168.0.1',
  label: 'my_card'
)

Retrieve a credit card

Tangolicious::CreditCard.retrieve('cc_token')

Catalog

List all catalog brands

response = Tangolicious::Catalog.list
brands = response[:brands]

Orders

List all orders

response = Tangolicious::Order.list
orders = response[:orders]

Create an order

Tangolicious::Order.create(amount: 100, utid: 'U791917')

Retrieve an order

Tangolicious::Order.retrieve('reference_order_id')

Resend the email for an order

Tangolicious::Order.resend('reference_order_id')

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment. You can run the console with your development credentials by running PLATFORM_NAME=[name] PLATFORM_KEY=[key] bin/console.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/bonusly/tangolicious.

License

The gem is available as open source under the terms of the MIT License.