Python SDK for WePay API (third party).
Project description
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.credit_card.create(client_id, cc_number, ..., original_ip='127...')
>>> api.credit_card.authorize(client_id, client_secret, response['credit_card_id'])
* 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
>>> calls = []
>>> calls.append(api.credit_card.authorize(
... client_id, client_secret, response['credit_card_id'],
... batch_mode=True, batch_reference_id='ref_id_1234'))
>>> # append more calls ...
>>> response = api.batch.create(client_id, client_secret, calls)
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.credit_card.create(client_id, cc_number, ..., original_ip='127...')
>>> api.credit_card.authorize(client_id, client_secret, response['credit_card_id'])
* 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
>>> calls = []
>>> calls.append(api.credit_card.authorize(
... client_id, client_secret, response['credit_card_id'],
... batch_mode=True, batch_reference_id='ref_id_1234'))
>>> # append more calls ...
>>> response = api.batch.create(client_id, client_secret, calls)
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.0.tar.gz
(41.5 kB
view details)
Built Distribution
File details
Details for the file python-wepay-1.4.0.tar.gz
.
File metadata
- Download URL: python-wepay-1.4.0.tar.gz
- Upload date:
- Size: 41.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a33042092973a7fe659f0c47a031145bec53bc68beb5dc8a20e1157b5b6a25ba |
|
MD5 | d5a74bef2bd72f3aae4ecdf25a51272f |
|
BLAKE2b-256 | ae5f13b32c8aa458089113178fbf47c93e09535158beb1d83e5e5d1de0c09ed6 |
File details
Details for the file python_wepay-1.4.0-py2-none-any.whl
.
File metadata
- Download URL: python_wepay-1.4.0-py2-none-any.whl
- Upload date:
- Size: 37.1 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f195eb3c7a1bb922340b03e59027a6e1b5e5af340d3550ed3822924b159d4f6 |
|
MD5 | 173173ab89584f4c16a04e896ca52ca2 |
|
BLAKE2b-256 | 900284dabb7662fd624b83d6cdb7d6cb9965261b93ac231ed98ed95accb0fe43 |