Stripe

FinDock integrates with Stripe, an international Payment Service Provider (PSP). Please note that your contractual limitations with Stripe apply with this integration, meaning that if your contract doesn’t cover a certain payment method, the FinDock extension won’t support it either.

Multi-merchantMulti-currency
nono
Payment MethodOne-timeRecurringRefunds
Apple Payyesnoyes
Credit Cardyesyesyes
Google Payyesnoyes
Idealyesnoyes

Pre-requisites

  • FinDock is installed and configured.
  • A source connector is installed and configured.
  • FinDock WebHub is connected and Notification Gateway configured.

Install and activate Stripe for FinDock

Follow the standard procedure for installing and activating the Stripe payment extension.

Link FinDock to Stripe

After the Stripe payment extension is activated in FinDock, you need to link it to your Stripe account.

To link FinDock to Stripe:

  1. Launch the FinDock app and click Setup. You will see a red mark on the Remote Site Settings tab indicating that the remote site settings for Stripe are disabled.
  2. Open the Remote Site Settings tab and, depending on your org, activate the test and production endpoint of Stripe: https://api.stripe.com. You should see a notification saying “Success: The remote site setting "Stripe" has been activated successfully.
  3. Go back to the Setup tab.
  4. Scroll down and click on the PaymentHub-Stripe tile.
    1.-stripe-tile-1024x214
  5. Copy the Notification URL.
    FinDock_Stripe notification_URL
  6. Log in to your Stripe account.
  7. Navigate to Developers > Webhooks.
    stripe_setup_webooks
  8. Click ‘+ Add endpoint’.
    stripe_setup_webooks_add_endpoint
  9. Paste the Notification URL copied from step 5 into the Endpoints URL.
    stripe_setup_webooks_paste_url_endpoint
  10. Click the ‘receive all events’ link.
    stripe_setup_webooks_recieve_all_events
  11. Click Add endpoint.
    stripe_setup_webooks_add_configured_endpoint
  12. Navigate to Developers > API keys.
  13. Click the Reveal test key token button, then copy and paste the Publishable key and Secret key values into the corresponding test fields of the Stripe-for-PaymentHub setup page.
    stripe_setup_api_keys
  14. Select Is Test if you would like to use the test credentials.
  15. Select Log Requests if you want to log all interaction with Stripe in the PaymentHub Log object. Then click Save.
    findock_stripe_settings_istest_logging
note

The above procedure presumes a test setup. Repeat the same steps using production values for Stripe and FinDock to go live with the Stripe for FinDock payment extension.

Paying with Apple Pay and Google Pay

Stripe enables payments with an Apple Pay or Google Pay digital wallets. No extra configuration is required to enable this for FinDock.

To use Apple Pay and Google Pay:

  1. Create an Installment with Payment Method ‘CreditCard’ and Payment Processor ‘PaymentHub-Stripe’.
  2. Redirect the user to the Stripe (CreditCard) ‘checkout’ payment page on their Android or Apple device or in their Chrome browser logged in with their Google Account.
    • If the Installment was created through the FinDock API, please use the RedirectURL provided in the response.
    • If the user has a digital wallet installed, Stripe automatically recognizes the wallet and shows an Apple Pay or Google Pay button.
      stripe_applepay-473x1024
  3. If the payer clicks this button:
    • If data like ‘Billing address’ and ‘email address’ is missing: prompted to add these from this screen:
      stripe_applepay_prompt_for_info-473x1024
    • Prompted to pay with Passcode
      stripe_applepay_passcode-473x1024
  4. User is redirected to:
    • SuccessURL if the payment is successful
    • FailureULR if the payment was cancelled or unsuccessful

FinDock updates the original installment with the status of the payment and stores a payment attached to the original installment with a Payment Profile containing the wallet details from Stripe. Since both debit and credit cards can be used with wallets, the type of card is stored in the ‘Funding Type’ field.

Payment API messages

The following are example messages for single and recurrent payments using the Payment API.

One-time payment with credit card

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"
}
}
},
"OneTime": {
"Amount": "36"
},
"PaymentMethod": {
"Name": "Creditcard",
"Processor": "PaymentHub-Stripe"
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}

Recurring payment with credit card

{
"SuccessURL": "https://www.example.com/success",
"FailureURL": "https://www.example.com/error",
"WebhookURL" : "https://webhook.site/9b9e84ca-1026-434e-a4a0-0d9f93a29587",
"Payer": {
"Contact": {
"SalesforceFields": {
"FirstName": "Eric",
"LastName": "Johnson",
"Email": "eric@johnson.com"
}
}
},
"Recurring": {
"Amount": "25",
"Frequency": "Monthly",
"StartDate": "2021-04-01"
},
"PaymentMethod": {
"Name": "CreditCard",
"Processor": "PaymentHub-Stripe"
},
"Settings": {
"SourceConnector": "PaymentHub"
}
}