Processing Partial Refunds


MemberPress does not presently have a partial refunds feature. However, if you need to offer a partial refund to any of your users, you can follow the steps below. Please be sure to read through them all before proceeding as your ability to follow the steps quickly will be important for your users uninterrupted access to your site's protected content. This is because processing a refund on the gateway level will trigger the payment to be marked as refunded in MemberPress and refunded transactions do not allow access to protected content. 

Steps to Offer Partial Refunds

  1. Process the partial refund at the gateway level. You can find instructions for how to do this for our supported gateways* by clicking on these links: Stripe, PayPal, and If you need more help than those links provide or for third party gateways, please reach out to the gateway's customer support as our support will not help with this step. 
  2. Navigate to your WordPress Dashboard > MemberPress > Transactions tab. 
  3. Search for the transaction you just refunded using the search options at the top right of the page. 
  4. Hover over the transaction's unique ID.
  5. Click the Edit link. 
  6. On the edit page make the following changes:
    1. For Status, change it from Refunded to Complete.
    2. (Optional) For Sub-total, edit the price to reflect the what the user has now paid. This will be the amount they originally paid, minus the refund (e.g. $10 (paid) - $2 (refunded) = $8).
  7. Click the Update button at the bottom of the page.

Brief Video of Steps 2-7

*Special note about the MemberPress Offline gateway: If your user signed up using the offline gateway, you can refund them outside of your MemberPress site, and if needed, edit the transaction as outlined in step 6b if you would like. Otherwise, you can do nothing, and the user will not lose access assuming the transaction has not yet expired. 

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.