Skip to main content
When the agent needs to find the product too, Prava Pay adds a discovery flow on top of payments: search → product → quote → checkout. Each step hands you exactly what you need to run the next.
For the richest guided experience (pacing, confirmations, masked previews), install the prava-shopping skill alongside the CLI. The shop commands work without it, but the skill adds the guardrails that keep the agent honest with the user.
The agent must be linked before any shop command works.

Delivery addresses

Physical goods need a delivery address and a contact phone. These are stored on the owner’s account and hydrated server-side at purchase time: the agent only ever sees masked summaries, never full street addresses or phone numbers.
The agent never handles the buyer’s full address or phone. It selects which saved address by id; Prava fills in the real details privately. See Guardrails.

List addresses

Add an address

The primary place to add addresses is the Prava dashboard; this is the CLI fallback.

Set the default

Product

Show a product’s variants and offers across sellers:
Offers are listed orderable first, then cheapest. Prices shown are item-only: shipping and tax are added at the quote step.

Quote

Pricing a variant opens a checkout session with the final, binding total: subtotal + shipping
  • tax. This is a spend-adjacent step, so it asks for confirmation.
A quote expires (about 15 minutes) and locks the price. Get the card credentials and check out promptly. If it lapses, quote again.
Between the quote and the checkout, mint the card credentials with a payment session: prava sessions create for the quoted total → owner enters the card → prava sessions poll to get the token and cryptogram.

Checkout

Pay the quoted total with the card credentials. This is the actual charge, so it also confirms.
On success:
The total charged is bound to the quote: it can’t drift between quote and payment. Prava pays exactly the amount you saw, at exactly the merchant you quoted.

Confirmation & safety

Both quote and checkout are gated by a confirmation:
  • At an interactive terminal, they prompt [y/N].
  • For an agent (non-interactive), they refuse unless --yes is passed, making a skipped confirmation a deliberate, visible act.
Pass --yes only after the user has actually approved the seller, item, and total. It exists to record the user’s approval, not to bypass it.

Exit codes

For the full list of failure messages and how to recover, see Troubleshooting.