Zspay Ruby Gem
The Zspay Ruby Gem provides an easy-to-use interface for integrating Zspay's payment processing features into Ruby applications. This includes handling clients, bank accounts, sales, transfers, and more.
Installation
Add this line to your application's Gemfile:
gem 'zspay'
And then execute:
bundle install
Or install it yourself as:
gem install zspay
Configuration
Before using the Zspay gem, you must configure it with your Zspay API credentials. This is typically done in an initializer in your Ruby application, such as config/initializers/zspay.rb.
Zspay.configure do |config|
config.token = ENV.fetch('YOUR_TOKEN')
end
Usage
Here's how to use the Zspay gem to interact with different resources:
Clients
# Create a new client
client = Zspay::Client.create({
name: 'John Doe',
email: '[email protected]',
document: '12345678900'
})
# Create a new card for a client
card = Zspay::Client.create_card(client_id, {
number: '4111111111111111',
expiry_month: '12',
expiry_year: '2030',
cvv: '123'
})
Bank Accounts
# List bank accounts
accounts = Zspay::BankAccount.index
# Create a new bank account
account = Zspay::BankAccount.create({
bank_code: '001',
agency: '0001',
account: '123456',
account_digit: '7'
})
# Activate a bank account
Zspay::BankAccount.active(account_id)
Sales
# Create a new sale
sale = Zspay::Sale.create({
amount: 100,
currency: 'BRL'
})
# Retrieve details of a sale
sale_details = Zspay::Sale.show(sale_id)
# Refund a sale
refund = Zspay::Sale.refund(sale_id)
Transfers
# Create a new transfer
transfer = Zspay::Transfer.create({
amount: 100,
recipient_id: 'recipient_id'
})
# Schedule a transfer
scheduled_transfer = Zspay::Transfer.schedule_transfer(transfer_id)
# Remove a scheduled transfer
Zspay::Transfer.remove(transfer_id)
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.
Contributing
Bug reports and pull requests are welcome. This project is intended to be a safe, welcoming space for collaboration.
License
The gem is available as open source under the terms of the MIT License.