Hi @osamakhan553,
Happy to help you!
Actually, this is a process that happens automatically when using GiveWP and its payment add-ons, however, due to caching, for example, the confirmation from the payment gateway may not be received. This is how a donation happens on GiveWP:
1. The donor fills out the donation form and submits the donation.
2. A donation (and subscription, if applicable) is created on the GiveWP side and set to “pending.”
3. All of the information is sent to the gateway to process the transaction, as well as ongoing subscription renewals.
4. The gateway processes it and notifies the site (via the webhook or IPN) that it went through.
5. GiveWP processes that webhook/IPN and sets the donation to complete.
If the webhook/IPN is unable to reach your site for any reason, the donation will remain “Pending” and eventually change to “Abandoned”.
If you are using Stripe, this is most often caused by a lack of the proper webhook (the only mechanism for sending data from Stripe to your GiveWP site) set in your Stripe account. The good news is that the fix is a few steps of copy-pasting, and we’ve documented it very thoroughly.
The webhook endpoint is a URL that you need to copy and paste into a specific tab of the Stripe Dashboard, and then configure to receive all events.
Our documentation (with screenshots!) on setting up the webhook is here:
https://givewp.com/documentation/add-ons/stripe-gateway/#webhooks
If the webhook is correctly configured, you should see a record in the logs at Donations > Tools > Logs > Stripe for every event at Stripe (going forward).
You’ll need to manually go through and mark the older ones as complete, using your Stripe account to cross-reference.
Double-check that webhook and let us know if you need anything else.
If you are using other payment gateways like PayPal, it’s probably due to cache on your platform.
You’ll need to make sure that all the pages related to GiveWP are whitelisted from your cache systems (it depends on the service you are using: a plugin or server). The URL includes:
– any page with a donation form on it and/or the donation form URL itself
– the /donation-confirmation/ page
– the /donation-failed/ page
– the /donation-history/ page
– the /recurring-donations/ page (if applicable)
Also, avoid any minification/merging GiveWP scripts, otherwise, it may not work properly too.
Please let us know if you have further questions on this or need any additional assistance!