Prepare an eSIM plan for purchase
prepare_purchaseReturn the exact price of a selected eSIM plan for a signed-in user, using wallet or card payment, without creating an order or charging anything.
Instructions
Prepare a signed-in user's chosen plan for buying, and report exactly what it would cost. This does NOT buy anything: it creates no order, moves no money, and reserves nothing. WHEN: a signed-in user has picked a real plan from a list you showed and wants to go ahead -- "I want the second one", "prepare the cheapest France plan". FIRST: the user must be signed in. Check get_login_status and run the normal login conversation if they are not. Then ask whether they want to use their wallet balance or a card, and pass their answer -- never pick for them. Pass the bundle_code of the plan they chose, taken from the catalogue result you already have. Never invent a code and never ask the user for one. If it is unclear which plan they mean, ask them which one before calling this. The plan's price, availability and the wallet balance are all re-read from the platform here, so you cannot supply them and must not assume them. AFTER SUCCESS: tell the user the plan, the amount and the payment method, and say plainly that no order was created and nothing was charged. Never say the plan is reserved, held or bought. Do not ask for card details. Do not call this again for the same choice -- if you do, the earlier quote is replaced. Preparing is not paying, and this tool cannot take a payment of either kind. Only once the user has heard the amount and explicitly agreed to it does paying begin: confirm_purchase for a Wallet quote, create_card_checkout for a Card quote. Never start either on your own initiative.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Optional language tag for platform text, e.g. 'en'. Omit to use the server default. | |
| region | No | Optional. The region whose plan list the user chose from, when the selection came out of a region search. Preserves the destination context; it never affects the price. | |
| country | No | Optional. The country whose plan list the user chose from, in their own words, when the selection came out of a country search. Preserves the destination context; it never affects the price. | |
| currency | No | Optional ISO-4217 currency code, e.g. 'USD'. Omit to use the server default. | |
| bundle_code | Yes | The bundle_code of the plan the user chose, taken verbatim from a catalogue result you already have in this conversation. Never invent, guess or edit one, never derive one from a plan's display name, and never ask the user to read one out. If you do not have the code for the plan they mean, search the destination again and use the code from the option they picked. | |
| payment_method | Yes | How the user wants to pay: 'Wallet' to use their eSIM account balance, or 'Card'. Ask the user which one they want and pass their answer -- never choose on their behalf, and never default to one. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||