# Checkout.com FinDock supports [Checkout.com](https://www.checkout.com/), an global provider of finance tools to businesses, from startups and name brands. | [Multi-merchant](/docs/payment-processors/multi-merchant-accounts-for-psps) | [Multi-currency](/docs/payment-processors/multiple-currency-support-in-findock) | | --- | --- | | | | | Payment Method | [Online Payment Flow](/docs/payments/accepting-payments-with-findock#online-payment-collection) | [Integration Patterns](/docs/payments/accepting-payments-with-findock#online-integration-patterns) | [Data Entry](/docs/payments/accepting-payments-with-findock#data-entry) | One-time | Recurring | [Refunds](/docs/payment-processors/payment-methods/payment-methods-overview#refunds) | | --- | --- | --- | --- | --- | --- | --- | | [Bancontact](/docs/payment-processors/payment-methods/bancontact) | Online Redirect | API | No | | | | | [Card](/docs/payment-processors/payment-methods/cards) | Online Redirect | API | No | | | | | [iDEAL](/docs/payment-processors/payment-methods/ideal) | Online Redirect | API | No | | | | You need to register separately with Checkout.com to be able to use iDEAL and Bancontact payment methods. ## Prerequisites * FinDock is installed and configured. * A working connection to ProcessingHub and WebHub. * Registered [Hosted Payments Page](https://www.checkout.com/docs/payments/accept-payments/accept-a-payment-on-a-hosted-page/manage-your-hosted-payments-page) ## Install and activate Checkout.com extension Follow the standard procedure for [installing](/docs/setup/install-findock) and [activating](/docs/setup/add-payment-extensions) the Checkout.com for FinDock payment extension. Check and assign the [required permissions](/docs/setup/general-permission-guidance). If you are using custom permission set groups, ensure the [package-specific permission sets](/docs/setup/permission-set-groups#checkout-com-permission-sets) are assigned. ## Set up Checkout.com at The Hub 1. Sign up and log in to [The Hub](https://hub.checkout.com). 2. Under Settings, go to Channels and scroll down to Webhooks. Click **New Webhook**. ![Checkout.com Hub new webhook](/assets/checkout-com-hub-new-webhook.cd3c3835c92a59d4df7e4c2dd015f7c5c96628f30c5b144c3754ae20a57c8a91.f78e0b2f.png) 3. As Endpoint URL use your Notification URL from the Checkout.com for FinDock settings (see below). 4. Select API version 2.0. 5. Check the following event types: * Dispute canceled * Dispute won * Payment approved * Payment canceled * Payment capture declined * Payment captured * Payment chargeback * Payment declined * Payment expired * Payment pending * Payment refund declined * Payment refunded 6. Click **Create webhook**. 7. Under Channel settings, generate API keys as needed. ![Checkout.com API keys](/assets/checkout-com-hub-api-keys.3c9294a67f911dc2ac4635d6b7efbc6c59148db9904b764e36425816bfa7d8ec.f78e0b2f.png) 8. Scroll down and click **Save changes** when you are done. The URLs under Channel settings are handled different depending on the payment method you use. ## Configure Checkout.com extension To configure the Checkout.com payment extension: 1. Launch the FinDock app and click the **FinDock Setup** tab. 2. Click **Processors & Methods** in the left-hand menu. 3. On the **Installed** tab, click the Checkout.com processor entry. 4. Click the edit icon next to the Main account in the accounts table. 5. Fill in the target settings as described below. * **Notification URL**: this value is automatically filled by the Notification Gateway. * **Public key, Secret key (production)**: if you are setting up a production org, copy-paste your public and secret keys for production from your account in The Hub. * **Public key, Secret key (test)**: if you are setting up a sandbox org, copy-paste your public and secret keys for testing from your account in The Hub. * **Is Test**: enable if you are setting up a sandbox org * **Log Requests**: enable to log all API requests 6. Click **Save**. ## Refunds The Checkout.com for FinDock extension supports full refunds of credit card payments. Refunds are initiated from your account at The Hub. ![Checkout.com Hub dashboard](/assets/checkout-com-hub-dashboard.ecddb2da54a8f85aa72ccef55c51078004146766bef9cd4542ada03b3a52aa1b.f78e0b2f.png) Installments collected through [payment schedules](/docs/payments/creating-approval-processes-for-bulk-collection-runs) can be refunded based on the installment reference only. ## Payment API To test your Checkout.com configuration, you can use the following API messages. ### Single credit card payment ```json { "SuccessURL": "https://www.example.com/success", "FailureURL": "https://www.example.com/error", "Payer": { "Contact": { "SalesforceFields": { "FirstName": "Test", "LastName": "Payment", "Email": "testpayment@findock.com" } } }, "OneTime": { "Amount": "15" }, "PaymentMethod": { "Name": "Creditcard", "Processor": "PaymentHub-Checkout.com", "Parameters": { "billingCountry" : "UK" } }, "Settings": { "SourceConnector": "PaymentHub" } } ``` ### Recurring credit card payment ```json { "SuccessURL": "https://www.example.com/success", "FailureURL": "https://www.example.com/error", "WebhookURL" : "https://webhook.site/365d03f8-977f-4fc3-9b01-256cf51e71bb", "Payer": { "Contact": { "SalesforceFields": { "FirstName": "Test", "LastName": "Payment", "Email": "testpayment@findock.com" } } }, "OneTime" : { "Amount" : "0.01" }, "Recurring": { "Amount": "40", "Frequency": "Monthly", "StartDate": "2020-12-21" }, "PaymentMethod": { "Name": "Creditcard", "Processor": "PaymentHub-Checkout.com", "Parameters": { "billingCountry" : "UK" } }, "Settings": { "SourceConnector": "PaymentHub" } } ```