• Resolved ccberlin

    (@ccberlin)


    all the give forms can include a funding goal. We have a requirement where the money is only taken from the donor if the funding goal is reached (a bit like kickstarter). Is this possible with Give?

    I found nothing in the documentation about this, but to me it seems as if the money is taken from the donor directly after they complete the donation form. So if later the form gets closed without reaching the goal, does the money somehow get refunded automatically or would you have to refund everything manually? What are the options here?

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Contributor Ben Meredith

    (@benmeredithgmailcom)

    Hi @ccberlin,

    Glad you reached out here, happy to help!

    There’s no mechanism within GiveWP to automatically refund if a goal is not reached, or to delay charging until a goal is reached.

    A truly kickstarter-like experience (where it doesn’t charge until the goal is reached) might be possible with some custom code, depending on the gateway in use. The tricky part would be around PCI compliance, because you can’t ever store payment information on your server.

    The only currently-possible method to do it would be to manually refund the donations. You’ll want to be careful with that approach, as it may end up costing your organization money as some gateways don’t refund processing fees. Additionally, if you have too many refunds that can cause the gateway to take action like shutting down the account. I’d check with the gateway (PayPal/Stripe) before deciding to go that route.

    Thread Starter ccberlin

    (@ccberlin)

    Hello Ben,

    thanks for the quick reply! We’re already modifying quite a few places in the give code, so a bit more custom code should not be a problem 🙂

    Could you give me any pointers on what the modifications should do (we have a premium subscription if it helps)? Gateway-wise our client wants to support basically everything, so that might get tedious..

    Plugin Contributor Ben Meredith

    (@benmeredithgmailcom)

    Hi @ccberlin

    It’s strongly recommended to not modify the plugin code itself, so that when updates come out your changes are not overwritten. GiveWP is extendable via WordPress hooks and filters, so always do your modifications in the form of a custom snippet (some use a must-use plugin while others add a new helper plugin that they can activate and deactivate, while others put the code into their theme’s functions.php)

    With that preface out of the way, I wouldn’t even know where to start in coding the gateways to capture but not charge payment info. The two gateways included in our free product (which is all we are allowed to discuss here per forum rules) are Stripe and PayPal. You’d probably find it easiest to extend the Stripe integration in this way, but what you’d essentially need to do is something like their pre-approval functionality, but that maxes out at 7 days between when you authorize and capture the charge. The way to do that would be to filter the array of charge args sent to the gateway.

    Have a great day!

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Refunding Workflow’ is closed to new replies.