get_donations_session_by_id_receipt

Read-only

Calls GET /api/donations/session/{id}/receipt as the signed-in person · REST reference

Download link for the receipt of the gift a Checkout session paid for

PUBLIC, and the Checkout session id is the bearer token: Stripe mints it unguessable and hands it only to the browser that paid (the success_url's session_id). The session must be paid and at most 7 days old; an unknown, unpaid or older session answers 404 alike. The receipt is the donation's thank-you certificate PDF, found by the donor email (else phone) the donation records now, so a corrected address finds it.

Arguments

ArgumentTypeDescription
idpathstringrequiredStripe Checkout session id (cs_...).

Example call

A client sends this over the MCP session; Claude and other agents build it for you. The values are placeholders — the shape is real.

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_donations_session_by_id_receipt",
    "arguments": {
      "id": "string"
    }
  }
}

Result

On success (HTTP 200) the tool returns one text item holding the API's JSON, pretty-printed.

A presigned GET link to the receipt PDF, valid for 5 minutes.

json
{
  "url": "string"
}

Fields

FieldTypeDescription
urlstring

When it fails

A failed call returns isError: true with the API's message as text.

404

Unknown, unpaid or expired session; a fully anonymous gift, which gets no receipt; or a receipt whose PDF was never stored.

409

code: NOT_YET_RECORDED — the session is paid and the webhook has not recorded its donation yet (the thank-you page loads in the seconds between Stripe's redirect and its webhook). Ask again shortly.

502

Stripe answered, and answered badly.

What the model is shown

This is the tool exactly as the server lists it in tools/list. The description starts with the REST call it makes.

json
{
  "name": "get_donations_session_by_id_receipt",
  "description": "GET /api/donations/session/{id}/receipt — PUBLIC, and the Checkout session id is the bearer token: Stripe mints it unguessable and hands it only to the browser that paid (the success_url's `session_id`). The session must be paid and at most 7 days old; an unknown, unpaid or older session answers 404 alike. The receipt is the donation's thank-you certificate PDF, found by the donor email (else phone) the donation records now, so a corrected address finds it.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "id": {
        "type": "string",
        "description": "Stripe Checkout session id (cs_...)."
      }
    },
    "required": [
      "id"
    ]
  },
  "annotations": {
    "readOnlyHint": true,
    "openWorldHint": false
  }
}