Understanding Checkout
Checkout is the payment flow a viewer opens on your Tip page. It consists of a summary, payment method, fee calculation, and the Stripe payment field.
Flow
- The viewer clicks a Support Box or checkout button.
- Checkout opens with amount, username, message, and optional goal.
- The viewer selects the payment method.
- KALYIX calculates an estimate for Stripe fee, platform fee, and final amount.
- The viewer decides whether to cover fees, if that option is active.
Prepare paymentcreates the Stripe session.- Only then does the Stripe payment field appear.
- After successful payment, Stripe sets the status to
paid.
Why Stripe Appears Only After Preparation
Stripe needs a prepared session for the specific payment attempt. This session depends on amount, payment method, fee coverage, message, username, and goal.
That is why the Stripe area is hidden first. The summary stays visible so the viewer can check amount and fees. Prepare payment creates the session and loads the matching Stripe field.
Why Stripe Disappears Again
If the viewer changes an important value after preparation, the old Stripe session no longer matches. KALYIX removes the Stripe field and requires a new preparation.
This happens when:
| Change | Why preparation is needed again |
|---|---|
| Amount changed | Total amount, fees, and Stripe session change. |
| Payment method changed | Fee formula and allowed Stripe element change. |
| Fee coverage on/off | The total amount to pay changes. |
| Username, message, or goal changed | Payment data and assignment change. |
This is intentional. Stripe should not continue with old data when the summary already shows new values.
Payment Method
In checkout, the viewer can select the payment method before payment. KALYIX uses this selection for the fee estimate and passes the method to Stripe checkout.
Available in checkout:
| Method | Note |
|---|---|
| Card | Base method for classic card payments. |
| PayPal | Dedicated fee assumption for PayPal through Stripe. |
| Klarna | Dedicated fee assumption for Klarna. |
| Amazon Pay | Dedicated fee assumption for Amazon Pay. |
| Link | Stripe Link. |
| Google Pay | Wallet payment through card. |
| Apple Pay | Wallet payment through card. |
Fees In The Summary
The summary shows:
| Row | Meaning |
|---|---|
| Amount | Base amount the viewer wants to support with. |
| Stripe Fee | Estimated Stripe fee for the selected method. |
| Platform Fee | KALYIX platform fee. |
| Approx. received | Estimated amount after fees. |
| Total | Amount the viewer pays. |
The Stripe fee is an estimate. Final values can differ because of international cards, currency, card type, or payment-method details.
Fee Coverage
When fee coverage is active, KALYIX increases the total amount to pay by the estimated fees. The goal is for the creator to receive closer to the intended base amount.
Important: fee coverage uses an estimate. The final amount can still differ if Stripe later calculates higher real fees.
Possible Checkout Errors
| Error / label | Meaning | What to do |
|---|---|---|
Checkout could not be started | The payment intent or Stripe session could not be created. | Check amount and connection, then try again. |
Embedded Checkout could not be started | Stripe could not prepare the embedded checkout field. | Prepare checkout again. If it remains, check the Stripe connection. |
Payment could not be confirmed. | Stripe rejected or canceled confirmation. | Check payment details and try again. |
| Stripe keeps loading | The Stripe element could not finish loading. | Close checkout, open it again, and prepare it again. |
| Stripe disappears after a change | Amount, method, or fee coverage was changed. | Click Prepare payment again. |
Payment stays pending afterward | Stripe has not finally confirmed yet. | Check the Payments page again after a short time. |
Payment is failed | Payment was not completed. | The viewer starts checkout again. |
After Payment
When Stripe reports paid, the payment becomes visible in Payments. If alert rules react to paid payments, this can create an alert for OBS.