Carry out some order (make sure the discount is applied) and wait for webhook response, marking order ready for capture.
Try to capture the order, e.g. via the Shopware Admin interface.
Order should be captured fine and capture should be visible in Payone Merchant Interface.
Order is not captured. Capture Request ist sent to Payone but returns with Error 1610 "Article list faulty or incomplete".
I guess the problem here is that the logic to assemble the cart contents that are sent over to Payone do not add up properly due to the discount being a 0.00 (€) value item.
For discounts on shipping costs the discount value (so the -4€ from the example above) is not held as a negative amount in a line item (there is a line item, but it's value is 0.00) but rather in an additional delivery (There will then be two deliveries for one order).
{
"ip": "127.0.0.1",
"aid": "XXX",
"key": "XXX",
"mid": "XXX",
"zip": "XXX",
"city": "XXX",
"hash": "XXX",
"mode": "test",
"de[1]": "Product",
"de[2]": "Discount on Cart",
"de[3]": "Discount on Shipping",
"de[4]": "Shipping Costs",
"email": "XXX",
"id[1]": "XXX",
"id[2]": "XXX",
"id[3]": "XXX",
"id[4]": 4,
"it[1]": "goods",
"it[2]": "voucher",
"it[3]": "voucher",
"it[4]": "shipment",
"no[1]": 1,
"no[2]": 1,
"no[3]": 1,
"no[4]": 1,
"pr[1]": 7352,
"pr[2]": -1103,
"pr[3]": 0,
"pr[4]": 1098,
"va[1]": 1900,
"va[2]": 1900,
"va[3]": 0,
"va[4]": 1900,
"amount": 6947,
"street": "XXX",
"country": "DE",
"request": "preauthorization",
"birthday": "XXX",
"currency": "EUR",
"encoding": "UTF-8",
"language": "de",
"lastname": "XXX",
"portalid": "XXX",
"firstname": "XXX",
"reference": "XXX",
"salutation": "XXX",
"api_version": "3.10",
"clearingtype": "rec",
"solution_name": "kellerkinder",
"narrative_text": "XXX",
"clearingsubtype": "POV",
"integrator_name": "shopware6",
"businessrelation": "b2c",
"solution_version": "5.0.2",
"integrator_version": "6.5.8.5"
}
As can be seen from the above payload, there is no mention of the shipping discount (It should be -400 somewhere).
7352 - 1103 + 1098 equal 7347 and not the 6947 that are being sent over as amount
. A deduction of -400 is missing and thus the complaint from Payone seems valid.
If I place the same order without the shipping discount, the order can be captured without issues.