Skip to main content

Django / Paypal integration (based on dj-stripe)

Project description

dj-paypal

CI PyPI

A Paypal integration for Django, inspired by dj-stripe.

Currently only supports subscriptions.

Requirements

  • Python 3.6+
  • Django 3.1+
  • Postgres 9.6+ (Non-postgres engines not supported)

Installation

  1. Install dj-paypal with pip install dj-paypal
  2. Add djpaypal to django INSTALLED_APPS setting
  3. Get a client ID and client secret from paypal and add them to the settings PAYPAL_CLIENT_ID and PAYPAL_CLIENT_SECRET
  4. Set PAYPAL_MODE = "sandbox" (or "live") in the settings
  5. Install your Billing Plans (see below)

Setting up billing plans

Download already-created billing plans from Paypal

Run manage.py djpaypal_download_plans to sync all plans already created upstream into the local database.

This will create djpaypal.models.BillingPlan objects, which can be listed from the Django admin.

Creating new Paypal billing plans

The manage.py djpaypal_upload_plans management command creates billing plans using the Paypal API. An extra PAYPAL_PLANS setting must be set, which will contain a dict of Paypal billing plans to create.

See example_settings.py for an example of plans to create.

Webhooks

The djpaypal.views.ProcessWebhookView view should be hooked up to an URL endpoint which you then set up in Paypal as a webhook endpoint (https://developer.paypal.com).

In order to verify webhooks being transmitted to your app, dj-paypal needs to know the ID of the webhook that is expected at that URL. Set it in the setting PAYPAL_WEBHOOK_ID.

Sandbox vs. Live

All models have a livemode boolean attribute. That attribute is set to True if created in Live (production) mode, False otherwise (sandbox mode). Sandbox and Live data can co-exist without issues. Once you are done testing in Sandbox mode, use the manage.py djpaypal_delete_all_test_data management command to (locally) clear all the test data. This command has no impact on the upstream data.

Data considerations

Most of the models defined in dj-paypal are copies of the upstream Paypal model data. Deleting or editing objects (be it from the admin or in the database) does not actually change any of the upstream Paypal data.

License and Sponsorship

This project was designed and developed by HearthSim. It is licensed under the MIT license. The full license text is available in the LICENSE file.

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

dj_paypal-0.16.1.tar.gz (24.9 kB view details)

Uploaded Source

Built Distribution

dj_paypal-0.16.1-py3-none-any.whl (37.8 kB view details)

Uploaded Python 3

File details

Details for the file dj_paypal-0.16.1.tar.gz.

File metadata

  • Download URL: dj_paypal-0.16.1.tar.gz
  • Upload date:
  • Size: 24.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dj_paypal-0.16.1.tar.gz
Algorithm Hash digest
SHA256 c5610159d970841e5e3c62c0358a295c53211bcb4e2e1d7c790a1fdf7406b94c
MD5 7d4bf2e0b10d297d36fa41cd0c60a4f6
BLAKE2b-256 39c831de3715d795f57b17bbeaf44de201e80c16c0fbd3a5ebe8dffcd37cca29

See more details on using hashes here.

Provenance

The following attestation bundles were made for dj_paypal-0.16.1.tar.gz:

Publisher: ci.yml on HearthSim/dj-paypal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dj_paypal-0.16.1-py3-none-any.whl.

File metadata

  • Download URL: dj_paypal-0.16.1-py3-none-any.whl
  • Upload date:
  • Size: 37.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for dj_paypal-0.16.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f9cecd89dcb340eb9db11a76f8b001667b3d3cd4e9edae2e1648a6463c6394b8
MD5 8690305e5c9c6df52b927f112f4c3db2
BLAKE2b-256 85d190e19970f2c2254b2159fdc98c118f7e0fe48ff9fd505cfc521eef5b5ae3

See more details on using hashes here.

Provenance

The following attestation bundles were made for dj_paypal-0.16.1-py3-none-any.whl:

Publisher: ci.yml on HearthSim/dj-paypal

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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