User = get_user_model() customer = pagarme_transaction['customer'] try: return User.objects.get(email=customer['email']) except User.DoesNotExist: return User.objects.create(first_name=customer['name'], email=customer['email']) facade.set_user_factory(user_factory) def print_contact_info(name, email, phone, payment_item_slug, user=None): print('Contact Data:', name, email, phone, payment_item_slug, user) facade.add_contact_info_listener(print_contact_info) def print_payment_id(payment_id): payment = facade.find_payment(payment_id) print(payment, payment.status()) facade.add_payment_status_changed(print_payment_id) def home(request): ctx = {'payment_items': facade.list_payment_item_configs()} return render(request, 'home.html', ctx)
phone: str, payment_item_slug: str, user=None): if (user is not None) and user.is_authenticated: user_id = user.id if payment_item_slug.startswith('membership'): core_facade.member_checkout_form(user) elif payment_item_slug.startswith('webdev'): core_facade.webdev_checkout_form(user) else: user_id = None email_marketing_facade.create_or_update_with_no_role.delay( name, email, f'{payment_item_slug}-form', id=user_id, phone=str(phone)) django_pagarme_facade.add_contact_info_listener(contact_info_listener) def user_factory(pagarme_transaction): customer = pagarme_transaction['customer'] customer_email = customer['email'].lower() customer_first_name = customer['name'].split()[0] return user_facade.force_register_lead(customer_first_name, customer_email) django_pagarme_facade.set_user_factory(user_factory) GENERATED_BOLETO_TAG = 'generated-boleto' @shared_task()
def listener_mock(mocker): listener = mocker.Mock() facade.add_contact_info_listener(listener) yield listener facade._contact_info_listeners = []