Go to file
ZippyDev 3a9d9cf6c7 client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
bin initial commit. 2020-07-15 19:36:16 -06:00
lib client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
spec client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
.gitignore update readme and specs. 2020-07-18 11:47:59 -06:00
.rspec initial commit. 2020-07-15 19:36:16 -06:00
.rubocop.yml initial commit. 2020-07-15 19:36:16 -06:00
.travis.yml initial commit. 2020-07-15 19:36:16 -06:00
Gemfile initial commit. 2020-07-15 19:36:16 -06:00
Gemfile.lock client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
LICENSE.txt initial commit. 2020-07-15 19:36:16 -06:00
README.md client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
Rakefile initial commit. 2020-07-15 19:36:16 -06:00
btcpay.gemspec client cleanup. add user endpoint. initial specs. 2020-07-26 15:31:22 -06:00
docker-compose.btcpay.yml update readme and specs. 2020-07-18 11:47:59 -06:00

README.md

Btcpay Server

Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file lib/btcpay. To experiment with that code, run bin/console for an interactive prompt.

TODO: Delete this and the text above, and describe your gem

Installation

Add this line to your application's Gemfile:

gem 'btcpay'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install btcpay

Usage

Required Params

Auth Token

At least one of the following auth tokens are required. Auth tokens can be created via the following:

  1. auth_token
  • Scoped Api Tokens can be created via /Manage/APIKeys
  • BTCPAY_AUTH_TOKEN environment variable can also be used
  1. basic_auth_token
  • Legacy Api Key can be created per store via /stores/{store-id}/Tokens
  • BTCPAY_BASIC_AUTH_TOKEN environment variable can also be used
Base Url

A base_url is required to interact with the server.

  • BTCPAY_BASE_URL environment variable can also be used
client = BtcPay.new(auth_token: 'foobar', base_url: 'http://localhost:49392')

Response

A response consists of the following accessible attributes:

  1. #body - rubified response body
  2. #code - response status code
  3. #headers - response headers
  4. #raw - unaltered response body
  5. #status - :success/:failure

Request object types

All endpoints are accessed via namespaced Api resource. Example: client.users.create({ email: 'foo@bar.com', password: 'password', isAdministrator: false })

Users:

  1. #me(**opts)
  • alias: get, show
  1. #create(payload, **opts)

Environment Variables

btcpay can be initialized with either arguments or ENV:

Variable Description Default
BTCPAY_AUTH_TOKEN BtcPay Auth Token -
BTCPAY_BASIC_AUTH_TOKEN BtcPay Basic Auth Token -
BTCPAY_BASE_URL BtcPay Base Url -

BtcPay Docker Compose

To get up and running locally quickly, a BTCPayServer docker-compose file has been added to test local API interactions. To get up and running:

  1. $ docker-compose -f docker-compose.btcpay.yml up
  2. $ open http://localhost:49392
  • Note: regtest environment default to allow for block/coin creation for test purpose
  • testnet environment should be used for integration/staging testing prior to production promotion.
  • mainnet is the real network.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

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 Gitlab at https://gitlab.com/snogrammer/btcpay.

License

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