Overview
> Note: ⚠️ denotes breaking changes
This is a major version that provides numerous enhancements, such as:
* Examples in the codebase
* ⚠️ More consistent exceptions
* ⚠️ Better integration with custom loggers
* ⚠️ General improvements to align with the API
Examples in the Codebase
There are new examples in the codebase to show how the SDK can be used for various scenarios:
* Logging
* Using a custom logger with the SDK
* Bills (Merchant Facade)
* Creating a bill
* Getting a bill
* Updating a bill
* Delivering a bill via email
* Invoices (Merchant Facade)
* Creating an invoice
* Getting an invoice
* Updating an invoice
* Canceling an invoice
* Requesting an invoice notification
* Ledgers (Merchant Facade)
* Getting ledgers
* Getting ledger entries
* Refunds (Merchant Facade)
* Creating a refund
* Updating a refund
* Getting a refund
* Canceling a refund
* Request a refund notification to be resent
* Settlements (Merchant Facade)
* Getting a settlement reconciliation report
* Payouts (Payout Facade)
* Creating a payout
* Getting a payout
* Canceling a payout
* Requesting a payout webhook to be resent
* Requesting payout notifications
* Recipients (Payout Facade)
* Invite payout recipients
* Get payout recipients
* Update payout recipients
* Remove payout recipients
* Bills (POS Facade)
* Creating a bill
* Getting a bill
* Delivering a bill
* Invoices (POS Facade)
* Creating an invoice
* Getting an invoice
* Rates (Public Facade)
* Get rates for a cryptocurrency
* Get cryptocurrency / fiat currency pair rates
* Wallets (Public Facade)
* Get supported wallets
⚠️ More Consistent Exceptions
We have removed the old exception classes that added a tremendous amount of duplication across the SDK in favor of parsing the errors from the API. This makes the SDK less opinionated and relies on the API to inform consumers what happened, providing more consistency between the SDK and API. The result is that response messages and codes in exceptions thrown by the SDK will be 1:1 with API.
⚠️ Better Integration with Custom Loggers
You can now use your own logging framework using the new logger provider, giving more control over how logs are handled.
⚠️ General Improvements
* Updated dependencies
* Updated field types where they were misaligned with the API
* Added fields to the SDK that were missing
* Removed fields that are no longer in the API
**Full Changelog**: https://github.com/bitpay/python-bitpay-client/compare/5.0.4...6.0.0