Настройка Django-PayPal для PDT дает мне ошибку - PullRequest
1 голос
/ 16 марта 2012

Я использую версию django-paypal для dcramers [1]. Я пытаюсь использовать PDT с подписками в моей учетной записи PayPal для бизнеса в песочнице xpanta_XXX_biz@paypal.com

это мои views.py [2]:

def subscribe_confirmation(request, username):
    try:
        user = User.objects.get(username=username)
    except User.DoesNotExist:
        raise Http404(u'User not Found')
    paypal_dict = {
        "cmd": "_xclick-subscriptions",
        "business": "xpanta_XXX_biz@gmail.com",
        "a3": "9.99",                      # monthly price
        "p3": 1,                           # duration of each unit (depends on unit)
        "t3": "M",                         # duration unit ("M for Month")
        "src": "1",                        # make payments recur
        "sra": "1",                        # reattempt payment on payment error
        "no_note": "1",                    # remove extra notes (optional)
        "item_name": "monthly subscription",
        "notify_url": "http://mydomain.com/paypal/pdt/",
        "return_url": "http://mydomain.com/pp_success/%s/" % username,
        "cancel_return": "http://mydomain.com/pp_cancel/%s/" % username,
    }

    # Create the instance.
    form = PayPalPaymentsForm(initial=paypal_dict, button_type="subscribe")
    variables = RequestContext(request, {'user': user, 'form': form, 'type': 'monthly', 'price': '9.99'})
    return render_to_response("subscribe_confirm.html", variables)

Однако, когда я захожу на сайт PayPal, чтобы протестировать подписку на мой сервис (используя мои обычные учетные данные PayPal. По какой-то причине я не могу использовать свой личный аккаунт в песочнице xpanta_XXX_per@gmail.com для тестирования платежной системы ) Я получаю эту ошибку:

The link you have used to enter the PayPal system is invalid. Please review the link and try again.

В нижней части ошибки есть кнопка «Вернуться к продавцу», которая возвращает меня на страницу отмены (как и ожидалось).

Что я делаю не так?

PS: добавление urls.py раздела:

(...
    url(r'^pp_success/(\w+)/$', pp_success),
    url(r'^pp_cancel/(\w+)/$', pp_cancel),
...)

urlpatterns += patterns('',
    url(r'^paypal/pdt/', include('paypal.standard.pdt.urls')),
)

[1] https://github.com/dcramer/django-paypal

[2] Другие шаги, описанные в файле readme (раздел «Использование PayPal Payments Standard PDT»), не изменяются и выполняются точно так же, как описано.

1 Ответ

0 голосов
/ 17 марта 2012

Я думаю, что нашел ответ.

в файле readme говорит, что для визуализации формы в шаблоне нам нужно сделать следующее: {{ form.render }}

Это вовсе не говорит о том, что если вам нужно использовать свою учетную запись в песочнице, вы должны сделать так:

{{ form.sandbox }}

...