использую django 1.6 и django-paypal
хочу получить сигнал об успешной оплате и отправить письмо на мыло себе, оплата проходит нормально, но сигнал не получаю, может я туплю, но делаю все как в доке написано
settings.py
INSTALLED_APPS = [
#...
'paypal.standard.ipn',
#...
]
#...
PAYPAL_RECEIVER_EMAIL = "yourpaypalemail@example.com"
views.py
from paypal.standard.forms import PayPalPaymentsForm
def view_that_asks_for_money(request):
# What you want the button to do.
paypal_dict = {
"business": settings.PAYPAL_RECEIVER_EMAIL,
"amount": "10000000.00",
"item_name": "name of the item",
"invoice": "unique-invoice-id",
"notify_url": "https://www.example.com" + reverse('paypal-ipn'),
"return_url": "https://www.example.com/your-return-location/",
"cancel_return": "https://www.example.com/your-cancel-location/",
}
# Create the instance.
form = PayPalPaymentsForm(initial=paypal_dict)
context = {"form": form}
return render_to_response("payment.html", context)
payment.html
<h1>Show me the money!</h1>
<!-- writes out the form tag automatically -->
{{ form.render }}
urls.py
urlpatterns = patterns('',
(r'^something/paypal/', include('paypal.standard.ipn.urls')),
)
models.py
from paypal.standard.ipn.signals import payment_was_successful
def my_callback(sender, **kwargs):
ipn_obj = sender
# You need to check 'payment_status' of the IPN
if ipn_obj.payment_status == "Completed":
send_mail('Subject here', 'Here is the message', 'mail@mail.com',
['mail@mail.com'], fail_silently=False)
payment_was_successful.connect(my_callback)
Ну вроде все элементарно должно быть, оплата проходит, а сигнала нет получается, пробывал обычные сигналы для теста делать, например на изменение модели, все ок было.. а с этим django-paypal не выходит..
Да и еще в админке PayPal IPNs тоже пусто
Updated 8 Dec. 2014, 1:31 by devnull.