CE 6.4 & PayPal Checkout 2.1 - Troubleshooting

Hi @Mario_Lorenz ,

in Version 2.1.1 funktioniert das Modul nicht mehr in einen Shop im Nettomodus (CE 6.4.2, PHP 8).
Nach Absenden der Bestellung kommt man direkt wieder auf die Payment-Seite im Shop mit der Fehlermeldung “Autorisierung fehlgeschlagen”.

Im oxideshop.log steht:

OXID Logger.ERROR: Error on order create call. ["[object] (OxidSolutionCatalysts\\PayPalApi\\Exception\\ApiException(code: 422): POST https://api.paypal.com/v2/checkout/orders returned: 422 Unprocessable Entity\nReturned Message: The requested action could not be performed, semantically incorrect, or failed business validation.\nError Details: \n[{\"field\":\"\\/purchase_units\\/@reference_id=='OXID_REFERENCE'\\/amount\\/value\",\"value\":\"26.04\",\"issue\":\"AMOUNT_MISMATCH\",\"description\":\"Should equal item_total + tax_total + shipping + handling + insurance - shipping_discount - discount.\"}]\n\nResponse: \n{\"name\":\"UNPROCESSABLE_ENTITY\",\"debug_id\":\"532fd4c3d7c0c\",\"links\":[{\"href\":\"https:\\/\\/developer.paypal.com\\/docs\\/api\\/orders\\/v2\\/#error-AMOUNT_MISMATCH\",\"rel\":\"information_link\",\"method\":\"GET\"}]}\n\nThe following curl request could be used to simulate a similar request:\n \ncurl -v -X POST \"https://api.paypal.com/v2/checkout/orders\" -H \"User-Agent: GuzzleHttp/7\" -H \"Host: api.paypal.com\" -H \"Content-Type: application/json\" -H \"PayPal-Partner-Attribution-Id: Oxid_Cart_Payments\" -H \"PayPal-Client-Metadata-Id: \" -H \"Prefer: return=minimal\" -H \"Authorization: Bearer...

Ein weiteres Problem ist, dass die in der Tabelle oxorder__oxtransid gespeicherteTransaktions-ID nicht korrekt ist, bzw. nicht der PayPal-Transaktions-ID entspricht.
In dieser Tabelle sollte m.E. die Transaktions-ID gespeichjert werden, die auch im PayPalkonto und in den Emails zu sehen ist, damit man die Zahlungen abgleichen kann.
Aktuell wird anscheinend eine Order-ID dort gespeichert, die nach der Bestellung nirgends mehr auftaucht und daher nicht viel bringt.