diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2a83cc9b100aa6bdba07667eb3b842f4f0b6a37..b61dd725eb290e2ca5a9f5192c7840ce7d071e43 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 f6a23fb5529c3b06ef4f3448cbf043658521bfd9..e7296af132fc1e6b0a0f8482c2aa3c2308e99fbd 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,