From 3f1cf3e2e8c7796bf0c192ea0f67226910f3ee64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrej=20Rama=C5=A1euski?= <andrej@x2.cz> Date: Thu, 20 Apr 2023 22:39:09 +0200 Subject: [PATCH] Lepsi info o platbe --- .gitlab-ci.yml | 2 +- lib/CF2022/Controller/Orders.pm | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2a83cc..b61dd72 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,7 +2,7 @@ image: docker:20.10.9 variables: DOCKER_TLS_CERTDIR: "/certs" - IMAGE_VER: 0.17.0 + IMAGE_VER: 0.18.0 services: - docker:20.10.9-dind diff --git a/lib/CF2022/Controller/Orders.pm b/lib/CF2022/Controller/Orders.pm index f6a23fb..e7296af 100644 --- a/lib/CF2022/Controller/Orders.pm +++ b/lib/CF2022/Controller/Orders.pm @@ -251,8 +251,28 @@ sub payment ($c ) { } return $c->error(404, 'NOT FOUND') if ! $order; + my $url = sprintf ('%s/organizers/%s/events/%s/orders/%s/', + $c->config->{pretix_api}, + $c->config->{pretix_organizer}, + $c->config->{pretix_event}, + $order->order_id, + ); + + my $ua = Mojo::UserAgent->new; + my $rc = $ua->get( $url, + { Authorization => 'Token ' . $c->config->{pretix_token} }, + )->result; + + my $order_pretix = $rc->json; + + $order->update({ response => $order_pretix }); + my $pr = $c->_payment_request($order); + if ( $order_pretix->{status} eq 'p' ) { + $pr->{payed} = $order_pretix->{payments}[0]{payment_date}; + } + $c->render( status => 200, json => $pr, -- GitLab