feat(payments): add LAVA Business payment provider
Add a new provider module for LAVA Business (api.lava.ru): - invoice creation via POST /business/invoice/create signed with HMAC-SHA256 over the raw request body in the Signature header - webhook handling with Authorization-header signature verification that accepts both raw-body and sorted-keys JSON canonicalizations (legacy PHP SDK shops sign the latter), plus amount cross-check before finalizing a successful payment - pending invoice reuse through /business/invoice/status - Telegram pay_lava callback flow and Web App payment creation - admin settings manifest fields, presentation overrides, and RUB-only currency support declared on the provider SPEC Register the SPEC in the provider registry and wire the provider into the payment method order, success-email labels, and locale override prefixes.
This commit is contained in:
@@ -2,7 +2,18 @@ from __future__ import annotations
|
||||
|
||||
from typing import Any, Dict, Iterable, List, Mapping, Optional
|
||||
|
||||
from . import cryptopay, freekassa, heleket, paykilla, platega, severpay, stars, wata, yookassa
|
||||
from . import (
|
||||
cryptopay,
|
||||
freekassa,
|
||||
heleket,
|
||||
lava,
|
||||
paykilla,
|
||||
platega,
|
||||
severpay,
|
||||
stars,
|
||||
wata,
|
||||
yookassa,
|
||||
)
|
||||
from .base import (
|
||||
PaymentProviderPresentation,
|
||||
PaymentProviderSpec,
|
||||
@@ -22,6 +33,7 @@ PAYMENT_PROVIDER_SPECS: tuple[PaymentProviderSpec, ...] = (
|
||||
cryptopay.SPEC,
|
||||
heleket.SPEC,
|
||||
paykilla.SPEC,
|
||||
lava.SPEC,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user