One more item, charged to the card they just used.
After the payment is approved, the thank-you page shows a single offer priced below the order. The customer confirms it with the card's security code and it is charged to the saved card on its own line. There is no second checkout and no card number on your page.

Why the thank-you page
The moment after a payment is approved is the one point in a store where the customer has already decided to buy, has their card in hand, and is not comparing prices. Stores have known this for a long time. What has made it hard to use is that a second purchase normally means a second checkout, and a second checkout loses most of the people who would have said yes.
Because the card was tokenized in the vault during the first payment, we do not need the number again. We need the customer's consent and a security code, which takes a few seconds and keeps the charge fully authenticated. That is the whole mechanism. It is not a cart, it does not carry a shipping step, and it does not ask the customer to log in.
The offer is deliberately narrow: one product, priced below the order, available for ten minutes. Those limits are not a trial setting we expect you to raise later. They are what keeps the add-on from turning into refund requests and disputes, which is the failure mode of most post-purchase offers.
What happens, in order
From the approval to the shipped add-on.
- 1.Payment approvedThe order is paid and the card is already tokenized in the vault. The customer lands on your thank-you page with their order number and receipt.
- 2.Offer shownOne add-on appears below the confirmation, with its price, a short description and a countdown. The offer is priced below the order the customer just placed.
- 3.Customer acceptsThey enter the three or four digit security code from the same card. Nothing else is typed. The code goes into a hosted field, not your page.
- 4.Charge placedThe add-on is charged to the vaulted token as a separate transaction with its own line on the receipt and the same statement descriptor.
- 5.Order updatedThe add-on is attached to the original order in your store so it ships together, and it is tagged as an upsell in reporting.
- 6.Ten minutes passIf the customer does nothing, the offer disappears. It is not shown again on refresh, and the customer is not emailed about it.
How the offer is confirmed
The security code field on the thank-you page is a hosted field, the same kind used at checkout. The digits the customer types go from their browser to the vault and are used once, for this charge. They are not stored, by us or by the vault, and they never pass through your page's code or your server. Your PCI position does not change because you turned upsells on.
We send the charge with the code attached, so the issuer evaluates it as a cardholder-present authorization rather than a merchant-initiated charge on a stored card. In practice that means a higher approval rate on the add-on and a stronger position if it is ever disputed, because the record shows the customer actively entered something only the cardholder would have.
If the code does not match, the customer is told so once and can try again within the ten-minute window. After the window closes the field is gone. We do not fall back to charging the token without the code.
Who does not see the offer
A customer whose payment was declined does not see an offer; there is nothing to add to. A customer whose order was flagged by fraud screening, even where the charge was approved, does not see one either. Adding a second charge to an order that is already under review would make the review harder and the potential loss larger, so the offer is suppressed and the order proceeds through the normal checks.
Customers who have disputed a charge with your store before are also excluded, as are orders paid by bank transfer, where there is no card to charge. You can add your own exclusions, for example first-time customers or orders below a certain value, and you can turn the offer off for a product or for the whole store at any time without touching your checkout.
Reporting, refunds and disputes
Every add-on is tagged in the dashboard, so you can see how often each offer was shown, how often it was accepted, what it earned after refunds, and its dispute rate on its own rather than blended into the store's totals. An offer that is accepted often but refunded often is usually priced or described wrong, and the report makes that visible within a week or two of turning it on.
Refunds work the way they do on any order. The add-on has its own transaction, so it can be refunded alone or together with the original order. The transaction fee on the original charge is not returned on a refund, as the pricing page states, and the same applies to the add-on. Disputes are answered from the record: the time of acceptance, the security code check, the receipt line and the tracking number for the shipment it went out in.
In your store the add-on is attached to the original order rather than created as a new one, so it ships in the same box and your fulfilment does not see two orders for one customer. On the payout statement it appears as its own line, with the original order number next to it.
Questions about upsells
Why does the customer have to type the security code again?
Two reasons. The first is that a charge placed with the security code is treated by the issuer and the networks as a fully authenticated purchase, which approves more often and holds up better in a dispute than a charge placed on a stored card alone. The second is that it is an unambiguous act of consent: a customer who typed their code cannot reasonably say they clicked something by accident. We considered a pure one-tap design and decided the dispute risk was not worth the few seconds saved.
Can I show more than one offer, or a second offer after the first?
No. One offer per order, and if it is declined or ignored the page returns to the plain confirmation. A chain of offers reads as pressure, it generates refund requests, and it drags down the approval rate on the add-ons that do get accepted. If you want to test two different offers, run them against different products or different weeks and compare them in the report.
What happens if the add-on charge is declined?
The customer sees a plain message that the add-on could not be charged and that their original order is unaffected. We do not retry it, and we do not offer an alternative card, because at that point the customer would be entering a new card number on a page that was designed not to collect one. The original order ships as normal.
How are refunds and disputes handled on an upsell?
Exactly as they are on any order. The add-on has its own transaction, so it can be refunded on its own without touching the original order, or refunded together with it. If a customer disputes the add-on, the response includes the time they accepted the offer, the security code check, the receipt line and the shipping record. Dispute and refund ratios on upsells are reported separately so you can see whether an offer is causing problems.
Does this work with subscriptions?
Yes, with one restriction. An upsell can add a one-time product to a subscription order, and it can offer a subscription product to a one-time order if the terms are shown on the offer and the customer ticks the box, the same way they would at checkout. We do not allow an upsell to change the price or period of an existing subscription; that has to happen in the customer portal where the change is confirmed by email.
Have a product that would make a good add-on?
Tell us what you sell and what you would offer after the order. We will tell you whether it fits the rules above and what the report would show you after the first month on Trustfac.