интеграция Django-PayPal - PullRequest
       14

интеграция Django-PayPal

2 голосов
/ 05 апреля 2010

Я пытаюсь интегрировать Django-Paypal на сайт, где после оплаты покупателем мне необходимо отправить динамический URL-адрес, с которого пользователь может загрузить определенную информацию.

Я регистрирую всех пользователей по URL, который позволяет им купить документ. URL-адрес, доступ к которому может получить только зарегистрированный пользователь с подтвержденными идентификаторами электронной почты с помощью django-registration, позволяет пользователю подключаться к PayPal и осуществлять платежи.

Как мне получить сигнал и проверить, какой пользователь произвел оплату за продукт, который он / она приобрел, на основе этой информации

1) Мне нужно знать две информации, какой пользователь совершил платеж и за какой продукт он или она осуществил платеж?

2) Только если у меня есть эта информация, я могу отправить право UR: L по электронной почте.

Любая помощь приветствуется. Я не очень уверен, как работают django-сигналы. Какие подробности возвращает сигнал payment_was_successful?

Я использую IPN

1 Ответ

3 голосов
/ 05 апреля 2010

Для захвата сигнала вы определяете свою функцию и подключаете ее к сигналу следующим образом:

from paypal.standard.ipn.signals import payment_was_successful
def my_payment_was_successful_handler(sender, **kwargs):
    pass

payment_was_successful.connect(my_payment_was_successful_handler)

Чтобы иметь возможность идентифицировать пользователя, о котором говорится в сообщении IPN, я обычно модифицирую кнопку PayPal, чтобы передать поле с именем custom в форме, установленной на django user.id или какой-либо другой идентификатор, который вы можете найти идентифицировать вашего пользователя. Переменная custom отправляется обратно в аргумент sender, и вы можете найти пользователя.

Чтобы найти продукт, product_name также отправляется в sender обработчику, указанному выше. Вероятно, у вас будет модель для ваших продуктов, и вы захотите найти их по этому product_name, чтобы отправить соответствующую вещь по электронной почте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...