hibiscus-ruby is a Ruby API client for the HBCI-compliant Hibiscus payment server.
- Ruby 1.9 or higher
- a running instance of hibiscus-server, configured for your HBCI-accessible bank accounts. For security reasons, it is highly recommended to run the server locally!
> gem install hibiscus-ruby --pre
> irb
require 'hibiscus-ruby'
# configure the client
Hibiscus::Client.config = {
password: 'your hibiscus server password'
}
# get all known accounts
p Hibiscus::Account.new.all
Each resource method has an example rake task in the Rakefile, so have a look at those first (list all examples with rake -T examples
).
Possible options:
:username
(defaults toadmin
):password
(is unset by default):base_uri
(defaults tohttps://localhost:8080/webadmin/rest/hibiscus
):verify_ssl
(defaults tofalse
. hibiscus-server uses an invalid SSL Certificate, which should be fine for 99% of it's use cases)
Important: of course the client needs to be configured before anything else will work.
Returns an array of all accounts configured in Hibiscus.
Returns the latest statement lines ("bookings" / transactions) on the given account.
hibiscus_account_id
is the account id that hibiscus-server has assigned, not the actual account number.
Returns the statement lines ("bookings" / transactions) which contain the given string.
Create a transfer / booking.
Not implemented yet.
Delete a transfer / booking.
Not implemented yet.
Show transfers that Hibiscus hasn't performed, yet (hibiscus-server syncs every 180 minutes by default).
Not implemented yet.
Show sync jobs (like fetching new statement lines for the accounts) that Hibiscus hasn't performed, yet (hibiscus-server syncs every 180 minutes by default).
Not implemented yet.
rspec unit tests:
rake
Mutation tests (using mutant):
rake spec:mutation
Released under the MIT License.
- raise a meaningful exception when the client isn't configured
- raise a meaningful exception when the client can't access the server (invalid data, server not running)
- write integration tests
- implement Account.find(1).statement_lines
- implement remaining resource methods