Skip to main content

Integration of Flask and YuKassa.

Project description

Latest Version MIT GitHub stars

DOWNLOADS DOWNLOADS_M DOWNLOADS_W

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Flask-Yookassa-0.1.0.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

Flask_Yookassa-0.1.0-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

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