Stripe Checkout requires your WPS CRM CRM installation to run on HTTPS url, read more here: https://stripe.com/docs/web/setup#http-requirements
If your WPS CRM CRM installation is not running on HTTPS Url and you recently activated your SSL certificate for your domain, you should consider changing your WPS CRM CRM base url to start with HTTPS as explained here: https://help.WPS CRMcrm.com/switch-to-https-after-installing-to-http/
Configure API Keys
Stripe Checkout can be configured in Setup->Settings->Payment Gateways->Stripe Checkout.
To set up Stripe Checkout, you will need API Secret and Publishable key.
To get these, please follow the steps below:
- Log in to your Stripe account
- Click “Developers” from the top left menu item of the page
- Click the “API Keys” submenu item
If you toggled “View test data“, Stripe will show the test keys, otherwise, the live keys will be shown.
- For production, you will need the “Live Secret Key” and “Live Publishable Key“.
- For testing, you will need the “Test Secret Key” and “Test Publishable Key”
Webhook
Starting from WPS CRM CRM version 2.4.0, the Stripe checkout integration works with webhooks.
After the Stripe API credentials are saved, WPS CRM CRM will show you a message that the webhook is not configured for the current mode (testing or live based on your API credentials)
To spare you from manually configuring the webhook, we added functionality to automatically create the webhook in Stripe.
Just click on the “here” link in the message text to create the webhook in Stripe.
Keep in mind that at first if you added test Stripe API credentials, you will need to repeat this step again when you add your live API credentials.
Mod Security
In case you are getting Access to this resource on the server is denied or Not Acceptable mod_security errors when Stripe is redirecting back to WPS CRM CRM after payment, contact your hosting and ask them to disable mod_security for your WPS CRM CRM installation because in certain scenarios ModSecurity will interfere with WPS CRM CRM features.
Testing
After you entered the test Stripe API credentials and created the webhook, you can perform the following steps:
- Create a dummy customer.
- Create an invoice under the customer you created before and in the Allowed Payment Modes make sure that you select Stripe
- View the invoice as a customer, while previewing the invoice in the admin area click More->View Invoice as Customer.
- Scroll to the bottom and select Stripe and click Pay Now
- If you need test credit cards, you can read more in the Stripe testing guide page
Notes (applicable only for WPS CRM CRM versions below 2.4.0)
Keep in mind that once you make the first payment with Stripe under your dummy customer (or any other customer), WPS CRM CRM will create a separate customer in Stripe dashboard and will store the customer id inside WPS CRM CRM database, this ID will be used for future payments and the credit card you entered the first time will be used as default source for this customer.
After you disable testing mode and change the API keys to production, the customer you created for testing purposes won’t work anymore with the production API keys, means that you won’t be able to perform tests again with this customer with your production keys, you should delete this customer because the script won’t be able to fetch this customer from Stripe because the customer ID is actually from the testing data not from production data.
However, if you are familiar with working with phpmyadmin, you can easily set the field stripe_id in tbclients table to null.