@vikholodov

Где ошибка в формировании запроса Robokassa?

Добрый всем вечер!
Что-то голова совсем не варит сегодня, получаю ошибку при попытке оплатить по сформированному урлу, ругается на "Неверный параметр: Signature", вроде все по мануалу, без доп. параметров Shp_project и Shp_items все работает нормально, платежи проходят. Может я опечатку какую не вижу в упор или неправильно формирую урл? В общем, нужна ваша помощь, мужики
amount = request.POST['amount']
        project_id = request.POST.get('project_id')
        item_bought = request.POST.get('item_bought')
        payment_method = request.POST['method']
        inv_id_obj = TopUpPayment.objects.create(user=request.user, amount=amount).id
        inv_id = 'InvoiceID=%s' % inv_id_obj
        login = 'MerchantLogin=*store_login*'
        sum = 'OutSum=%s' % amount
        method = 'IncCurrLabel=%s' % payment_method
        description = 'Description=Пополнение баланса акканута'
        email = 'email=%s' % request.user.email
        if project_id and len(project_id) > 0 and item_bought and len(item_bought) > 0:
            signature = hashlib.md5( ("*store_name*:%s:%s:*pass*:Shp_project=%s:Shp_items=%s" % (amount, inv_id_obj, project_id, item_bought) ).encode('utf-8') ).hexdigest()
            robokassa_get = 'https://auth.robokassa.ru/Merchant/Index.aspx?{login}&{sum}&{inv_id}&{description}&{method}&{email}&{signature_value}&{project}&{items}'.format(
                login=login,
                sum=sum,
                inv_id=inv_id,
                description=description,
                method=method,
                email=email,
                project='Shp_project=%s' % project_id,
                items='Shp_items=%s' % item_bought,
                signature_value='SignatureValue=%s' % signature
            )
  • Вопрос задан
  • 204 просмотра
Пригласить эксперта
Ответы на вопрос 1
Shp_items=%s должен быть раньше при создании хеша, то есть перед Shp_project=%s
Все дополнительные Shp_ должны быть по алфавиту
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы