View Issue Details

IDProjectCategoryView StatusLast Update
0007431module PayPal Checkoutmodule PayPal checkout - subpublic2023-03-24 13:31
Reportererfolgswerkzeug Assigned To 
PriorityimmediateSeveritycrashReproducibilityrandom
Status resolvedResolutionfixed 
Fixed in Version2.2.3 / 1.2.3 
Summary0007431: Paypal orders are marked as paid even though the capture request fails.
DescriptionSince 01.01.2023 a customer had 13 orders with OXPAYMENTTYPE="oscpaypal", where OXTRANSSTATUS = "OK" and OXPAID = {TIMEPOINT}, but no payment was/is detected in the Paypal account. In the field OXTRANSID and in the table oscpaypal_orders the corresponding entries are missing.

According to Paypal, the request failed as Unprocessable Entity with the excerpt from the error message ""details": [
        {
            "description": "The instrument presented was either declined by the processor or bank, or it can't be used for this payment.",
            "issue": "INSTRUMENT_DECLINED"
        }" failed.

Apart from a log entry "Error on order capture call." without further details we could not detect anything. Even the log entry had no discernible reference to the affected order.

Due to the missing error handling or check of the capture call, high-priced goods were shipped without having received a payment. We ask for prioritized fix in branch b-6.1.x

----
Bei einem Kunden kam es seit 01.01.2023 in insgesamt 13 Fällen zu Bestellungen mit OXPAYMENTTYPE="oscpaypal", bei welchen OXTRANSSTATUS = "OK" und OXPAID = {ZEITPUNKT} waren, wobei bei Paypal im Konto keine Zahlung festzustellen war/ist. Im Feld OXTRANSID und in der Tabelle oscpaypal_orders fehlen die entsprechenden Einträge.

Nach Auskunft von Paypal schlug der Request als Unprocessable Entity mit dem Auszug aus der Fehlermeldung ""details": [
        {
            "description": "The instrument presented was either declined by the processor or bank, or it can't be used for this payment.",
            "issue": "INSTRUMENT_DECLINED"
        }" fehl.

Abgesehen von einem Log-Eintrag "Error on order capture call." ohne weitere Details konnten wir nichts feststellen. Selbst der Log-Eintrag hatte keine erkennbare Referenz auf die betroffene Bestellung.

Durch die fehlende Fehlerbehandlung bzw. Prüfung des Capture Calls kam es zum Versand von hochpreisiger Ware ohne eine Zahlung erhalten zu haben. Wir bitten um priorisierte Behebung im Branch b-6.1.x
Steps To ReproduceThe cause is suspected to be the behavior in src/Model/Order.php doExecutePayPalPayment, which we understand sets OXPAID regardless of the result of the capture, as can also be seen from the comments in the source code.

File: https://github.com/OXID-eSales/paypal-module/blob/b-6.3.x/src/Model/Order.php#L336

Commit der Kommentare: https://github.com/OXID-eSales/paypal-module/commit/72d0b7a5ecd932c7b159883e471396b5a0b5909f#diff-f7980f244a23b4ef3af9f08ba9765b8a8766db86636008b60f3f10a20e080954R282

---
Ursächlich vermutet wird das Verhalten in src/Model/Order.php doExecutePayPalPayment, welches nach unserem Verständnis OXPAID unabhängig vom Ergebnis des Captures setzt, wie auch den Kommentaren im Quellcode zu entnehmen ist.

Datei: https://github.com/OXID-eSales/paypal-module/blob/b-6.3.x/src/Model/Order.php#L336

Commit der Kommentare: https://github.com/OXID-eSales/paypal-module/commit/72d0b7a5ecd932c7b159883e471396b5a0b5909f#diff-f7980f244a23b4ef3af9f08ba9765b8a8766db86636008b60f3f10a20e080954R282

Additional InformationTranslation provided by QA - SG -
TagsNo tags attached.

Activities

QA

2023-02-27 15:38

administrator   ~0015063

Dear erfolgswerkzeug,

thank you for reaching out to us.

Can you provide more information what may the cause for the canceld transaction?

Which Shop-Version do you excatly use? OXID eShop 6.1 or OXID eShop 6.2?

Can you provide us with more information about the Merchant and the order details, so we can contact paypal for more information?

For this reach out to us on [email protected]

Best Regards QA -SG-