feat: add separate Freekassa SBP and card payment methods
Split Freekassa into sub-methods: СБП/QR (i=44) and Карты РФ (i=36). Each method has independent enable/display_name settings, dedicated handlers, keyboard buttons, and correct payment_system_id routing. Webhook notifications resolve display name from payment metadata.
This commit is contained in:
+25
-1
@@ -1569,7 +1569,31 @@ def get_payment_methods_keyboard(amount_kopeks: int, language: str = DEFAULT_LAN
|
||||
)
|
||||
has_direct_payment_methods = True
|
||||
|
||||
if settings.is_freekassa_enabled():
|
||||
if settings.is_freekassa_sbp_enabled():
|
||||
sbp_name = settings.get_freekassa_sbp_display_name()
|
||||
keyboard.append(
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=texts.t('PAYMENT_FREEKASSA_SBP', f'📱 {sbp_name}'),
|
||||
callback_data=_build_callback('freekassa_sbp'),
|
||||
)
|
||||
]
|
||||
)
|
||||
has_direct_payment_methods = True
|
||||
|
||||
if settings.is_freekassa_card_enabled():
|
||||
card_name = settings.get_freekassa_card_display_name()
|
||||
keyboard.append(
|
||||
[
|
||||
InlineKeyboardButton(
|
||||
text=texts.t('PAYMENT_FREEKASSA_CARD', f'💳 {card_name}'),
|
||||
callback_data=_build_callback('freekassa_card'),
|
||||
)
|
||||
]
|
||||
)
|
||||
has_direct_payment_methods = True
|
||||
|
||||
if settings.is_freekassa_enabled() and not settings.is_freekassa_sbp_enabled() and not settings.is_freekassa_card_enabled():
|
||||
freekassa_name = settings.get_freekassa_display_name()
|
||||
keyboard.append(
|
||||
[
|
||||
|
||||
Reference in New Issue
Block a user