def pagarme_notification(request, user_id: int): if request.method != 'POST': return HttpResponseNotAllowed([request.method]) try: payment_facade.confirm_boleto_payment( user_id, request.POST, request.body.decode('utf8'), request.headers['X-Hub-Signature']) except PagarmeNotPaidTransaction: pass else: user = user_facade.find_user_by_id(user_id) _promote_client_and_remove_tag_boleto(user, request) return HttpResponse('')
def subscribe_member_who_paid_boleto(user_id: int, notification_data: dict, raw_post: str, signature: str, source: str = 'unknow') -> _User: try: _payment_facade.confirm_membership_boleto_payment( user_id, notification_data, raw_post, signature) except _PagarmeNotPaidTransaction: pass else: user = _user_facade.find_user_by_id(user_id) _user_facade.promote_member(user, source) return user