Our Mission is to Connect and Organize the World's People. Do Good.
This help file is intended for site administrators and developers.
Our Association Management Software is Open Source. It currently supports the following payment gateways.
- Stripe (SSL is required) - RECOMMENDED
- Authorize.net (SIM) (We also support CIM for recurring payments. But it hasn't been integrated with any of the other modules yet).
- PayPal Payment Standard
- PayPal Payflowlink
- First Data
Notes:
You may also want to check out payment processor Stripe's seamless integration with Tendenci.
Developers can view the code on GitHub https://github.com/tendenci/tendenci/
Once you have a merchant account ready, it's time to configure your site to accept online payment by following the steps below for the payment gateway you've chosen. For security reasons, the sensitive information is stored in the /var/www/site_name/.env which requires server access (call Tendenci support if you need any assistance).
1. Setup for Stripe: [RECOMMENDED]
a) Add or change the value of 2 setting variables in the conf/settings.py:
STRIPE_SECRET_KEY
STRIPE_PUBLISHABLE_KEY
b) Update the site setting Merchant Account https://www.example.com/settings/site/global/#id_merchantaccount to:
stripe
c) Set up SSL on the site. Although your site does not store credit card info and the credit card data transmission is over Stripe's secure post URL. SSL is still required for a couple of reasons.
After everything is set, you can test it by making a general payment on your site via https://www.example.com/py/
2. Setup for Authorize.net:
a) Add or change the value of 3 setting variables in the conf/settings.py:
MERCHANT_LOGIN
MERCHANT_TXN_KEY
AUTHNET_MD5_HASH_VALUE
b) Update the site setting Merchant Account https://www.example.com/settings/site/global/#id_merchantaccount to:
authorizenet
c) In the Authorize.net merchant interface set up your response URLs like this (you don't need defaults)
Thus the resulting URL will be one of these TWO possible URLs and must exactly match the canonical URL from your site settings.
https://www.example.com/payments/authorizenet/thankyou/
and if using HTTPS (which you should be!) it is:
https://www.example.com/payments/authorizenet/thankyou/
And again, check your site settings and see this help file for more on Tendenci site settings. Jump to the Site URL portion. If your site settings Site URL does not match (e.g. https://www.example.org/ with the protocol) it will not work with Authorize.net. If you are getting error 14, this is most likely the problem.
If the silent post is enabled, specify the silent post URL.
https://www.example.com/payments/authorizenet/silent-post/
d) Set up SHA-512 Hash with Signature Key (for transaction response verification):
In the Authorize.net merchant interface, click Account -> API Credentials & Keys, then create a new Signature Key. Assign this Signature Key to "AUTHNET_SIGNATURE_KEY" in the conf/settings.py
3. Setup for PayPal Payment Standard:
a) Configure your PayPal account. Log in and click the Settings link at the top right of your PayPal account. Then click Website Payments in the left menu under "PRODUCTS & SERVICES", then click "Update" for Website Preferences.
- Turn on Auto Return.
- Enter the Return URL: https://www.example.com/payments/paypal/thankyou/
- Turn on Payment Data Transfer **Note that payment data transfer will not appear unless you turn on auto return**
- Copy the Identity token to be added to MERCHANT_TXN_KEY in your conf/settings.py
- Click Back to Profile -> again, Website Payments -> click "update" for Instant Payment Notifications.
- Select "Edit Settings".
- Enter the Notification URL: https://www.example.com/payments/paypal/ipn/
- Make sure you select "Receive IPN Messages".
b) Add or change the value of 2 setting variables in the conf/settings.py:
PAYPAL_MERCHANT_LOGIN -- This is your account's primary email address.
MERCHANT_TXN_KEY -- (this is the value of the Identity Token from Step 2)
c) Update your site setting Merchant Account https://www.example.com/settings/site/global/#id_merchantaccount to:
PayPal
4. Setup for PayPal PayFlowLink:
a) Add or change the value of 2 setting variables in the conf/settings.py:
PAYPAL_MERCHANT_LOGIN
PAYFLOWLINK_PARTNER
b) Update the site setting Merchant Account https://www.example.com/settings/site/global/#id_merchantaccount to:
paypalpayflowlink
3) Configure your merchant account on PayPal:
Log in to your account, then go to Service Settings -> Set Up
A) Under Payment Confirmation, next to Show Confirmation page, select On a PayPal-hosted page.
B) Enter Return URL:
https://www.example.com/payments/payflowlink/thankyou/
C) Set Return URL Method to: Post
D) Under Silent Post for Data Transfer,
Set Use Silent Post to: Yes
Enter Silent Post URL to:
https://www.example.com/payments/payflowlink/silentpost/
5. Setup for First Data e4:
a) Log in to your First Data e4 account. Create a Receipt page if it doesn't already exist.
- Select option 1 or 2.
- Enter Receipt Link: https://www.example.com/payments/firstdatae4/thankyou/
- Enter Silent Post URL: https://www.example.com/payments/firstdatae4/silent-post/
b) Set up keys in conf/settings.py:
MERCHANT_LOGIN = 'your merchant login'
MERCHANT_TXN_KEY = 'your transaction key
FIRSTDATA_RESPONSE_KEY = 'your response key'
c) Update the site setting Merchant Account https://www.example.com/settings/site/global/#id_merchantaccount to:
firstdatae4
Join the Open-Source Community! Give us a Call at (281)497-6567
We want to help your organization succeed on the web.