Skip to main content

Django WePay Application.

Project description

Django App for WePay http://www.wepay.com

About

If you start using WePay API you realize that there is a bunch of stuff needs to be stored locally, so that was an actual motivation for creation of this app. There is functionality for storing information for all objects in the database. For each object you can choose to store only minimal fields, all fields and/or add custom fields required for your app. It also handles IPN (instant payment notifications) for all supported objects.

Status

Beta. Although it is used in production, some objects like credit card and subscriptions haven’t been thoroughly tested.

TODO

  • Full Documentation.

  • More tests.

  • Admin pages for all objects.

Requirements

  • Registered Application with WePay. (tailored for versions >= ‘2014-01-08’)

  • Python WePay SDK

  • Django >= 1.4

  • Cache framework properly configured for django

Features

  • Supports all WePay API calls.

  • Customizable models for all objects.

  • Ability to make API calls right from the model instance.

  • All lookup and create API calls automatically save changes in the database.

  • IPN calls handling for all objects.

  • Signals upon state change an objects as well as for an IPN call.

  • Ability to change backend (communication module with WePay). Default backend features: * Protection from throttling (threadsafe) * Automatic storing of batch calls for later invocation. * Logging

Configuration

  • Add ‘djwepay’ to INSTALLED_APPS

  • (Optionally) Extend and customize models, point to their location in WEPAY_MODELS, run syncdb (or migrations). If this step ommited all models will be created.

  • Add your WePay App either in admin or directly into database. Set correct WEPAY_APP_ID.

Settings

Required:

  • WEPAY_APP_ID - WePay Application Client ID (and asossiated entry in database for this id).

Optional:

  • WEPAY_MODELS - a list of tuples (‘object_name’, ‘app_name.ModelName’) for objects you will be working with, ex:

    WEPAY_MODELS = (
        ('app', 'myapp.WePayApp'),
        ('user', 'myapp.WePayUser'),
        ('account', 'myapp.WePayAccount'),
        ('checkout', 'myapp.WePayCheckout'),
        ('preapproval', 'myapp.WePayPreapproval'),
        ('withdrawal', 'myapp.WePayWithdrawal'),
        ('credit_card', None),
        ('subscription_plan', None),
        ('subscription', None),
        ('subscription_charge', None)
    )
  • API_BACKEND - backend to be used for communication with WePay. Default is ‘djwepay.backends.default.WePay’

  • DEFAULT_SCOPE - default WePay permissions, full by default.

Default backend settings

  • WEPAY_DEBUG - if set to True and logging is setup will log every API call. Defaults to the DEBUG setting.

  • WEPAY_THROTTLE_PROTECT - turns on/off throttle protection.

  • WEPAY_THROTTLE_CALL_LIMIT - number of calls before your app will ne throttled after. Default is 30.

  • WEPAY_THROTTLE_TIMEOUT - throttle timespan. Default is 10 seconds.

  • WEPAY_THROTTLE_CALL_KEY - cache key for storing throttling info.

  • WEPAY_CACHE_BATCH_KEY_PREFIX - cache key prefix for storing batch calls and associated callbacks in cache, for later processing.

  • WEPAY_DOMAIN - your site’s domain, if None will use django’s sites app.

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

django-wepay-1.0.2.tar.gz (19.4 kB view details)

Uploaded Source

File details

Details for the file django-wepay-1.0.2.tar.gz.

File metadata

File hashes

Hashes for django-wepay-1.0.2.tar.gz
Algorithm Hash digest
SHA256 21adf6aa0de7bf0e5c3706ac363984d95a0ef1e09d2c9b3313136292100e449e
MD5 2e13a7987bdb004566e987a23dda49fd
BLAKE2b-256 9ed0d1f4a2b453cb6483ee6b0e3cab5dc6ec27c6f36aef89cdcfa57547398e31

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