Обратный URL-адрес PayPal картриджа Django не работает

проблема

Я следовал этому руководству по реализации картриджа Django с PayPal. Все размещено на AWS. И все работает нормально, по крайней мере с учетной записью песочницы. За исключением URL-адреса возврата, когда я совершаю платеж и нажимаю на ссылку, чтобы вернуться в магазин, я перенаправлен на полную страницу только для того, чтобы имя моего хоста изменилось на внутренний ip-адрес экземпляра amazon.

Открытия

Когда создается форма для запроса к Paypal, возвращаемое поле url инициализируется значением из request.get_host() Джанго. Проблема в том, что AWS использует собственную балансировку нагрузки, поэтому возвращается адрес машины. Я попытался включить USE_X_FORWARDED_HOST в настройках, но он все еще не работает.

1 ответ

Решение

Решение найдено!!!

Таким образом, решение было найдено здесь. По сути, поскольку сам VPS ничего не знает о внешнем мире в AWS, вам необходимо вручную изменить имя хоста сайтов. Либо используйте SQL для изменения поля в таблице, либо используйте оболочку Django.

>>> from django.contrib.sites.models import Site
>>> website = Site.objects.all()[0] #or choose the website you need
>>> one.domain = 'myveryspecialdomain.com'
>>> one.save()

После этого правильное имя хоста было добавлено в запрос.

Другие вопросы по тегам