Stripe earned fees
Each supported successful positive Stripe earning object creates one immutable Proxy fee fact:
earned fee = percentage basis × 3 / 100 + 30 minor unitsThe earning object is a succeeded PaymentIntent for one-time payments and a paid Invoice for subscriptions. Refunds and disputes never reverse the fee. A zero 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.
Subscription Invoice basis
Section titled “Subscription Invoice basis”Each supported successful positive subscription Invoice earns one fee. Proxy derives the percentage basis from the complete provider-authored Invoice line subtotals before tax and after signed proration credits.
The initial Invoice, each renewal, and each proration use distinct Invoice identities. A linked PaymentIntent is correlation evidence and does not create a second payment or fee.
An exact-zero or free-trial Invoice earns no fee. Refund and dispute observations do not reverse an earned fee.
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.