Integration of Flask and YuKassa.
Project description
Flask-Yookassa - Integration of Flask and YuKassa.
Installation
Install the latest stable version by running the command:
pip install Flask-Yookassa
Configuration
The following configuration options are available to specify:
Option |
Description |
---|---|
YOOKASSA_SHOP_ID |
Required. Store ID issued by ЮKassa. |
YOOKASSA_SHOP_SECRET_KEY |
Required. The secret key of the store, issued by ЮKassa. |
YOOKASSA_NOTIFICATIONS_IP |
A set of IP addresses or masks from which hook calls are allowed. By default: set(). |
Custom error handler
You can register your ЮKassa API error handler. For example, display a standard Flask page for HTTP errors:
from flask import Flask, abort
from flask_yookassa import Yookassa
app = Flask(__name__)
app.config.from_prefixed_env()
yookassa = Yookassa(app)
@yookassa.errorhandler
def handle_api_error(resp, code):
"""Registers a custom error handler for the ЮKassa API."""
abort(code, resp['description'])
Only HTTPException will be caught and handled automatically, other exception types need to be handled manually.
Notifications handler
Any entry point can be decorated with a special flask_yookassa.Yookassa.hookhandler decorator.
The decorator checks the request for spam. The request must come from allowed IP addresses, the resource is checked for existence and for the relevance of the status:
from flask import Flask
from flask_yookassa import Yookassa
app = Flask(__name__)
app.config.from_prefixed_env()
yookassa = Yookassa(app)
@app.route('/callback')
@yookassa.hookhandler
def handle_hook(notification):
"""The entry point handles the ЮKassa notifications."""
# Any code to handle the event.
return ''
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
Built Distribution
Hashes for Flask_Yookassa-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e392da833df0d44249e47f20098717551ad1c66a02804f4dd491542db740c452 |
|
MD5 | 712add018bcd50b688e5238e6a72230d |
|
BLAKE2b-256 | b9d1298b6099690a1434a64cea60a17f2a4cb5639b2c8c7d518bdd0cf5d9c0f3 |