View Issue Details

IDProjectCategoryView StatusLast Update
0007054module PayPalmodule PayPal - subpublic2023-06-29 09:19
Reportertte Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionopen 
Product Version5.2.5 
Summary0007054: Order state not always in sync with IPN capture
DescriptionScenario:
An order is placed using PayPal as payment method. If there's a problem with the PayPal transaction, the IPN capture is "Pending", so the order state is pending/not finished, too. Later, if the problem has been fixed and an additional IPN capture is triggered manually on PayPal's end, this new capture is being sent to the shop stating that the capture is "Completed", which will be updated in oepaypal_orderpayments properly. However, the overall order state remains "Pending" or "Failed". This leads to problems if you are processing orders afterwards as some orders diverge from their correct transaction state.

My guess is that the setPaymentStatus() method of the PayPalOrder object isn't invoked when an IPN capture is being triggered after the order process has already been completed.
Steps To ReproduceSee above.
TagsNo tags attached.
Attached Files

Activities

QA

2019-11-21 15:56

administrator   ~0013053

You forgot to write how to reproduce the behavior on the sandbox.
Please let us know how a payment is first rejected and then the additional IPN capture is triggered on the Sandbox.

- es -

tte

2019-11-29 10:42

reporter   ~0013059

Last edited: 2019-12-02 10:41

After various tests I can confirm I'm not able to reproduce this behavior using PayPal's sandbox or your implementation of PayPal's sandbox (this might be related to IPN processing not taking place). However, I'm able to reproduce this problem consistently using our live system (and your live PayPal implementation).

Attached please find screenshots which were made after the following steps have been taken:
1) OXID's order state and PayPal's capture state after the order has been placed successfully (screenshot_1)
2) OXID's order state and PayPal's capture state after the user has reported a problem with this order using PayPal's platform (screenshot_2)
3) OXID's order state and PayPal's capture state after the problem has been solved and an additional IPN has been sent manually to complete the order again (screenshot_3)

Notice that PayPal's capture state is now "Completed" again whereas the overall order state remains "Incomplete" (or "Fehlgeschlagen" in German).

screenshot_1.png (55,471 bytes)   
screenshot_1.png (55,471 bytes)   
screenshot_2.png (54,105 bytes)   
screenshot_2.png (54,105 bytes)   
screenshot_3.png (56,661 bytes)   
screenshot_3.png (56,661 bytes)   

tte

2019-11-29 10:46

reporter   ~0013060

Note: 3) corresponds to screenshot_3 (not screenshot_1 as written above).

tte

2020-01-02 09:42

reporter   ~0013083

What's the current state? If you need more information, I'd be glad to help.

QA

2020-01-02 15:49

administrator   ~0013084

Thank you for your report. Since the status is set to "acknowledged", the Quality Assurance was able to reproduce the behaviour and forwarded the issue to our Development Team. No more information is necessary.

You can add your Username to the monitoring list (see the Option "Users monitoring this issue") to get informed if the status is changing.

[sp]

tte

2020-01-31 15:24

reporter   ~0013109

Any update on this? If you need some assistance, just let me know. The problem might be related to the handleRequest() method in IPNHandler.php or process() in IPNProcessor.php, respectively.

QA

2020-01-31 16:21

administrator   ~0013110

Last edited: 2020-01-31 16:22

The issue was forwarded to our Development Team. There is no more update, yet. Please be patient.

As said before, you can add your Username to the monitoring list (see the Option "Users monitoring this issue") to get informed if the status is changing.

[sp]

SvenBrunk

2023-06-29 09:19

manager   ~0015312

Since the old PayPal module is now obsolete and succeeded by the PayPal Checkout module, we will unfortunately not implement new features or bugfixes for it. If you think this is also relevant for the new PayPal Checkout module, please create an according bug ticket in that category again.