Stripe is a Splynx add-on used to synchronize customers, invoices and payments with the Stripe payment gateway - https://stripe.com
Stripe works only via HTTPS connection; domain + SSL need to be set and configured.
The add-on can be installed in two methods, via the CLI or the Web UI of your Splynx server.
To install the Stripe add-on via CLI, the following commands can be used:
apt-get update
apt-get install splynx-stripe
To install it via the Web UI:
Navigate to Config → Integrations → Add-ons
:
Locate or search for the splynx-stripe
add-on and click on the install icon in the Actions column, you will be presented with a window to confirm or cancel the installation. Click on Confirm
to begin the installation process:
After the installation process has completed, you have to configure the parameters in Config → Modules List:
Locate or search for the "splynx_stripe_add-on" and click on the Edit icon in the Actions column:
You have to Set your Splynx URL:
Splynx URL - URL of the Splynx system. This is the primary address used for API communication and partner integration.
Language - the language used in the interface for this integration.
Authentication type - select the method used to connect with Stripe: either API keys or OAuth 2.0.
For new clients, OAuth 2.0 is the default authentication method.
It provides a more secure connection and eliminates the need to manually copy and paste API credentials.
This is especially important when managing partners, as each customer may connect through a specific partner account.
You only need to click the 'Connect' button under Stripe credentials:
If your Authentication type is set to API, you’ll need to enter your Public Key and Secret Key under Stripe credentials:
Follow the steps below to create a webhook:
Init webhook
. This action will automatically generate a webhook in Stripe.Stripe account → Developers →Webhooks
.Payment account - the name of the selected payment provider (e.g., Stripe). It determines which payment gateway will be used to process transactions.
Bank payment account - Sspecifies the bank account within the selected payment provider (Stripe Bank in this case) used for processing direct transfers.
Available payment types - to enable support for bank accounts, select the appropriate payment method for your country.
You should only select one bank account option that corresponds to your country.
The Stripe add-on supports:
BECS Direct Debit for Australia
Pre-authorized Debit payments for Canada
ACH Direct Debit for the USA
Credit card payment method - select a payment method for payments with the credit card linked.
Bank Account payment method - select a payment method for payments with the bank account linked.
Payment statement grouping - controls how transactions are grouped in statements (Monthly or Daily).
Grant access to unauthorized customers - when enabled, customers without authorization can access payment features such as paying invoices or submitting requests.
Message to Stripe template - template string used for Stripe transaction processing. Placeholders must follow strict syntax.
Charge invoices without cards - if enabled, allows the system to charge customers even if their card is not saved in the system.
Offer to save payment credentials - if enabled, display a toggle for “Save and allow future charges” on the payment form to enable the saving of payment credentials in the system.
You can notify customers of failed automatic payments by enabling the
Failed payment notifications
toggle.
See also
Failed payments notifications
Admin can add customers' payment credentials on the Admin portal in their profiles:
Customers have to add a credit card in the Customer portal:
All customer personal information related to their bank account is stored encrypted in the database.
Once the configuration is completed, customers can pay for their invoices using the stripe.com system in Finance / Invoices:
If everything went well, you will see the status of the invoice marked as "Paid" (in the customer and admin portal):
Customers can top up their balances from the Dashboard in the Customer Portal:
You can charge all customers' invoices and balances using one button. Navigate to Finance → Invoices, set the period and click on Charge
as depicted below:
To charge invoices, select stripe as the External handler in the Invoices tab, and then click the Next
button:
In the new window, toggle the Confirm charge
switch to enable it, and then click the Charge
button to complete the charging process:
To charge balances, select stripe as the External handler in the Balances tab, and then click the Next
button:
In the new window, toggle the Confirm charge
switch to enable it, and then click the Charge
button to complete the charging process:
To learn more details about how to charge invoices and balances, please read Invoices
Here you can apply charges for prepaid customers.
Select Stripe charge prepaid
as the External handler and then click the Next
button:
If you enable the "Use available balance" toggle, the customer’s balance is applied to the charge amount. A positive balance reduces the charge. A negative balance increases it.
In the new window, toggle the Confirm charge
switch to enable it, and then click the Charge
button to complete the charging process:
To learn more details about how to charge prepaid customers, please read Invoices (Prepaid)
Payments made with Stripe can be refunded to the customer with the Refund button:
Enter the refund amount. You can enter the full amount or make a partial refund. Refund amount can only be equal to or less than the invoice amount.
Then, a credit note will be generated for the refunded amount, and the refund will be processed immediately.
If the payment has already been refunded, you will receive a warning message:
The Stripe logs can be found in Administration → Logs
:
Here, you can view different records based on the payment type. The records can also be filtered by date:
You have the option to include a direct payment link in your invoice or proforma invoice template, as well as in your email notification template for invoices and proforma invoices.
By doing so, your customers will be able to pay their invoices without requiring any authorization:
http://YOUR_DOMAIN/stripe/direct-pay-invoice?item_id={{ invoice.number }}
http://YOUR_DOMAIN/stripe/direct-pay-invoice-by-id?item_id={{ invoice.id }}
http://YOUR_DOMAIN/stripe/direct-pay-request?item_id={{ request.number }}
http://YOUR_DOMAIN/stripe/direct-pay-request-by-id?item_id={{ request.id }}