1.1.15 • Published 7 years ago

fired-up-stripe v1.1.15

Weekly downloads
2
License
GPL-3.0
Repository
github
Last release
7 years ago

Fired Up Donate - Stripe Backend

This library allows you to process donations with stripe. While baseline functionality is included, you'll probably need to clone and customize some pieces. Features:

  • Creates customers upon donation
  • Create one time donations
  • Create recurring donations
  • Writes Donor, Donation, and Subscription data in OSDI format
  • Writes data to Firebase Database

Why Fired Up Donate/Stripe instead of another Stripe processor?

  • Uses firebase cloud functions, which is free for X invocations
  • ... So it runs on Google's cloud, which has remarkable uptime.
  • Uses the Open Supporter Data Interface so data is portable
  • TODO: Process changes made in the Stripe UI. Including refunds, cancelling subscriptions, and reverting plan changes to prevent unexpected changes to uses subscriptions
  • TODO: Works with Fired Up Donate Form out of the box
  • Verbose in communicating donor/donation transaction data to Stripe, so Stripe data can be exported or a Stripe analytics provider can provide value

Library Usage

1) yarn add fired-up-stripe 2)

Functions Usage

1) git clone 2) yarn && cd functions && yarn && cd .. 3) firebase init (Take care to not overwrite anything) 4) firebase functions:config:set stripe.private="%STRIPE_PRIVATE" stripe.connect="%STRIPE_CLIENT%" (Connect is optional, only use if you're connecting accounts) 5) Send the following JSON to your new donation processing route https://us-central1-%yourappname%.cloudfunctions.net/FUPDonateOnce

{
    "amount":"25",
    "email":"test@test.com",
    "given_name":"Test",
    "family_name":"User",
    "mailing_street1":"Street Address 1",
    "mailing_locality":"Anytown",
    "mailing_postal_code":"00000",
    "mailing_region":"CA",
    "mailing_country":"US",
    "employer":"Test",
    "occupation":"Test",
    "use_mailing":true,
    "token":"tok_xxxxxxxxxxxxx",
    "url":"http://localhost/your-donate-page",
    "source":"refering_person_name",
    "website":"localhost:3000",
    "referrer":"http://localhost:3000/your-donate-page",
    "recipient":"Your Org Name Here"
}

Development

Webhooks

The freely-available Ultrahook service makes building with webhooks a breeze. To develop in this repo, do the following:

1) gem install ultrahook 2) ultrahook stripe 4000 (You may need to login/create an account here) 3) Add https://stripe.%your-ultrahook-slug%.ultrahook.com/stripe/webhook 4) Send test webhooks via the UI OR use stripe's testing info to simulate various recurring donation failures