Stripe Checkout (with Payment Intents) payment module for django-oscar
Project description
Stripe integration for django-oscar
pip3 install django-oscar-stripe-sca
This is a framework for using Stripe Checkout with a view for being SCA compliant for payments in Europe after September 2019. Requires the Python Stripe API (2.27), django 2 and above, django-oscar 2 and above. Based in part on django-oscar-stripe and django-oscar-paypal.
Useful information:
Contributing
Please do. Let me know.
Settings
Settings are described in the settings.py file:
STRIPE_SEND_RECEIPT: (True/False) - whether to send the payment receipt to the purchaser.
STRIPE_PUBLISHABLE_KEY: Your key from Stripe.
STRIPE_SECRET_KEY: Your secret key from Stripe.
STRIPE_COMPRESS_TO_ONE_LINE_ITEM (default True): If True, send the order to stripe as one combined line item, instead of one for each product.
STRIPE_USE_PRICES_API (default True): Use Stripe’s Prices API to send line items, rather than the defunct line_item object. (See https://stripe.com/docs/payments/checkout/migrating-prices).
STRIPE_RETURN_URL_BASE: The common portion of the URL parts of the following two URLs. Not used itself.
STRIPE_PAYMENT_SUCCESS_URL: The URL to which Stripe should redirect upon payment success.
STRIPE_PAYMENT_CANCEL_URL: The URL to which Stripe should redirect upon payment cancel.
Views
- Three urls are provided in apps.py. Three views are provided in the views.py file.
StripeSCAPaymentDetailsView: This sets up the variables which will be sent to Stripe and renders a templates which injects those variables and redirects to Stripe. Payment will be taken by Stripe as a “Charge” step.
StripeSCASuccessResponseView: This is a form view that is loaded after a successful payment. The “Place order” button is a form which ultimately tells Stripe to “capture” the payment.
StripeSCACancelResponseView: This is the view that will be shown if the user cancels the payment for any reason.
The latter two views should be the views to which STRIPE_PAYMENT_SUCCESS_URL and STRIPE_PAYMENT_CANCEL_URL refer.
If you want to extend these views you can. Extend Oscar’s checkout app, add three new views to extend these ones, and overwrite the URLs in your checkout apps apps.py file.
Sandbox for the Stripe SCA integration for django-oscar
To get started with the sandbox (on Windows):
Create a venv.
>python -m venv .\venv
Activate the venv.
>.\venv\Scripts\activate
Install the dependencies, then Oscar Stripe SCA
>pip install -r requirements.txt
>pip install .
Create a file called “settings_local.py” next to “settings.py” and add the following three keys to override the examples given in “settings.py”. These will be the values for your shop and site integration.
STRIPE_PUBLISHABLE_KEY = "XXX"
STRIPE_SECRET_KEY = "YYY"
STRIPE_RETURN_URL_BASE = "https://www.zzz.com"
Run the migrations and start the server:
>cd sandbox
>python manage.py migrate
>python manage.py runserver
TODO
The tests have not been updated yet.
The STRIPE_PAYMENT_SUCCESS_URL and STRIPE_PAYMENT_CANCEL_URL settings could probably be removed
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
Built Distribution
File details
Details for the file django_oscar_stripe_sca-0.8.tar.gz
.
File metadata
- Download URL: django_oscar_stripe_sca-0.8.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36909b27b4d8d776af303377f34bcbbfbc1ba687c965d69ec4c817f568c51a96 |
|
MD5 | ce8320f3e808da9eed302dbb8811576d |
|
BLAKE2b-256 | 1036bbff84b5062c34b5d9418bfc0597857b3ff4fc2c32caad3cc28c4bab433e |
File details
Details for the file django_oscar_stripe_sca-0.8-py2.py3-none-any.whl
.
File metadata
- Download URL: django_oscar_stripe_sca-0.8-py2.py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 197c58c6f54a18639bbf9ca85b68a0a1117995e9345d8870b1dfb3f0c6eaede7 |
|
MD5 | 748c353f40e3758a3fd5c0fc28a9cb4b |
|
BLAKE2b-256 | 9cd0180f3c99b5b67cb433f505af0e997d3334ff01e9ea7dcfcae1bbe55b0af1 |