Metadata-Version: 2.1
Name: coingate_api
Version: 0.1.4
Summary: SDK of CoinGate API for Python 3+
Home-page: https://github.com/Sociumnet/coingate-api-python
Author: Alex Shinkevich aka alexshin
Author-email: alex.shinkevich@gmail.com
License: Apache License version 2
Download-URL: https://github.com/Sociumnet/coingate-api-python/archive/v0.1.4.tar.gz
Description: # CoinGate API SDK (API v2)
        
        The repo contains Python 3 SDK for [CoinGate API v2](https://developer.coingate.com/docs/api-overview). 
        This is open source library is provided by [SociumNET](https://socium.net) team and it is used in some internal
        projects.
        
        ## Installation
        
        You can install the library using PIP:
        
        `$ pip install coingate-api`
        
        ## Quick start
        
        Try it:
        ```python
        from coingate_api import CoingateAPI
        
        
        api = CoingateAPI(auth_token='your-auth-token', environment='sandbox')
        print(api.ping())
        ```
        
        Only replace "your-auth-token" to your token from CoinGate of CoinGate sandbox
        
        ## How to
        
        Default behavior of API uses retries for requests:
        
        * 3 retries
        * with back-off factor 0.2
        * http statuses of response for retries: 500, 502, 504
        
        You can change all these params by initialization of API client:
        ```python
        from coingate_api import CoingateAPI
        api = CoingateAPI(auth_token='your-auth-token', environment='sandbox', 
                          retries=5, backoff_factor=0.5, status_forcelist=(500, 502, 504, 505))
        
        ```
        
        #### Methods of API:
        
        *  `api.test_connection()` - tests authentication. Should return simple "OK"
        *  `api.ping()` - tests connection to server. Should return "pong"
        *  `api.exchange_rate(from_='EUR', to='USD')` - check documentation of API
        *  `api.exchange_rates()` - check documentation of API
        *  `api.ip_addresses()` - check documentation of API
        *  `api.orders(per_page=100, page=1, sort='created_at_desc', **kwargs)` - check documentation of API. 
        Values of kwargs can contain also `created_at_from` and `created_at_to`
        *  `api.checkout(order_id, pay_currency='BTC')` - check documentation of API
        *  `api.create_order(price_amount, price_currency, receive_currency, **kwargs)` - check documentation of API.
        Values of kwargs can contain also `order_id`, `title`, `description`, `callback_url`, `cancel_url`, `success_url`, `token`
        
        
        #### Exceptions
        
        ```python
        from coingate_api import CoingateAPI, api_error
        
        api = CoingateAPI(auth_token='your-auth-token', environment='sandbox')
        
        try:
            print(api.test_connection())
        except api_error.APIError as e:
            print(e)
        
        ```
        
        Exceptions hierarchy:
        
        *  `APIError`
            *  `Unauthorized` 
                *  `BadCredentials` 
                *  `BadAuthToken` 
                *  `AccountBlocked` 
                *  `IPAddressIsNotAllowed`
            *  `NotFound`
                * `PageNotFound` 
                * `RecordNotFound` 
                * `OrderNotFound`
            *  `UnprocessableEntity`
                *  `OrderIsNotValid`
            *  `RateLimitError`
            *  `InternalServerError` - notice that client will do retries for this error by default
        
        
        ## Contribution
        
        You can be free to contribute in the project. You should only create PR with a short description what it is for and
        what the problem can be solved by your PR.
        
        
Keywords: coingate coingate-api payment merchant
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
