libretech ba110a11d8 fix(checkout): send a payment surcharge to PayPal as handling
The order service adds the price of the order's payment method to the
total, but the PayPal breakdown left it out, so an order with a
surcharge was sent an amount its breakdown did not add up to, which
PayPal rejects (D5). Since the breakdown is now checked against the
total, such an order was answered 400.

A payment price above 0 is now sent as handling, in whole cents, and
item total, tax, shipping and handling add up to the amount to the
cent. A payment method that costs nothing sends no handling.

Every payment method and the pickup cost 0.00 today, and the shop
cannot set a payment method (parseCustomerUpdate rejects the field),
so this is robustness, not a live defect.

The D5 test is a regular test, and a test checks the sum with a
surcharge, also with a pickup without a price, for every whole-cent
subtotal up to 300.00.

Refs libretech/mp#71
Refs libretech/mp#67
2026-10-09 01:50:02 +02:00

libreshop/cms

Strapi-based content backend (catalogue, orders, customers).

Part of the libreshop toolkit. Image published at git.librete.ch/libreshop/cms on every push to main and on v* tags.

Source

This repo was extracted from mp/cms/ on 2026-04-29; mp was the first concrete adapter consuming the toolkit. mp's compose.yml now pulls git.librete.ch/libreshop/cms:<pin> instead of building locally.

Build locally

docker build -t libreshop/cms:dev .

Adapter contract

See docker-entrypoint.sh and Dockerfile for the runtime surface. Adapters configure the component via env vars and bind-mounted volumes; do not patch the running container or rely on internal paths.

S
Description
libreshop/cms — Strapi-based content backend
Readme
316 KiB
0 Stars 2 Watchers 0 Forks
Languages
TypeScript 95%
Shell 4.4%
JavaScript 0.4%
Dockerfile 0.2%