Python SDK for WePay API (third party).
Project description
python-wepay: Python WePay SDK (third party)
============================================
.. image:: https://travis-ci.org/lehins/python-wepay.svg?branch=master
:target: https://travis-ci.org/lehins/python-wepay
:alt: Travis-CI
.. image:: https://coveralls.io/repos/lehins/python-wepay/badge.png?branch=master
:target: https://coveralls.io/r/lehins/python-wepay?branch=master
:alt: Tests Coverage
.. image:: https://pypip.in/d/python-wepay/badge.png
:target: https://crate.io/packages/python-wepay/
:alt: Number of PyPI downloads
Features
--------
* Make API calls in a very natural pythonic way, ex:
.. code-block:: python
>>> api = WePay(production=False, access_token='STAGE_243...')
>>> response = api.account.create("name", "description", type='nonprofit')
>>> account_id = response['account_id']
>>> callback_uri = "https://example.com/ipn/account/%s" % account_id
>>> response = api.account.modify(account_id, callback_uri=callback_uri)
>>> api.preapproval.create("short description", "daily", amount=45.5, account_id=account_id)
{"preapproval_id":619202, "preapproval_uri":"https://stage.wepay.com/api/preapproval/619202"}
* Validation of all required and optional parameters to each one of the calls.
* Very easy construction of batch calls, simply by passing ``batch_mode=True`` to
a call, ex:
.. code-block:: python
>>> call1 = api.checkout.create(1234, short_description, type, amount, batch_mode=True)
>>> call2 = api.withdrawal.find(1235, sort_order='ASC', access_token='access_token_for_other_account', batch_mode=True)
>>> response = api.batch.create(client_id, client_secret, [call1, call2])
About
-----
This package started as a part of `Django WePay Application
<https://github.com/lehins/django-wepay>`_, but I soon realized it could be
useful to other developers in Python community that do not use `Django
<https://djangoproject.com>`_. Originally it meant to be an extension of an
official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_, but instead
it became a replacement with full compatibilty with official WePay version.
This package is also listed as a `third party Python SDK on WePay
<https://www.wepay.com/developer/resources/sdks>`_.
Status
------
Production.
Requirements
------------
* Python >= 2.7 or >= 3.2
* Registered Application with WePay `production <https://wepay.com>`_ site or
it's `development <https://stage.wepay>`_ clone.
* `six <https://pypi.python.org/pypi/six>`_.
* `requests <http://docs.python-requests.org/en/latest/>`_ (optional):
* `mock <https://pypi.python.org/pypi/mock>`_ (optional, for tests only)
Installation
------------
::
pip install python-wepay
Documentation
-------------
http://python-wepay.readthedocs.org/en/latest/index.html
License
-------
MIT licensed. See the bundled `LICENSE <https://github.com/lehins/python-wepay/blob/master/LICENSE>`_ file for more details.
Changelog
=========
1.4.0
-----
* Removed backward compatibility with official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_.
* introduced :exc:`WePayHTTPError<wepay.exceptions.WePayHTTPError>`, which is a base exception for both :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
* added `cached_property` decorator.
* changed they way calls are initialized. This change doesn't affect the way calls are made.
1.3.5
-----
* Fixed and improved error handling, new exceptions: :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
1.3.4
-----
* Connection `timeout` can be specified on per call basis.
1.3.0
-----
* Python 3 compatible
* Calls are made using `requests <http://docs.python-requests.org/en/latest/>`_
library by default (if installed), falls back to `urllib
<https://docs.python.org/3/library/urllib.html#module-urllib>`_ if `requests`
are not installed or if ``WePay`` is initialized with
``use_requests=False``.
* ``WePayConnectionError`` is raised
in case there is a problem connecting to WePay server, ex. timeout.
* Addition of a full test suit.
* Minor:
* 'original_ip' and 'original_device' params are now optional in
`/credit_card/create`.
* ``silent`` mode is more flexible.
* Moved ``SubscriptionPlan`` and ``SubscriptionCharge`` to their own modules.
* Moved ``WePayWarning`` over to ``wepay.exceptions`` module.
1.2.0
-----
* New API version 2014-01-08 changes are reflected in this SDK version:
* implemented `/user/register` and `user/resend_confirmation` calls.
* added `/account/get_update_uri` and `/account/get_reserve_details`
* depricated `/account/add_bank`, `/account/balance`, `/account/get_tax`
and `/account/set_tax` calls.
* restructured SDK in such a way that all API objects are separate classes, so
as an example, if we have a WePay instance ``api = WePay()`` and we want to
make a `/account/find` call, it will look like this ``api.account.find()``
instead of ``api.account_find()`` (notice **.** instead of **_**), although in
this version both are equivalent, latter one is depricated and will be removed
in version 1.3. Despite these changes lookup calls will be the same, ex.
``api.account(12345)``.
* Added flexibility to use different API version per call basis. So it is now
possible to make a depricated call like this: ``api.account.balance(1234,
api_version='2011-01-15')``
* added ``batch_reference_id`` keyword argument to each call that accepts
``batch_mode``
1.1.2
-----
* Added required arguments to `/credit_card/create` call:
* original_ip
* original_device
1.1.0
-----
* Added subscription calls:
* `/subscription_plan`
* `/subscription`
* `/subscription_charge`
* Few bug and spelling fixes.
1.0.0
-----
* Initial release
============================================
.. image:: https://travis-ci.org/lehins/python-wepay.svg?branch=master
:target: https://travis-ci.org/lehins/python-wepay
:alt: Travis-CI
.. image:: https://coveralls.io/repos/lehins/python-wepay/badge.png?branch=master
:target: https://coveralls.io/r/lehins/python-wepay?branch=master
:alt: Tests Coverage
.. image:: https://pypip.in/d/python-wepay/badge.png
:target: https://crate.io/packages/python-wepay/
:alt: Number of PyPI downloads
Features
--------
* Make API calls in a very natural pythonic way, ex:
.. code-block:: python
>>> api = WePay(production=False, access_token='STAGE_243...')
>>> response = api.account.create("name", "description", type='nonprofit')
>>> account_id = response['account_id']
>>> callback_uri = "https://example.com/ipn/account/%s" % account_id
>>> response = api.account.modify(account_id, callback_uri=callback_uri)
>>> api.preapproval.create("short description", "daily", amount=45.5, account_id=account_id)
{"preapproval_id":619202, "preapproval_uri":"https://stage.wepay.com/api/preapproval/619202"}
* Validation of all required and optional parameters to each one of the calls.
* Very easy construction of batch calls, simply by passing ``batch_mode=True`` to
a call, ex:
.. code-block:: python
>>> call1 = api.checkout.create(1234, short_description, type, amount, batch_mode=True)
>>> call2 = api.withdrawal.find(1235, sort_order='ASC', access_token='access_token_for_other_account', batch_mode=True)
>>> response = api.batch.create(client_id, client_secret, [call1, call2])
About
-----
This package started as a part of `Django WePay Application
<https://github.com/lehins/django-wepay>`_, but I soon realized it could be
useful to other developers in Python community that do not use `Django
<https://djangoproject.com>`_. Originally it meant to be an extension of an
official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_, but instead
it became a replacement with full compatibilty with official WePay version.
This package is also listed as a `third party Python SDK on WePay
<https://www.wepay.com/developer/resources/sdks>`_.
Status
------
Production.
Requirements
------------
* Python >= 2.7 or >= 3.2
* Registered Application with WePay `production <https://wepay.com>`_ site or
it's `development <https://stage.wepay>`_ clone.
* `six <https://pypi.python.org/pypi/six>`_.
* `requests <http://docs.python-requests.org/en/latest/>`_ (optional):
* `mock <https://pypi.python.org/pypi/mock>`_ (optional, for tests only)
Installation
------------
::
pip install python-wepay
Documentation
-------------
http://python-wepay.readthedocs.org/en/latest/index.html
License
-------
MIT licensed. See the bundled `LICENSE <https://github.com/lehins/python-wepay/blob/master/LICENSE>`_ file for more details.
Changelog
=========
1.4.0
-----
* Removed backward compatibility with official `Python WePay SDK <https://github.com/wepay/Python-SDK>`_.
* introduced :exc:`WePayHTTPError<wepay.exceptions.WePayHTTPError>`, which is a base exception for both :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
* added `cached_property` decorator.
* changed they way calls are initialized. This change doesn't affect the way calls are made.
1.3.5
-----
* Fixed and improved error handling, new exceptions: :exc:`WePayClientError<wepay.exceptions.WePayClientError>` and :exc:`WePayServerError<wepay.exceptions.WePayServerError>`
1.3.4
-----
* Connection `timeout` can be specified on per call basis.
1.3.0
-----
* Python 3 compatible
* Calls are made using `requests <http://docs.python-requests.org/en/latest/>`_
library by default (if installed), falls back to `urllib
<https://docs.python.org/3/library/urllib.html#module-urllib>`_ if `requests`
are not installed or if ``WePay`` is initialized with
``use_requests=False``.
* ``WePayConnectionError`` is raised
in case there is a problem connecting to WePay server, ex. timeout.
* Addition of a full test suit.
* Minor:
* 'original_ip' and 'original_device' params are now optional in
`/credit_card/create`.
* ``silent`` mode is more flexible.
* Moved ``SubscriptionPlan`` and ``SubscriptionCharge`` to their own modules.
* Moved ``WePayWarning`` over to ``wepay.exceptions`` module.
1.2.0
-----
* New API version 2014-01-08 changes are reflected in this SDK version:
* implemented `/user/register` and `user/resend_confirmation` calls.
* added `/account/get_update_uri` and `/account/get_reserve_details`
* depricated `/account/add_bank`, `/account/balance`, `/account/get_tax`
and `/account/set_tax` calls.
* restructured SDK in such a way that all API objects are separate classes, so
as an example, if we have a WePay instance ``api = WePay()`` and we want to
make a `/account/find` call, it will look like this ``api.account.find()``
instead of ``api.account_find()`` (notice **.** instead of **_**), although in
this version both are equivalent, latter one is depricated and will be removed
in version 1.3. Despite these changes lookup calls will be the same, ex.
``api.account(12345)``.
* Added flexibility to use different API version per call basis. So it is now
possible to make a depricated call like this: ``api.account.balance(1234,
api_version='2011-01-15')``
* added ``batch_reference_id`` keyword argument to each call that accepts
``batch_mode``
1.1.2
-----
* Added required arguments to `/credit_card/create` call:
* original_ip
* original_device
1.1.0
-----
* Added subscription calls:
* `/subscription_plan`
* `/subscription`
* `/subscription_charge`
* Few bug and spelling fixes.
1.0.0
-----
* Initial release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
python-wepay-1.4.1.tar.gz
(41.8 kB
view details)
Built Distribution
File details
Details for the file python-wepay-1.4.1.tar.gz
.
File metadata
- Download URL: python-wepay-1.4.1.tar.gz
- Upload date:
- Size: 41.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fee161bce97f82ca72ccfe8093b1e70694fffd2f2d15d212266f88eefe6a2fbe |
|
MD5 | 71d0accbaf5e5a477770991c9138b97e |
|
BLAKE2b-256 | 27fc249adf0650d75d5887f7b8755a671b69f5563c86aa85e67f1a91b92abb06 |
File details
Details for the file python_wepay-1.4.1-py2-none-any.whl
.
File metadata
- Download URL: python_wepay-1.4.1-py2-none-any.whl
- Upload date:
- Size: 37.4 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02f20252252a16fe76374fb1e79064b60d08d72733ccacb88c4948c4f593ebac |
|
MD5 | b4e29e44fce2753d2f5092dd0a4fe374 |
|
BLAKE2b-256 | b37effa6aa477109caaf368b304dee05bc225b1df61456a9b3f1adf9c43abe5d |