Skip to main content

Flask-ClickUz

Only for Uzbekistan

Click.uz integration for Flask

Links

How it Works

Install

pip install Flask-ClickUz

Add your credentials from ClickUz to config file

CLICK_SECRET = 'Your secret key'
CLICK_SERVICE_ID = 'Your service ID'
CLICK_MERCHANT_ID = "Your merchant ID" 

Create Flask App With Flask-ClickUz

from flask import Flask
from flask_clickuz import Click
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
click = Click(db)
orders = [525]

def Check_Allowment(data): 
    merchant_trans_id = data.get('merchant_trans_id')
    if int(merchant_trans_id) in orders:
        return True
    return False

def Click_Callback(transaction):
    action = transaction.action # 0 - cancaled, 1 - paid
    pass

def create_app():
    app = Flask(__name__)
    app.config.from_pyfile('config.py')
    db.init_app(app)
    
    click.Register_Callback(Click_Callback) # Register callback
    click.Register_Validator(Check_Allowment) # Register validator
    click.init_app(app)
    
    # Generate url for new orders
    url = click.Generate_Transaction(order_id=123, amount=50000, return_url = '/return_url')
    
    return app

Flask-ClickUz models schema

# Flask-ClickUz uses Flask-SQLAlchemy models to save data in database, it prefers to use Postgresql

class Click_Transaction(db.Model):
    __tablename__ = 'click_transaction'
    id = db.Column(db.Integer, primary_key=True)
    click_trans_id = db.Column(db.Integer, unique=True)
    service_id = db.Column(db.Integer)
    click_paydoc_id = db.Column(db.Integer)
    merchant_trans_id = db.Column(db.String(255))
    amount = db.Column(db.Float)
    action = db.Column(db.Integer)
    error = db.Column(db.Integer)
    error_note = db.Column(db.String(255))
    sign_time = db.Column(db.DateTime)
    sign_string = db.Column(db.String(255))

Accessing Models

Select data from models

click.model # Click_Transaction 
Click_Transaction = click.model
transaction = Click_Transaction.query.all() # You can select or filter data

Add model view to Flask-Admin

from flask_admin.contrib.sqla import ModelView
admin.add_view(ModelView(click.model, db.session))

Task List

SHOP-API methods

  • Prepare
  • Complete

Merchant API methods

  • create_invoice
  • check_invoice
  • create_card_token
  • verify_card_token
  • payment_with_card_token
  • delete_card_token
  • check_payment
  • merchant_trans_id
  • cancel

Licence

This project is licensed under the MIT License (see the LICENSE file for details).

Release files for Flask-ClickUz 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Flask-ClickUz 1.0.1
File Size Uploaded
Flask-ClickUz-1.0.1.tar.gz 5.5 kB Details

Release files / Flask-ClickUz-1.0.1.tar.gz

Download URL Flask-ClickUz-1.0.1.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d9fa43406249c91767d0b2a54e9a1dea2b4ce0ee7db1d22453d5fc0b0617bc19
BLAKE2b-256 checksum
How to use checksums
2f30dffd1a895f49a9561c2ccfc5c3bf3d792707bbc481bc86394627a58199c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.10

Release history Release notifications | RSS feed

This release

1.0.1 This release

1 release file

1.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page