The JustOn Self-Service Extension supports Stripe as a payment provider. It uses the Stripe Webhooks to implement the payment procedure. It uses Stripe Elements to securely accept the customer's payment details.
The payment provider implementation supports the following payment methods:
- SEPA Direct Debit, with full support for future payments
Credit card, with optional support for future payments
The future payment support depends on the credit card type and is not available with 3D Secure.
Alipay, without support for future payments
Be aware of the current limitations:
- The Stripe integration does not support refunds.
- The payment reference string (set in the field
Payment Referenceon the invoice template) must include at least one letter.
Creating Stripe Account
In order to use Stripe as a payment provider, you need a valid Stripe account. Follow the instructions in Managing Your Account in the Stripe documentation.
For configuring the integration with the JustOn Self-Service Extension, you need the API keys. The API keys are available in the Developers section of the Stripe Dashboard.
In addition, you must create a webhook. The webhook configuration is also available in the Developers section of the Stripe Dashboard.
Use the following values to add a webhook endpoint:
URL to be called:
The URL is made up of the Salesforce Force.com site URL and the path
Make sure to use the site URL. Do not use the domain URL.
After creating the webhook, click the webhook to reveal the signing secret. It is required for the configuring the Stripe integration.
Send all event types, or select the following event types:
Stripe can use customers as a means to perform recurring charges without the need to prompt users for card or account numbers. The JustOn Self-Service Extension supports Stripe customers, exposing the feature as Future Payments option. For details about using customers for payment, see Saving Cards in the Stripe documentation.
Make sure to enable the Apex class ONBSE1.StripeWebhookHandler in order to support the Stripe integration. For details, see Configuring Apex Class Access Permissions.
Configuring Stripe Integration
To configure the Stripe integration with the JustOn Self-Service Extension:
Open the Payment Provider Setup page.
Open the Payment Provider Setup page directly, or navigate to Visualforce Pages > PaymentProviderSetup in Setup, and open the preview.
Select the payment provider and click New to create a new configuration, or click Edit next to an existing configuration to modify it.
You can create one active payment configuration per tenant and payment provider. Before creating a new configuration for a tenant/provider combination that already exists, you must deactivate the existing configuration.
Select the tenants for which the configuration is applicable.
If there is no tenant selected, this configuration is used by default for all tenants.
Specify a name for this configuration setting.
Make sure to use a descriptive name that helps to unequivocally identify the configuration setting.
Specify the provider-specific configuration.
Field Required Notes Publishable Key The publishable key of the test or live universe of your account. Secret Key The secret key of the test or live universe of your account. Webhook Secret The signing secret of the Webhook. Enable Future Payments Select this checkbox if you want to enable the future payments feature. When checked, the future payment option is shown after confirming the Stripe payment form. Future Payments Active Select this checkbox if you want to activate the future payments feature by default. This creates a corresponding payment instrument, which is saved on the account. Users can override this setting in the payment form. Future Payments Changeable Select this checkbox if you want users to be able to override the
Future Payments Activevalue in the payment form.
Alipay Enables payments via Alipay.
Since Alipay does not support future payments, you must not select the
Enable Future Paymentsoption for this payment method. You can, however, use future payments with other Stripe payment methods, and create a separate Stripe configuration for Alipay with future payments disabled.
Credit Card Enables payments via credit card.
Enabled by default if no payment method is selected.
SEPA Enables payments via SEPA direct debit.
When editing existing configurations, key and secret values are not displayed. Key and secret values remain unchanged as long as you leave the corresponding fields empty.
Select the payment methods for which Stripe is to be used.
- Click Add for new configurations or, respectively, Save for existing configurations.