View Issue Details

IDProjectCategoryView StatusLast Update
0007588module PayPal Checkoutmodule PayPal checkout - subpublic2024-04-08 22:20
Reportermount7 Assigned To 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version2.3.1 / 1.3.1 
Fixed in Version2.4.0 / 3.4.0 
Summary0007588: Capture Order Request have no/bad error handling
DescriptionAll error issues for capture order (https://developer.paypal.com/api/rest/reference/orders/v2/errors/#capture-order) will redirect to thankyou page.

E.g. Payment declined by bank an user sees the thankyou page (including e-mails) instead of redirect to payment page.
Steps To ReproduceModule Version: v2.3.4

1. Open vendor/oxid-solution-catalysts/paypal-client/generated/Service/Payments.php
2. Add additional header to post request in capturePaymentForOrder function:
$headers['PayPal-Mock-Response'] = '{"mock_application_codes": "..."}';
(replace dots with ISSUE CODE from https://developer.paypal.com/api/rest/reference/orders/v2/errors/#capture-order e.g.: INSTRUMENT_DECLINED)
3. Pay an order with paypal
Additional InformationPossible fix:
(screenshots)
Do not ignore the success value from doExecutePayPalPayment


TagsNo tags attached.
Attached Files
PaypalFix.png (109,392 bytes)   
PaypalFix.png (109,392 bytes)   
PaypalPatch.png (93,398 bytes)   
PaypalPatch.png (93,398 bytes)   
paypal.png (217,686 bytes)   
paypal.png (217,686 bytes)   

Activities

mount7

2024-01-30 12:32

reporter   ~0016217

similar to 0007562: Order number despite rejected payment (ACDC, PayPal)

QA

2024-01-30 14:08

administrator   ~0016218

- es -

mount7

2024-02-02 13:42

reporter   ~0016248

For Testing: capturePaymentForOrder is in vendor/oxid-solution-catalysts/paypal-client/generated/Service/Orders.php and not in vendor/oxid-solution-catalysts/paypal-client/generated/Service/Payments.php