chore: expand default PayKilla payment currencies

This commit is contained in:
3252a8
2026-06-04 16:33:50 +03:00
parent ae7bfb9621
commit 358ef6ded7
5 changed files with 12 additions and 9 deletions
+4 -4
View File
@@ -67,7 +67,7 @@ from .shared import (
router = Router(name="user_subscription_payments_paykilla_router")
_LOG = "paykilla"
PAYKILLA_DEFAULT_PAYMENT_CURRENCIES = "USDTTRC"
PAYKILLA_DEFAULT_PAYMENT_CURRENCIES = "USDTTRC,BTC,ETH,USDTBSC,USDTTON"
PAYKILLA_DEFAULT_INVOICE_CURRENCIES = "USD,EUR"
PAYKILLA_DEFAULT_EXCHANGE_RATE_URL = "https://open.er-api.com/v6/latest/{source}"
PAYKILLA_DEFAULT_MIN_PAYMENT_AMOUNT = 10.0
@@ -336,7 +336,7 @@ def _invoice_text(title: Any, payment_db_id: int) -> str:
def _payment_currencies(config: PaykillaConfig) -> List[str]:
currencies = list(parse_supported_currency_codes(config.PAYMENT_CURRENCIES))
return currencies or ["USDTTRC"]
return currencies or list(parse_supported_currency_codes(PAYKILLA_DEFAULT_PAYMENT_CURRENCIES))
def _invoice_currencies(config: PaykillaConfig) -> tuple[str, ...]:
@@ -1425,8 +1425,8 @@ _CONFIG_MANIFEST = (
"string",
"Accepted crypto tickers",
description=(
"Comma-separated PayKilla tickers sent as paymentCurrencies, e.g. USDTTRC. "
"Add BTC/ETH only when enabled for the merchant account."
"Comma-separated PayKilla tickers sent as paymentCurrencies. "
"Default: USDTTRC,BTC,ETH,USDTBSC,USDTTON."
),
placeholder=PAYKILLA_DEFAULT_PAYMENT_CURRENCIES,
subsection="PayKilla",
+1 -1
View File
@@ -378,7 +378,7 @@ Webhook настраивается в PayKilla Dashboard: **Settings -> Webhooks
| `PAYKILLA_SECRET_KEY` / `PAYKILLA_V2_SECRET_KEY` | Secret HMAC key для подписи API-запросов и проверки webhook. |
| `PAYKILLA_CURRENCY` | Резервная валюта инвойса PayKilla для платежей, чья валюта тарифа не входит в `PAYKILLA_INVOICE_CURRENCIES`. По умолчанию `USD`. |
| `PAYKILLA_INVOICE_CURRENCIES` | Валюты, которые PayKilla принимает в поле `currency` при создании invoice. По умолчанию `USD,EUR`. Если тариф в `RUB`, Minishop конвертирует сумму в `PAYKILLA_CURRENCY`. |
| `PAYKILLA_PAYMENT_CURRENCIES` | Crypto tickers для оплаты. Рекомендуемый стартовый вариант: `USDTTRC`; добавляйте `BTC`, `ETH` и другие тикеры только если они доступны в PayKilla Dashboard для merchant account. |
| `PAYKILLA_PAYMENT_CURRENCIES` | Crypto tickers для оплаты. По умолчанию `USDTTRC,BTC,ETH,USDTBSC,USDTTON`; оставляйте в списке только тикеры, доступные в PayKilla Dashboard для merchant account. |
| `PAYKILLA_SUPPORTED_CURRENCIES` | Валюты тарифов/платежей, которым разрешено использовать PayKilla в этом магазине. |
| `PAYKILLA_INVOICE_TYPE` | Необязательный override: `FIAT_BASED`, `FIXED_AMOUNT` или `OPEN_AMOUNT`. |
| `PAYKILLA_LIFETIME_SECONDS` | TTL инвойса, отправляется как `expiredAt`. |
+1 -1
View File
@@ -188,7 +188,7 @@ Payload создания invoice содержит обязательные по
1. Включите `PAYKILLA_ENABLED`.
2. Укажите `PAYKILLA_API_KEY` и `PAYKILLA_SECRET_KEY`.
3. Оставьте `PAYKILLA_CURRENCY=USD`, если PayKilla не принимает валюту тарифов как invoice currency. В `PAYKILLA_INVOICE_CURRENCIES` укажите валюты, доступные в PayKilla для поля `currency`, например `USD,EUR`.
4. В `PAYKILLA_PAYMENT_CURRENCIES` начните с `USDTTRC`, а `BTC`, `ETH` и другие тикеры добавляйте только если они доступны в PayKilla Dashboard.
4. В `PAYKILLA_PAYMENT_CURRENCIES` оставьте `USDTTRC,BTC,ETH,USDTBSC,USDTTON` или укажите другой список тикеров, доступных в PayKilla Dashboard.
5. Оставьте `PAYKILLA_MIN_PAYMENT_AMOUNT=10` и `PAYKILLA_MIN_PAYMENT_CURRENCY=USD`, если минимальный invoice PayKilla равен `10 USD`.
6. Убедитесь, что webhook `/webhook/paykilla` настроен в PayKilla: Minishop не отправляет redirect URLs в PayKilla и полагается на webhook для активации платежа.
7. Добавьте `paykilla` в `PAYMENT_METHODS_ORDER`, если хотите задать явный порядок кнопок.
@@ -4050,12 +4050,12 @@
"section_order": 4,
"subsection": "PayKilla",
"label": "Accepted crypto tickers",
"description": "Comma-separated PayKilla tickers sent as paymentCurrencies, e.g. USDTTRC. Add BTC/ETH only when enabled for the merchant account.",
"description": "Comma-separated PayKilla tickers sent as paymentCurrencies. Default: USDTTRC,BTC,ETH,USDTBSC,USDTTON.",
"i18n_label_key": "admin_settings_field_paykilla_payment_currencies_label",
"i18n_description_key": "admin_settings_field_paykilla_payment_currencies_description",
"i18n_subsection_key": "admin_settings_subsection_paykilla",
"i18n_placeholder_key": "admin_settings_field_paykilla_payment_currencies_placeholder",
"placeholder": "USDTTRC",
"placeholder": "USDTTRC,BTC,ETH,USDTBSC,USDTTON",
"optional": true,
"secret": false,
"provider_id": "paykilla",
+4 -1
View File
@@ -258,7 +258,10 @@ class PaykillaServiceTests(unittest.TestCase):
self.assertEqual(body["purpose"], "Tunnel Shop payment 556")
self.assertRegex(body["purpose"], r"^[A-Za-z0-9_\s.,]+$")
self.assertEqual(body["paymentCurrencies"], ["USDTTRC"])
self.assertEqual(
body["paymentCurrencies"],
["USDTTRC", "BTC", "ETH", "USDTBSC", "USDTTON"],
)
self.assertEqual(body["description"], body["purpose"])
self.assertTrue(body["expiredAt"].endswith("Z"))
self.assertTrue(body["userPaysNetworkFee"])