def payment_method_processor(message: Message): chat_id = message.chat.id user_id = message.from_user.id language = userservice.get_user_language(user_id) current_order = orderservice.get_current_order_by_user(user_id) def error(): error_msg = strings.get_string('order.payment_error', language) bot.send_message(chat_id, error_msg) bot.register_next_step_handler_by_chat_id(chat_id, payment_method_processor) def phone_number(): _to_the_phone_number(chat_id, language, current_order.customer) if not message.text: error() return if strings.get_string('go_to_menu', language) in message.text: back_to_the_catalog(chat_id, language) elif strings.get_string('go_back', language) in message.text: if current_order.shipping_method == Order.ShippingMethods.PICK_UP: _to_the_shipping_method(chat_id, language) elif current_order.shipping_method == Order.ShippingMethods.DELIVERY: _to_the_address(chat_id, language) elif strings.from_order_payment_method(Order.PaymentMethods.CASH, language) in message.text: orderservice.set_payment_method(user_id, Order.PaymentMethods.CASH) phone_number() elif strings.from_order_payment_method(Order.PaymentMethods.PAYME, language) in message.text: orderservice.set_payment_method(user_id, Order.PaymentMethods.PAYME) phone_number() elif strings.from_order_payment_method(Order.PaymentMethods.CLICK, language) in message.text: orderservice.set_payment_method(user_id, Order.PaymentMethods.CLICK) phone_number() else: error()
def payment_method_processor(message: Message): chat_id = message.chat.id user_id = message.from_user.id language = userservice.get_user_language(user_id) current_order = orderservice.get_current_order_by_user(user_id) def error(): if message.text == '/start': registration.welcome(message) return error_msg = strings.get_string('order.payment_error', language) bot.send_message(chat_id, error_msg) bot.register_next_step_handler_by_chat_id(chat_id, payment_method_processor) def phone_number(): current_order = orderservice.set_phone_number(user_id) _to_the_confirmation(chat_id, current_order, language) if not message.text: error() return if strings.get_string('go_to_menu', language) in message.text: botutils.to_main_menu(chat_id, language) elif strings.get_string('go_back', language) in message.text: if current_order.shipping_method == Order.ShippingMethods.PICK_UP: back_to_the_catalog(chat_id, language) elif current_order.shipping_method == Order.ShippingMethods.DELIVERY: back_to_the_catalog(chat_id, language) elif strings.from_order_payment_method(Order.PaymentMethods.CASH, language) in message.text: orderservice.set_payment_method(user_id, Order.PaymentMethods.CASH) phone_number() else: error()
from_order_shipping_method(Order.ShippingMethods.PICK_UP, 'ru'), get_string('go_to_menu')) _keyboards_ru['order.shipping_methods'] = _shipping_methods_keyboard_ru _order_location_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) location_button = KeyboardButton(get_string('my_location'), request_location=True) _order_location_keyboard_ru.add(location_button) _order_location_keyboard_ru.add(get_string('go_back')) _keyboards_ru['order.address'] = _order_location_keyboard_ru _order_payment_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) _order_payment_keyboard_ru.add( from_order_payment_method(Order.PaymentMethods.PAYME, 'ru'), from_order_payment_method(Order.PaymentMethods.OtherPAYME, 'ru'), from_order_payment_method(Order.PaymentMethods.CASH, 'ru')) _order_payment_keyboard_ru.add(get_string('go_back'), get_string('go_to_menu')) _keyboards_ru['order.payment'] = _order_payment_keyboard_ru _order_confirmation_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _order_confirmation_keyboard_ru.add(get_string('order.confirm'), get_string('order.cancel')) _keyboards_ru['order.confirmation'] = _order_confirmation_keyboard_ru _order_confirmation_payment_keyboard_ru = ReplyKeyboardMarkup( resize_keyboard=True, row_width=1) _order_confirmation_payment_keyboard_ru.add(get_string('order.cancel', 'ru')) _keyboards_ru[ 'order.payment_confirmation'] = _order_confirmation_payment_keyboard_ru
def payment_method(value): return strings.from_order_payment_method(value, 'ru')
_keyboards_ru['catalog.dish_keyboard'] = _dish_keyboard_ru _shipping_methods_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) _shipping_methods_keyboard_ru.add(from_order_shipping_method(Order.ShippingMethods.DELIVERY, 'ru'), from_order_shipping_method(Order.ShippingMethods.PICK_UP, 'ru'), get_string('go_to_menu')) _keyboards_ru['order.shipping_methods'] = _shipping_methods_keyboard_ru _order_location_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) location_button = KeyboardButton(get_string('my_location'), request_location=True) _order_location_keyboard_ru.add(location_button) _order_location_keyboard_ru.add(get_string('go_back')) _keyboards_ru['order.address'] = _order_location_keyboard_ru _order_payment_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) _order_payment_keyboard_ru.add(from_order_payment_method(Order.PaymentMethods.PAYME, 'ru'), from_order_payment_method(Order.PaymentMethods.CASH, 'ru')) _order_payment_keyboard_ru.add(get_string('go_back'), get_string('go_to_menu')) _keyboards_ru['order.payment'] = _order_payment_keyboard_ru _order_confirmation_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _order_confirmation_keyboard_ru.add(get_string('order.confirm'), get_string('order.cancel')) _keyboards_ru['order.confirmation'] = _order_confirmation_keyboard_ru _order_confirmation_payment_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _order_confirmation_payment_keyboard_ru.add(get_string('order.cancel', 'ru')) _keyboards_ru['order.payment_confirmation'] = _order_confirmation_payment_keyboard_ru _comments_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _comments_keyboard_ru.add(*[get_string('comments.point_' + str(x)) for x in list(reversed(range(1, 6)))]) _comments_keyboard_ru.add(get_string('go_to_menu')) _keyboards_ru['comments.send_comment'] = _comments_keyboard_ru
from_order_shipping_method(Order.ShippingMethods.PICK_UP, 'ru'), get_string('go_to_menu')) _keyboards_ru['order.shipping_methods'] = _shipping_methods_keyboard_ru _order_location_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) location_button = KeyboardButton(get_string('my_location'), request_location=True) _order_location_keyboard_ru.add(location_button) _order_location_keyboard_ru.add(get_string('go_back')) _keyboards_ru['order.address'] = _order_location_keyboard_ru _order_payment_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=2) _order_payment_keyboard_ru.add( from_order_payment_method(Order.PaymentMethods.CASH, 'ru'), from_order_payment_method(Order.PaymentMethods.TERMINAL, 'ru'), get_string('go_back'), get_string('go_to_menu')) _keyboards_ru['order.payment'] = _order_payment_keyboard_ru _order_confirmation_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _order_confirmation_keyboard_ru.add(get_string('order.confirm'), get_string('order.cancel')) _keyboards_ru['order.confirmation'] = _order_confirmation_keyboard_ru _comments_keyboard_ru = ReplyKeyboardMarkup(resize_keyboard=True, row_width=1) _comments_keyboard_ru.add(*[ get_string('comments.point_' + str(x)) for x in list(reversed(range(1, 6))) ]) _comments_keyboard_ru.add(get_string('go_to_menu'))