> ## Documentation Index
> Fetch the complete documentation index at: https://docs.virtuous.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Process a Donation Payment

> Processes a donation and records the resulting gift.

Send the `publicId` of the page being given through, the payment `nonce` or `paymentMethodId` with its `paymentMethodType`, the `amount` and `currency`, and the `donor` details. Set `isRecurring` with a `frequency` and `startDate` to start a recurring gift, split the gift across designations with `projects`, and use `donorPaidCosts` or `coverAdminFee` when the donor is covering fees.

<Note>To try the call without charging a payment method, send `isTestMode=true` with a method from Generate Test Payment Method.</Note>

<Note>The spec does not document error responses for this endpoint beyond `401`, so the causes aren't listed with the responses here. Errors still arrive in the [ProblemDetails envelope](/raise/error-handling#the-problemdetails-envelope) the rest of the Raise API uses — handle a rejected request (`400`), and a path ID that doesn't resolve (`404`), as you would on any other endpoint.</Note>


## API Specification

The full API specification for this endpoint is available in the [documentation index](https://docs.virtuous.org/llms.txt).
