chore: expand default PayKilla payment currencies
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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`. |
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"])
|
||||
|
||||
Reference in New Issue
Block a user