# Make a Guest Donation
source: https://developer.mastercard.com/donations/documentation/use-cases/make-donations/guest-donation/index.md

## Overview {#overview}

Guest donations provide a fast and easy way for individuals to implement and support a cause without committing to create and maintain a donor account. However, the lack of a profile means that the organization offering this solution has limited opportunities to engage these donors for future contributions, and each guest donation stands alone without any historical data to inform future outreach.
Note: A donation can be made by using the **Guest Donation** endpoint with all the card and donor details included in the request. But as these details are not registered, you cannot retrieve any historical data for future outreach or engagement.

![Guest Donation](https://static.developer.mastercard.com/content/donations/uploads/guest-donation_img.png "Guest Donation")

## Sequence Diagram {#sequence-diagram}

The following diagram outlines the sequence of events:
Diagram guest-donation

## Execution Steps {#execution-steps}

The following details the steps in the above sequence diagram:

1. The donor requests to display the charities to make a donation.
2. The partner user interface displays the charities.
3. The donor selects the charity to donate.
4. The partner user interface prompts the donor to enter basic personal information such as email ID and name.
5. The donor submits the asked personal data.
6. The partner user interface prompts the donor to enter payment card details.
7. The donor enters the payment card details.
8. The partner user interface displays the details for the donor to review and confirm.
9. The donor reviews and confirms to proceed.
10. The partner user interface forwards the request and the data to the partner server.
11. The partner server calls the 'POST /guest-payments' endpoint (which replaces the deprecated 'POST /payments/guests' endpoint) and sends the donation data to the Mastercard Donate service.
12. The Mastercard Donate service verifies the card primary account number (PAN) for uniqueness and other card credentials. It stores the donor's personal data such as email ID and name.
13. The Mastercard Donate service sends the payload to the charity's acquirer for processing if it validates all card data as correct.
14. The charity's acquirer processes the donation.
15. The charity's acquirer returns the `transactionStatus` and the `transactionMessage` to the Mastercard Donate Service.
16. The Mastercard Donate Service generates a `transactionId` and stores the `transactionStatus` and `transactionMessage`.
17. The Mastercard Donate Service sends the `transactionId`, `transactionStatus`, and `transactionMessage` to the partner server.
18. The partner server sends the transaction details to the partner user interface.
19. The partner user interface displays the donation transaction details to the donor.
20. The Mastercard Donate service sends an error message to the partner server if it finds a duplicate PAN or incorrect credentials and terminates the request.
21. The partner server forwards the error message to the partner user interface.
22. The partner user interface displays the error message to the donor.

## Endpoint {#endpoint}


API Reference: `POST /payments/guests`


API Reference: `POST /guest-payments`

## Endpoint Parameter {#endpoint-parameter}

For more details on the endpoint parameters, refer to the [Parameters to Make Guest Donations](https://developer.mastercard.com/donations/documentation/parameters/manage-onetime-guest-dn-param/guest/index.md) section.

## Sample Request and Response {#sample-request-and-response}

For more details, refer to the [Make a Guest Donation Tutorial](https://developer.mastercard.com/donations/tutorial/donation-api-details/onetimeapi/index.md) tutorial.
