PayPal PlugIn: capture-authorization gibt Fehler "NotFound" zurück

Hallo!
In unserem Shop wird bei Bestelleingang der Betrag beim Kunden nicht gleich abgebucht sondern nur reserviert. Der Zahlungsstatus steht dann auf „Autorisiert“.
Nachdem die richtige Liefermenge an ShopWare zurück gemeldet wird, soll der Betrag korrigiert und von PayPal eingezogen werden.
Dies versuche ich mit folgender Methode:

URI: /_action/paypal-v2/capture-authorization/{orderTransactionId}/{authorizationId}
JSON:
{
„amount“: „1.23“,
„currency“: „EUR“,
„invoiceNumber“: „Test4711“,
„noteToPayer“: „geändert“,
„isFinal“: true
}

Als Rückmeldung erhalte ich: StatusCode: 404, ReasonPhrase: ‚Not Found‘.
Was ist hier falsch bzw. was fehlt?
Danke!

MfG, H.Reimers

Woher hast du denn diese Route? Die gibt es doch gar nicht in den PayPal Controllern, daher der 404 Error.

vielleicht die hier?
/api/v{version}/_action/paypal/capture-payment/{resourceType}/{resourceId}/{orderId}
aus: src/Payment/PayPalPaymentController.php

Die Route habe ich mit Swagger erhalten.

Was ist denn mit resourceType und resourceId gemeint?
Danke!

Schau dir doch die Methode an, dann siehst du was es ist

    /**
     * @Route("/api/v{version}/_action/paypal/capture-payment/{resourceType}/{resourceId}/{orderId}", name="api.action.paypal.catpure_payment", methods={"POST"})
     *
     * @throws RequiredParameterInvalidException
     */
    public function capturePayment(
        Request $request,
        Context $context,
        string $resourceType,
        string $resourceId,
        string $orderId
    ): JsonResponse {
        $capture = $this->createCapture($request);

        switch ($resourceType) {
            case RelatedResource::AUTHORIZE:
                $captureResponse = $this->authorizationResource->capture(
                    $resourceId,
                    $capture,
                    $this->getSalesChannelIdByOrderId($orderId, $context)
                );
                break;
            case RelatedResource::ORDER:
                $salesChannelId = $this->getSalesChannelIdByOrderId($orderId, $context);
                $captureResponse = $this->ordersResource->capture($resourceId, $capture, $salesChannelId);
                break;
            default:
                throw new RequiredParameterInvalidException('resourceType');
        }

        $this->paymentStatusUtil->applyCaptureStateToPayment($orderId, $request, $context);

        return new JsonResponse($captureResponse);
    }

$resourceType muss entweder "authorize" oder "order" sein.
$resourceId ist entweder die Id der Authorization oder der Order.

Super danke!
Ich habe es auf GitHub unter: shopwareLabes / SwagPayPal/src/PaymentsApi/Administration/PayPalPaymentController.php gefunden.
(da muss man erst mal drauf kommen)

Die URI scheint jetzt wenigstens zu funktionieren:
/api/_action/paypal/capture-payment/authorize/{MeineResourceId}/{meineOrderId}

Ich erhalte allerdings den Fehler: status: 400, code: FRAMEWORK__INVALID_UUID, detail: Value is not a valid UUID: 1P99___

Was hat das zu bedeuten?