Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrate a donation system #248

Open
RignonNoel opened this issue Jul 23, 2020 · 1 comment
Open

Integrate a donation system #248

RignonNoel opened this issue Jul 23, 2020 · 1 comment

Comments

@RignonNoel
Copy link
Contributor

RignonNoel commented Jul 23, 2020

Introduction

Organization that need volunteer need also donation, most of the time. In order to help them get donation properly and easily we want to develop a new feature allowing organization to get donation inside Volontaria but without having to touch or redirect their money since we are not a company.

This issue is to help organization integrate their own system of payment inside Volontaria and begin receive donation easily with just some pre-configuration.

Feel free to help us get autonomy for the organization we support :)

Expected behaviour

  1. Organization can link its own Stripe account
  2. Organization can define 3 level of donation (ex.: 5$, 10$, 25$)
  3. Organization can define a minimal amount of donation
  4. Organization can define if the bank fee are paid by the user or by the organization
  5. User (connected or not) can make a donation to the organization by selecting one of the 3 proposed levels or by defining his own level
  6. User can pay by credit card

Feel free to integrate other methods of payment like Paypal, Google Pay or Apple pay if you are motivated by the potential of this issue

Current behavior

There is no donation system for the moment

Potential solution

Here is a potential solution after some minutes of thought. Feel free to do a better conception or to speak with the community on Slack to discuss it if you want:

  • Create a Stripe test/developer account (free)
  • Create a new model BankConnection that contain a field name to help administrators manage their connections
  • BankConnection contain a type of payment (ie: Django choices) that can be only "Stripe" for the moment
  • BankConnection contain a field config that contain a JSON with the required config for the type of payment
  • Create a new model Donation that contain:
    • A CharField email to know who paid
    • An optional ForeignKey to a User (in order to automatically update the email address if User was connected)
    • An IntegerField amount
    • A TextField message if the User want to let a motivational message to the organization
    • A DatetimeField created_at to know when the donation occured
  • Create the serializer and view to manage donation properly
  • Create the serializer and view to manage connections properly

Helpful links:

  1. Django documentation about Model inheritance
  2. API Documentation for Stripe
  3. Test card info for Stripe
  4. API Documentation for Paypal
@FrankRough
Copy link

FrankRough commented Feb 28, 2021

Working on this feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants