Project Caridamos (GiveWP plugin & Stripe)
Budget: $30 – $250 USD
Crowdfunding Website that uses GiveWp Plugin.
We need a experience professional to create Snipets or customize the GiveWP plugin and Stripe API.
Below are some of the things that we need to implement:
1) Stripe - Capture Later: Adjust programming in order to perform charges on Gateway Stripe as Payment Intent - Capture Later. The system is not designed to support this billing method - Stripe::Capture Later. Thus, it does not read the webhook that says it has been accepted in Stripe, the Payment Intent, and then it does not update the status of the donation in the system, nor does it follow the flow of the donation system of displaying a thank you screen or sending emails with receipts. You have to correctly configure this for the system to follow the flow. Basically we need to create a way to capture the fee from the campaing account and send it to our account before the payment has been finalized by stripe.
2) Installment payment: The system makes recurring payments, but not installment donations. This is a different form of billing that needs to be implemented, which exists in the Stripe API. Donations must be paid in up to 10 installments without interest. The donation total (1000) (10x100=1000) has to add up to the campaing total not only the first charge (100).
3) Matchfunding: The system needs to allow Matchfunding, where donations are quadrupled by 2, 3 or 4 times. Quadrupling is done automatically by the system, generating a charge for the net donation amount, but showing the donation on the screen multiplied. The total value of the Campaign must also follow the multiplied values.
4) Bonus Goals: The system needs to allow changing the Campaign objective after the first established goal, creating Bonus Rounds with new goals specified. The definition of Bonus Goals must be done in the Form of each Campaign, and can be established beforehand, that is, when the Campaign reaches a certain value, it jumps to the next goal and shows the Campaign's new financial goal (Goal).
5). A "robot"/admin PHP page outside of the platform and stripe but connected to both. It must run automatically, must be configured with the accounts that must receive donations, and it can also have a trigger to run everytime a donation is receive or could be setup to run in X days, and another trigger to run when a campaign ends. It must be configurable with the Effective Rates of each campaign. Each campaign has its own differentiated fee rate. The program must do the follow:
A - Download the list of all donations available for capture (all payment intents with capture later)
B - Based on the value of that moment of donations made, the robot knows the amount it should charge for fees
C - The robot starts capturing the donations (payment intents with capture later) from the downloaded list up to the limit of the amount it should charge due fees in the window of time and amount it is acting. (It can be the first iteration, like the second or third)
D - After charging the fees, if there are still donations to be captured, the robot captures the donations without charging a fee - it captures the total amount of the payment intent without a fee amount.
E - The robot keeps the last donation captured, and the fee value that has already been captured so far.
F - In a next iteration, the robot does everything the same, but knowing where the new batch of captures should start (since it saved the last donation captured) and also knows the total amount of fees - as it knows the total value of the campaign at that moment - and since you know the amount you have already captured for fees, you know the amount you should capture from that iteration. Then it goes to item 1 again - downloads the list, captures the donations up to the limit of the due fee for that iteration, and saves the last donation captured.
We need a experience professional to create Snipets or customize the GiveWP plugin and Stripe API.
Below are some of the things that we need to implement:
1) Stripe - Capture Later: Adjust programming in order to perform charges on Gateway Stripe as Payment Intent - Capture Later. The system is not designed to support this billing method - Stripe::Capture Later. Thus, it does not read the webhook that says it has been accepted in Stripe, the Payment Intent, and then it does not update the status of the donation in the system, nor does it follow the flow of the donation system of displaying a thank you screen or sending emails with receipts. You have to correctly configure this for the system to follow the flow. Basically we need to create a way to capture the fee from the campaing account and send it to our account before the payment has been finalized by stripe.
2) Installment payment: The system makes recurring payments, but not installment donations. This is a different form of billing that needs to be implemented, which exists in the Stripe API. Donations must be paid in up to 10 installments without interest. The donation total (1000) (10x100=1000) has to add up to the campaing total not only the first charge (100).
3) Matchfunding: The system needs to allow Matchfunding, where donations are quadrupled by 2, 3 or 4 times. Quadrupling is done automatically by the system, generating a charge for the net donation amount, but showing the donation on the screen multiplied. The total value of the Campaign must also follow the multiplied values.
4) Bonus Goals: The system needs to allow changing the Campaign objective after the first established goal, creating Bonus Rounds with new goals specified. The definition of Bonus Goals must be done in the Form of each Campaign, and can be established beforehand, that is, when the Campaign reaches a certain value, it jumps to the next goal and shows the Campaign's new financial goal (Goal).
5). A "robot"/admin PHP page outside of the platform and stripe but connected to both. It must run automatically, must be configured with the accounts that must receive donations, and it can also have a trigger to run everytime a donation is receive or could be setup to run in X days, and another trigger to run when a campaign ends. It must be configurable with the Effective Rates of each campaign. Each campaign has its own differentiated fee rate. The program must do the follow:
A - Download the list of all donations available for capture (all payment intents with capture later)
B - Based on the value of that moment of donations made, the robot knows the amount it should charge for fees
C - The robot starts capturing the donations (payment intents with capture later) from the downloaded list up to the limit of the amount it should charge due fees in the window of time and amount it is acting. (It can be the first iteration, like the second or third)
D - After charging the fees, if there are still donations to be captured, the robot captures the donations without charging a fee - it captures the total amount of the payment intent without a fee amount.
E - The robot keeps the last donation captured, and the fee value that has already been captured so far.
F - In a next iteration, the robot does everything the same, but knowing where the new batch of captures should start (since it saved the last donation captured) and also knows the total amount of fees - as it knows the total value of the campaign at that moment - and since you know the amount you have already captured for fees, you know the amount you should capture from that iteration. Then it goes to item 1 again - downloads the list, captures the donations up to the limit of the due fee for that iteration, and saves the last donation captured.