The code is really simple to implement, but I don't think the explanation was intuitive enough.
You would need to create a signal like so
#hooks.py
from django.dispatch import Signal
success_signal = Signal(providing_args=[])
#views.py
from .hooks import success_signal
... # after payment
success_signal.connect(handler_function)
success_signal.send(sender=None, **kwargs)
This assumes that you already have a listener waiting for the signal broadcast,
Also replace None with your sender (optional), and replace **kwargs with any kwargs you're sending to your listeners.
Cheers