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:
@@ -329,7 +329,7 @@ class Settings(BaseSettings):
|
||||
STARS_ADMIN_ONLY_ENABLED: bool = Field(default=False)
|
||||
PAYMENT_METHODS_ORDER: Optional[str] = Field(
|
||||
default=None,
|
||||
description="Comma-separated list of payment methods to show (e.g., severpay,wata,freekassa,yookassa,platega,stars,cryptopay,heleket,paykilla)", # noqa: E501
|
||||
description="Comma-separated list of payment methods to show (e.g., severpay,wata,freekassa,yookassa,platega,stars,cryptopay,heleket,paykilla,lava)", # noqa: E501
|
||||
)
|
||||
SUBSCRIPTION_PURCHASE_DESCRIPTION_ENABLED: bool = Field(
|
||||
default=True,
|
||||
@@ -1056,6 +1056,7 @@ class Settings(BaseSettings):
|
||||
"cryptopay",
|
||||
"heleket",
|
||||
"paykilla",
|
||||
"lava",
|
||||
]
|
||||
# Make sure default_order itself includes every registered spec.
|
||||
for sid in spec_ids:
|
||||
|
||||
Reference in New Issue
Block a user