From f714f417e3ce5ad49eafdf27b4d63f013dc8281f Mon Sep 17 00:00:00 2001 From: Christian Henriksen Date: Fri, 23 Jan 2026 00:23:56 +0100 Subject: [PATCH 1/3] Change payment text and add payment error handling - Text for 'in person' payment didn't mention the info booth for paying for orders. - Blockchain payment options failed hard, when not having the right settings variables, now a graceful error message is served --- src/shop/templates/bank_transfer.html | 4 ++-- src/shop/templates/in_person.html | 3 +-- src/shop/views.py | 12 +++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/shop/templates/bank_transfer.html b/src/shop/templates/bank_transfer.html index 6f5253c6d..eee3adc2a 100644 --- a/src/shop/templates/bank_transfer.html +++ b/src/shop/templates/bank_transfer.html @@ -71,8 +71,8 @@

Pay by Bank Transfer

Remember: - Please allow for up to a week before we register your bank transfer, - especially if you are outside of the SEPA region. + We are volunteer based and payment registration happens in batches during the year. + Please allow for up to a month before we register your bank transfer. You will receive an email when your payment is registered.

diff --git a/src/shop/templates/in_person.html b/src/shop/templates/in_person.html index a7f0db710..a35924195 100644 --- a/src/shop/templates/in_person.html +++ b/src/shop/templates/in_person.html @@ -9,8 +9,7 @@ {% block shop_content %}

Pay In Person

-

To pay order #{{ order.id }} you need to locate an organiser (in person) and make the payment of {{ order.total|currency }} with cash, card or mobilepay. You need to bring the order id #{{ order.id }} as well so we can mark your order as paid.

+

To pay order #{{ order.id }} you go to info desk (in person) and make the payment of {{ order.total|currency }} with cash, card or mobilepay. You need to bring the order id #{{ order.id }} as well so we can mark your order as paid.

-

If physically finding an organiser is inconvenient for you (during events you can find us at the Infodesk, but between events geography can make things difficult) you should go back and pick a different payment method.

When your order has been marked as paid you will receive an invoice by email.

{% endblock %} diff --git a/src/shop/views.py b/src/shop/views.py index 31477d323..9e16d7827 100644 --- a/src/shop/views.py +++ b/src/shop/views.py @@ -548,7 +548,17 @@ def dispatch(self, request, *args, **kwargs): # create a new coinify invoice if needed if not order.coinify_api_payment_intent: - coinifyintent = create_coinify_payment_intent(order, request) + try: + coinifyintent = create_coinify_payment_intent(order, request) + except AttributeError: + logger.exception("Unable to get Coinify API url") + messages.error( + self.request, + "Blockchain payment is not working properly at the moment.", + ) + return HttpResponseRedirect( + reverse_lazy("shop:order_detail", kwargs={"pk": order.pk}), + ) if not coinifyintent: messages.error( request, From ef4c676bc385a8de13e43154e521b596615c81f9 Mon Sep 17 00:00:00 2001 From: Christian Henriksen <17219001+0xUnicorn@users.noreply.github.com> Date: Fri, 23 Jan 2026 12:30:50 +0100 Subject: [PATCH 2/3] Update src/shop/templates/bank_transfer.html Co-authored-by: Thomas Steen Rasmussen --- src/shop/templates/bank_transfer.html | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/shop/templates/bank_transfer.html b/src/shop/templates/bank_transfer.html index eee3adc2a..fb8b648fb 100644 --- a/src/shop/templates/bank_transfer.html +++ b/src/shop/templates/bank_transfer.html @@ -71,8 +71,7 @@

Pay by Bank Transfer

Remember: - We are volunteer based and payment registration happens in batches during the year. - Please allow for up to a month before we register your bank transfer. You will receive an email when your payment is registered. + You will receive an invoice by email when your payment is registered. Registration of bank transfers is a manual process. We try to do it once per week, but it can sometimes take longer, especially during the winter months. If you are tired of waiting for an invoice drop us an email.

From b08be392cae5a29f57a85f159237421ba33f7537 Mon Sep 17 00:00:00 2001 From: Christian Henriksen <17219001+0xUnicorn@users.noreply.github.com> Date: Fri, 23 Jan 2026 12:31:44 +0100 Subject: [PATCH 3/3] Update src/shop/templates/in_person.html Co-authored-by: Thomas Steen Rasmussen --- src/shop/templates/in_person.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/shop/templates/in_person.html b/src/shop/templates/in_person.html index a35924195..bf4344b89 100644 --- a/src/shop/templates/in_person.html +++ b/src/shop/templates/in_person.html @@ -9,7 +9,9 @@ {% block shop_content %}

Pay In Person

-

To pay order #{{ order.id }} you go to info desk (in person) and make the payment of {{ order.total|currency }} with cash, card or mobilepay. You need to bring the order id #{{ order.id }} as well so we can mark your order as paid.

+

To pay order #{{ order.id }} you have to go to info desk (in person) and make the payment of {{ order.total|currency }} with cash, card or mobilepay (you cannot pay website orders in HAX!). You need to bring the order id #{{ order.id }} so we know which order to mark as paid.

+ +

If physically going to the infodesk is impractical for some reason (due to geography or opening hours), and finding an organiser is inconvenient for you, then you should go back and pick a different payment method.

When your order has been marked as paid you will receive an invoice by email.

{% endblock %}