get_payment_options
Fetch the live payment options for a Dineout booking. Renders a payment picker (UPI apps + scan-QR) that auto-detects the user's device. Call this when a paid reservation is ready to pay.
Fetch the live payment options for a Dineout booking — the source of truth for what the user can pay with. A single call fetches BOTH device surfaces (mobile UPI apps + desktop scan-QR) and merges them into one payment picker widget that auto-detects the user's device. You do NOT need to ask the user which device they're on. This applies to paid reservations (deal ticket bookings); free reservations skip payment entirely.
Example
const result = await client.callTool({
name: "get_payment_options",
arguments: {},
});Parameters
| Parameter | Type | Required | Description |
|---|
This tool takes no parameters — cart context is resolved server-side. create_cart already embeds a payment snapshot, but calling this returns the live picker widget.
Session credentials (user identity, access token) are supplied automatically by the authenticated MCP session - you do not pass them in the tool call. See Authenticate.
Response
All Swiggy MCP tools return:
{
"success": true,
"data": { /* tool-specific payload */ },
"message": "optional human-readable message"
}
The data payload carries the picker model:
{
"success": true,
"data": {
"platforms": {
"mobile": { "methods": [ { "id": "com.google.android.apps.nbu.paisa.user", "label": "Google Pay" } ] },
"desktop": { "methods": [ { "id": "PayWithQR", "label": "Scan QR to pay" } ] }
},
"allMethods": [ /* flat list across surfaces, for text rendering */ ]
},
"message": "human-readable list of payment options"
}
platforms.mobile.methods[]— UPI apps (intent). Each methodidMUST be echoed byte-for-byte intobook_table'sintentAppargument.platforms.desktop.methods[]— desktop scan-QR. SetgenerateUPIQR=trueonbook_table(nointentApp).platformsis omitted when UPI isn't available for this cart.
On failure:
{
"success": false,
"error": { "message": "description of what went wrong" }
}
See Error codes for the full catalogue.
Details
| Field | Value |
|---|---|
| Name | get_payment_options |
| MCP Server | Dineout |
| Endpoint | POST mcp.swiggy.com/dineout |
| Stage | Payment |
| Behaviour | read-only |
Agent guidance
How Swiggy agents and orchestration logic use this tool. Surface these expectations in your prompts or tool-selection policies.
WHEN TO CALL:
- Call this when a paid reservation (deal ticket) is ready to pay — it renders the picker widget. Free reservations do not need it.
- When the user explicitly asks "what payment options are available?", wants UPI, or mentions GPay, PhonePe, Paytm, etc.
HANDOFF TO BOOK TABLE: The user picks a method in the widget. Pass their choice straight into book_table:
- UPI app →
intentApp= the selected methodid, byte-for-byte. - Desktop scan-QR →
generateUPIQR=true(nointentApp).
NPCI compliance: UPI Collect and saved VPAs are not surfaced. Do not attempt to collect a VPA from the user.
Next in this journey →
Continue with book_table to place the paid reservation with the selected payment method.