Stripe one-time earned fees
Each distinct successful positive one-time payment earns one immutable Proxy fee fact:
earned fee = floor(percentage basis × 3 / 100) + 30 minor unitsThe fee is earned when the positive payment succeeds. Refunds and disputes never reverse it. A zero/no-cost payment earns no fee. Proxy records earned fees but does not currently invoice or collect them.
Direct PaymentIntent basis
Section titled “Direct PaymentIntent basis”openPaymentIntent defaults to the Stripe provider-gross amount; the merchant supplies no additional fee input. After success, Proxy uses verified amount_received evidence as the percentage basis.
A merchant backend may optionally pass one immutable server-only merchandiseSubtotalMinor when tax, shipping, or another non-merchandise amount should be excluded from the percentage portion. Never accept or forward this value from a browser. It is fixed at acquisition reservation and cannot change on a retry.
An override of zero, below 25% of provider gross, or above 400% of provider gross does not block a verified payment, but Proxy flags the value for review.
Examples:
| Provider gross | Percentage basis | Earned fee |
|---|---|---|
10_000 |
default 10_000 |
330 |
10_000 |
override 8_000 |
270 |
0 |
no-cost | no fee |
Checkout basis
Section titled “Checkout basis”For OT-CO-H, OT-CO-E, and OT-CO-C, Proxy derives the percentage basis from provider-authored Checkout amount_subtotal and complete paginated line evidence. Merchant cart input, presentation/client secret, and the confirmation hash envelope are not fee authority. Provider-finalized pricing stores the normalized final line snapshot plus final amount and currency before a completion can provision.
Duplicate and risk evidence
Section titled “Duplicate and risk evidence”Stripe redelivery, event reprocessing, and repeated API recovery converge on the same payment/fee identity. A bypassed second positive success is a separate immutable payment and fee fact even though it cannot become the session’s second provisioning winner. Refund/dispute observation can raise merchant events only when selected, but it never edits the original fee.