def prepare_pay(request, addon): """Prepare a BlueVia JWT to pass into navigator.pay()""" amount, currency, uuid_, contrib_for = start_purchase(request, addon) log.debug('Storing contrib for uuid: %s' % uuid_) Contribution.objects.create(addon_id=addon.id, amount=amount, source=request.REQUEST.get('src', ''), source_locale=request.LANG, uuid=str(uuid_), type=amo.CONTRIB_PENDING, paykey=None, user=request.amo_user, price_tier=addon.premium.price, client_data=ClientData.get_or_create(request)) data = {'amount': str(amount), 'currency': currency, 'app_name': unicode(addon.name), 'app_description': unicode(addon.description), 'postback_url': absolutify(reverse('bluevia.postback')), 'chargeback_url': absolutify(reverse('bluevia.chargeback')), 'seller': addon.pk, 'product_data': urlencode({'contrib_uuid': uuid_, 'addon_id': addon.pk}), 'typ': 'tu.com/payments/inapp/v1', 'aud': 'tu.com', 'memo': contrib_for} if waffle.flag_is_active(request, 'solitude-payments'): bluevia_jwt = client.prepare_bluevia_pay(data) else: bluevia_jwt = prepare_bluevia_pay(data) return {'blueviaJWT': bluevia_jwt, 'contribStatusURL': reverse('bluevia.pay_status', args=[addon.app_slug, uuid_])}
def prepare_pay(request, addon): """Prepare a BlueVia JWT to pass into navigator.pay()""" amount, currency, uuid_, contrib_for = start_purchase(request, addon) log.debug('Storing contrib for uuid: %s' % uuid_) Contribution.objects.create(addon_id=addon.id, amount=amount, source=request.REQUEST.get('src', ''), source_locale=request.LANG, uuid=str(uuid_), type=amo.CONTRIB_PENDING, paykey=None, user=request.amo_user, price_tier=addon.premium.price, client_data=ClientData.get_or_create(request)) data = {'amount': amount, 'currency': currency, 'app_name': unicode(addon.name), 'app_description': unicode(addon.description), 'postback_url': absolutify(reverse('bluevia.postback')), 'chargeback_url': absolutify(reverse('bluevia.chargeback')), 'seller': addon, 'contrib_uuid': uuid_, 'memo': contrib_for} return {'bluevia_jwt': client.prepare_bluevia_pay(data), 'contrib_uuid': uuid_}