Payments

Recurring Payments

Tendenci supports recurring payments when using Stripe or Authorize.net as the payment gaeway.

The steps for configuring recurring payments are covered on other pages, but there are some things to note before you can proceed.

Tendenci 7.4.1 or greater is required. See the upgrade documentation for more details on updating.

Note

If you want to know how to configure your tendenci.com payments see https://www.tendenci.com/help-files/recurring-payment-help/

Setting up

Setting up the payment gateway is covered in help file Setting Up Online Payment and your Merchant Provider on a Tendenci Site and auto renew with Stripe is detailed on a separate page.

Tip

If you create a recurring payment but your system is incorrectly configured you will need to delete the recurring payment and create a new entry.

Updating Payment Methods

The point of recurring payments is to allow members to opt in when performing payments, but this requires one more step be performed.

Depending on if there is already an ‘online’ Payment Method listed at https://example.com/admin/payments/paymentmethod/ (‘online’ means using your merchant account) you will either need to add a new entry, or potentially rename the existing ‘Is online’ payment entry (for example a rename might be required if you changed your merchant from PayPal to Stripe). Membership Applications will update to the new names automatically.

Warning

Do not delete your existing ‘Is online’ method and create a new ‘Is online’ method of payment. Deleting the existing method will remove all memberships that were paid using that method.

Help on changing your Payment Methods can be done using help for the memberships app already available on the Tendenci site, including a video for a more visual guide if you prefer.

Testing

Stripe and Authorize.net manage their test systems differently. For Stripe, the procedure is to use a special test only access key while Authorize.net use different API endpoints. Be sure you adjust your settings appropriately for the endpoint you have chosen!

How to Use Stripe Connect?

We have integrated stripe connect for both standard and express accounts. For the standard accounts, the payments are made directly on the connected accounts. The connected accounts are responsible for the Stripe fees, etc. For the express accounts, payments are made to the main account and transfered to the express accounts. The main account is responsible for the Stripe fees, but will retain the application fee that taken from the express accounts.

  1. Before you continue, please make sure stripe connect is enabled in your stripe account. Also, you must update your Connect branding settings with business name, icon, brand color in order to create an account link in the onboarding process. You can set these up at https://dashboard.stripe.com/settings/connect.

  2. Get the Stripe Connect Client ID from your stripe account, enter it to the site setting “Stripe Connect Client ID” at https://www.example.com/settings/module/payments/#id_stripe_connect_client_id.

  3. Register a Webhook. In your stripe account, go to Developers -> Webhooks, add a Webhook endpoint: https://www.example.com/payments/stripe/connect/webhooks/. Under “Listen to”, select “Events on connected accounts”. Click “Select events to send” to expand the list of events, then check “account.updated” under Account, and click “Add events”. Finally, click “Add endpoint” button. Once done, copy the “Signing secret” to the setting STRIPE_WEBHOOK_SECRET in your conf/setting.py .

  4. To add a connected account, go to admin backend https://www.example.com/admin/stripe/stripeaccount/, click “Add stripe account” to start the onboarding process. After your connected account is successfully added, you should assign an entity to it. Now payment will be paid to the connected stripe account with the same entity tied to the invoice.