View Issue Details

IDProjectCategoryView StatusLast Update
0007522module UnzerGeneralpublic2023-12-05 09:09
Reportermario.krell Assigned To 
PriorityurgentSeveritycrashReproducibilityalways
Status resolvedResolutionno change required 
Product Version1.1.0 
Summary0007522: Error in UNZER Payment Module when ordering products priced at €0.00
DescriptionIn our shop where the UNZER Payment Module is utilized, there are products (e.g., catalogs) that are offered at a price of €0.00. When such a product is in the cart and a user attempts to complete the checkout process, the payment procedure via UNZER does not function correctly. An error is logged into the OXID Shop log file, and the user is immediately redirected to a blank (white) page upon submitting the order. This issue arises regardless of whether only a single €0.00 product is in the cart or if the cart contains a mixture of products, some priced and some free. Interestingly, when the price of the product is changed to more than €0.00, the product can be purchased without any issue and the checkout process works flawlessly.

[23 Aug 12:04:28.424436 2023] [exception] [type TypeError] [code 0] [file /vendor/oxid-esales/unzer/src/Model/TransactionList.php] [line 25] [message OxidSolutionCatalysts\Unzer\Model\TransactionList::getTransactionList(): Argument #1 ($orderId) must be of type string, null given, called in /vendor/oxid-esales/unzer/src/Model/Order.php on line 209]
Steps To Reproduce1. Add a product priced at €0.00 to the cart.
2. Navigate to the cart and initiate the checkout process.
3. Choose UNZER as the payment method.
4. Finalize the checkout.
5. Upon order submission, the user is redirected to a blank (white) page, and an error is logged in the OXID Shop log file.
TagsPayment

Relationships

related to 0007554 resolved[email protected] Free item added via a discount does not work 

Activities

QA

2023-08-25 14:35

administrator   ~0015496

Dear Mario Krell,

thank you for reporting this issue.

I could reproduced it.

@Daniel: Even if you have other articles in the basket, you cannot finish order.

Best Regards QA -SG-

mario_lorenz

2023-10-05 17:03

developer   ~0015664

Hello, unfortunately this is not a bug, but a feature.

The log entry that is in the ticket is not the right one. The correct entry is in the Unzer log and explains why it is not a bug but a feature:

[2023-10-05 16:04:23] Unzer Payment Logger.INFO: (9) Response: (400) {"id":"s-err-f2044039647844608f7faf1f9b4","isSuccess":false,"isPending":false,"isResumed":false,"isError":true,"url":"https://sbx-api.unzer.com/v2/baskets","timestamp":"2023-10-05 14:04:36","traceId":"308b8df56e8d279feddcde861e0f4380","errors":[{"code":"API.600.410.065","merchantMessage":"Basket item 0 'amountPerUnitGross' is 0. 'amountDiscountPerUnitGross' must be greater than zero.","customerMessage":"An error occurred. Please contact us for more information."}]} [] []

Unzer only allows products that cost more than 0 euros. I can understand it when it comes to 0-euro shopping carts. Because it makes no sense to want to pay for a 0-euro item with a credit card. But I see things differently when it comes to combination shopping carts. That should normally work.

So the solution here is to veto Unzer.

However, it is difficult to configure this now. My solution would be to assign the 0 euro items to a shipping cost rule. This shipping cost rule then assigns a shipping method. And this shipping method is NOT the Unzer payment methods.

Benjamin Salman

2023-10-12 10:10

reporter   ~0015688

@mario_lorenz

We do have the same issue and this renders the Unzer module basically unusable for us.

We have multiple products where a free product is added during checkout.
Since the issue occurs even with one free item in the cart, the buyer receives an error message.

With the D3 module it was possible to have articles with a price of 0 in the order.

This should definetely be added to the logic of the oxid module.

Benjamin Salman

2023-11-06 12:11

reporter   ~0015720

Is this issue resolved with Bug fix 0007554 ?