Skip to content

Repository files navigation

StripeCharge To Donation & Recurring Donation Flow

Prerequesites:

  • Install Stripe Universal Connector
  • Authorize Connector and then activate charge.succeeded, subscription.updated and subscription.deleted Events.
  • Install invocables via Stripe App UI.
  • Brandon's Find or Create Contact Flow has been included.
  • Can only deploy flows successfully once invocables in place.

Stripe UC Documentation

Considerations

  • Opportunity Process Stage options may differ. Default in flow closes Opportunities to 'Closed Won' but depending on the Org you may need to change this in the imported flow
  • Formulae are used to separate Customer Name field into First and Last names, but this may not play well with 3 or more names.
  • A Name generation formula is available for defining the name of created Recurring Donations & Opportunities
  • Close Date formulae are available for defining an acceptable close date period to match within
  • Stripe allows for Subscription values to be updated in later payments. This flow alone will not match changed value payments, and needs a second subscription.updated event flow to ensure this is caught.
  • A second flow is included to manage subscription deletion events by closing the recurring Donation - edit to set sales process close status to comply with org installed in.
  • The flow creates barebones Contacts with just a name and email address. Needs some config to also bring in addresses, define record types, or pull in metadata entered in Stripe as per Org needs. How this is entered can vary by what is triggering Stripe, but is usually on the Charge>Billing or on Customer.

Included

Custom Fields

  • Creates a Stripe Field on Recurring Donation to carry Subscription ID (Default name in flow 'Stripe_Sub_ID__c')
  • Creates a Stripe Field on Opportunity/Donation to carry Payment Intent ID (Default name in flow 'Stripe_ID__c')

Flows

  • Creates a record triggered Flow called StripeCharge_ToDonation_ToRecDonation to handle incoming Donations
  • Todo: Record triggered flow to handle subscription amount changes
  • Todo: Record triggered flow to cleanly close Recurring Donations when a Subscription is deleted

Actions

  • Charge flow generates Donation and Recurring Donation records from Stripe Charge Succeeded Events.
  • Charge flow makes up to three GETs from Stripe API for additional data, depending on the payment type.
    • GET Customer for name data to use for Contact matching
    • GET Invoice for Subscription ID to use for Recurring Donation matching
    • GET Payment Intent for Lead Source
  • Subscription Deleted flow matches a Recurring Donation and calls NPSP Action to close RD cleanly.

Install

  • First install Stripe Universal Connector
  • Set Permissions and Authorize an Account connection with Stripe.
  • In Salesforce > Stripe for Salesforce App > Setup Tab, go to API Version Settings and install the latest package to make flow invocables available.
  • Enable the Charge Succeeded webhook in Stripe Setup.
  • Deploy flows from below button.

Post-install

  • Edit the flows to bring in your required metadata. This varies per org.
  • Edit find or create contact to meet org requirements.
  • Accessing metadata requires a Loop over the metadata Output field from your chosen Stripe object, with a Decision element to path that content to the correct custom field. These new variables can then be used further in the flow.

Deploy

Deploy to Salesforce

About

Stripe Charge To Donation To Recurring Donation

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors