Skip to main content

Python SDK for WePay API (third party).

Project description

python-wepay: Python WePay SDK (third party)

Travis-CI Tests Coverage Code Health Number of PyPI downloads

Features

  • Make API calls in a very natural pythonic way, ex:

>>> 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:

>>> 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, but I soon realized it could be useful to other developers in Python community that do not use Django. Originally it meant to be an extension of an official Python WePay SDK, but instead it became a replacement. This package is also listed as a third party Python SDK on WePay.

Status

Production.

Requirements

Installation

pip install python-wepay

Documentation

http://python-wepay.readthedocs.org/en/latest/index.html

License

MIT licensed. See the bundled LICENSE file for more details.

Changelog

1.4.0

  • Removed backward compatibility with official Python WePay SDK.

  • introduced WePayHTTPError<wepay.exceptions.WePayHTTPError>, which is a base exception for both WePayClientError<wepay.exceptions.WePayClientError> and 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: WePayClientError<wepay.exceptions.WePayClientError> and 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 library by default (if installed), falls back to 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


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.2.tar.gz (41.8 kB view details)

Uploaded Source

Built Distributions

python_wepay-1.4.2-py3-none-any.whl (37.4 kB view details)

Uploaded Python 3

python_wepay-1.4.2-py2-none-any.whl (37.4 kB view details)

Uploaded Python 2

File details

Details for the file python-wepay-1.4.2.tar.gz.

File metadata

File hashes

Hashes for python-wepay-1.4.2.tar.gz
Algorithm Hash digest
SHA256 7bab197240e3e6c69f275069b95f729746cae6b3eae9ff170ce6dadf1261f84a
MD5 6bd34cd78ba4808256943a87532d7233
BLAKE2b-256 53756f908745c238d0b753f6f311e62dc790978437c24c6bf2d0b01086c8a544

See more details on using hashes here.

File details

Details for the file python_wepay-1.4.2-py3-none-any.whl.

File metadata

File hashes

Hashes for python_wepay-1.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fb68c2ac083087c88bcdd2e470c7c00f2a685a20ac68c889d5b9b585a5f2f417
MD5 2afde42e224cc70160c3a92087e39a13
BLAKE2b-256 c8f638b15fc4e6fe7e9b80849189efb2f67feb725e111411ea9e417c006904ad

See more details on using hashes here.

File details

Details for the file python_wepay-1.4.2-py2-none-any.whl.

File metadata

File hashes

Hashes for python_wepay-1.4.2-py2-none-any.whl
Algorithm Hash digest
SHA256 1f1a7ce76fce1c86ee0e003575bcd1dc6e0282115ca5e729bc31d45ccf70ff02
MD5 3c48198041d96b986580b0472152ab80
BLAKE2b-256 ed235ff1d4cc1f697466ea853b18d3ca18d9044dbd0ed73c4c2a2e9e8529ce6b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page