Download the PHP package samdevxuz/algorix-pay without Composer

On this page you can find all versions of the php package samdevxuz/algorix-pay. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package algorix-pay

Algorix Pay

tests Latest Version on Packagist PHP Version

Userbot-based P2P payment receiver for Laravel. Listens to Uzbek bank notification bots (Click, Payme, Uzum) on Telegram via MTProto, parses incoming-transfer messages, and emits a Laravel PaymentReceived event your app can react to.

Bank API yo'q? Provider integratsiyasi qimmat? Algorix Pay sizning hisobingizga kelayotgan bank botlari xabarlarini o'qiydi va to'lovni Laravel event sifatida yetkazadi.


What it does

  1. Logs into Telegram as a userbot (your account, via MadelineProto MTProto session).
  2. Watches messages from configured bank bots (e.g. @clickuz, @payme, @uzumbank_bot).
  3. Parses the message text with the matching Driver (regex + heuristics).
  4. Dispatches AlgorixPay\Events\PaymentReceived with the parsed amount, currency, transaction ID, sender/receiver cards, and timestamp.

Why MTProto (userbot) and not Bot API

Telegram's Bot API doesn't see messages between two regular users (or between a user and another bot). Bank notification "bots" send messages to the account holder's chat — a normal bot listener can't read them. A userbot session can.

Requirements

Install

Configure

.env:

Env Default Description
ALGORIX_API_ID Telegram api_id (required)
ALGORIX_API_HASH Telegram api_hash (required)
ALGORIX_SESSION_PATH storage/app/algorix-pay/userbot.madeline Persisted MTProto session path
ALGORIX_<DRIVER>_ENABLED false (Click: true) Enable a driver
ALGORIX_<DRIVER>_SOURCE clickuz / payme / uzumbank_bot Bot's Telegram username (lower-case, no @)
ALGORIX_DEDUP_TTL 10 Seconds to remember a messageId / transactionId for dedup. Bump to 600+ in production.
ALGORIX_DEDUP_CACHE default cache store Cache store name (e.g. redis) used for dedup
ALGORIX_LOG_CHANNEL stack Log channel for parser/listener events

First-run login

The first time you run php artisan pay:listen, MadelineProto will prompt for phone number + login code in the terminal. The session is then persisted at storage/app/algorix-pay/userbot.madeline and reused on subsequent runs.

Listen for payments

Order matching (v0.3+)

P2P to'lovlarda eng katta muammo — qaysi to'lov qaysi order'niki ekanligini topish. Bir vaqtda 10 ta mijoz 50 000 so'm jo'natsa, bank xabari shuni aytadi: "50 000 so'm tushdi". Qaysi biri?

Yechim: paket har bir kutilayotgan to'lov uchun unikal tail qo'shadi. Mijoz 50 000.37 so'm to'laydi (37 — bizning marker), pul kelganda paket avtomatik aniqlaydi va PaymentMatched event chiqaradi.

Setup

Facade alias'ni bootstrap/providers.php yoki config/app.php'ga qo'shing (Laravel 11+ aliaslarni avtomatik ulamaydi):

Expect a payment

Checkout sahifasi mijozga aynan 50 000.37 so'm ni jo'natishni so'raydi. Bu summa cache'da 15 daqiqaga rezerv qilingan.

React to a match

Tail mode

Mode Range Slots Trade-off
tiyin (default) 50 000.01 – 50 000.99 99 ta sum-per-vaqt mijoz sezmaydi
sum 50 001 – 50 999 so'm 999 ta ko'proq slot, mijoz ortiqcha so'mni ko'radi

ALGORIX_MATCHER_TAIL_MODE=tiyin|sum orqali tanlanadi.

Matcher config

Env Default Description
ALGORIX_MATCHER_ENABLED true Listener'ni o'chirish/yoqish
ALGORIX_MATCHER_CACHE default Cache store (e.g. redis)
ALGORIX_MATCHER_TTL 900 Default expiration (sekund)
ALGORIX_MATCHER_TAIL_MODE tiyin tiyin yoki sum
ALGORIX_MATCHER_MAX_ATTEMPTS 50 Tail collision retry limit
ALGORIX_MATCHER_CURRENCY_MISMATCH log drop | log | match_anyway

Custom tail generator

config/algorix-pay.php'da matcher.tail_generators map'iga o'z class'ingizni qo'shing (interface: \AlgorixPay\Contracts\TailGenerator).


Run the listener

In production: run as a supervisor / systemd service — the loop blocks.

Example supervisord snippet:

Idempotency & dedup

Every parsed payment carries:

Both layers use the configured cache store and respect ALGORIX_DEDUP_TTL.

Money

All amounts are in tiyin1 so'm = 100 tiyin. Format only at display time:

Architecture

Writing your own driver

Extend AbstractRegexDriver (recommended) and override the three pattern hooks:

Then register it in config/algorix-pay.php:

For a custom parser that doesn't fit the regex template, implement AlgorixPay\Contracts\PaymentDriver directly.

Tests

The suite covers:

Security

This package handles a userbot session — treat the session file (storage/app/algorix-pay/userbot.madeline) as a credential. Don't commit it; restrict file permissions; rotate the Telegram session if leaked.

ParsedPayment->rawText contains the original bank message — log responsibly.

License

MIT.


All versions of algorix-pay with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version ^11.0|^12.0
illuminate/console Version ^11.0|^12.0
illuminate/events Version ^11.0|^12.0
illuminate/support Version ^11.0|^12.0
danog/madelineproto Version ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package samdevxuz/algorix-pay contains the following files

Loading the files please wait ...