Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement the deferred payment flow #27

Open
DragoonAethis opened this issue Jan 21, 2022 · 0 comments
Open

Implement the deferred payment flow #27

DragoonAethis opened this issue Jan 21, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@DragoonAethis
Copy link
Owner

The scenario:

  • You pay for the ticket, everything works, yay
  • P24 sends a notification to our gateway endpoint that it worked, our handler verifies/accepts the payment and marks it as confirmed.
  • P24 redirects the user back to Coriolis, handler checks if the payment is confirmed and updates the ticket status accordingly.

In most cases, the event order is just that, but occasionally something goes wrong and the notification shows up late.

The problem is that it's the user's view handler doing the ticket status updates - if P24 notification shows up after the redirect, it never gets updated. While this can be fixed by clicking Pay Online again (and django-payments will just do the redirect from the 3rd step), it's not a great experience.

  • An easy fix is to update ticket statuses in the gateway endpoint handler, but if the payment fails, nothing ever hits it. Not great.
  • The 3rd step should redirect to a "waiting for payment" screen where we poll for ticket status updates for a few seconds.
  • If that doesn't happen, a background task that asks P24 what's up should fire.
@DragoonAethis DragoonAethis self-assigned this Feb 1, 2022
@DragoonAethis DragoonAethis added the enhancement New feature or request label Feb 1, 2022
@DragoonAethis DragoonAethis added this to the Beowulf milestone Feb 19, 2022
@DragoonAethis DragoonAethis modified the milestones: Beowulf, Caelondia Jan 15, 2023
@DragoonAethis DragoonAethis removed this from the Caelondia milestone Feb 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant