Checkout.com for FinDock

FinDock supports Checkout.com as Payment Service Provider. The Checkout.com functionality is part of the Checkout.com for PaymentHub package.

Multi-merchantMulti-currency
nono
Payment MethodOne-timeRecurringRefunds
Bancontactyesnoyes
Credit Cardyesyesyes
Idealyesnoyes

Pre-requisites

  • FinDock Core (also known by its old name, PaymentHub) is installed and configured.
  • ProcessingHub is installed and configured.
  • A source connector is installed and configured.
  • A Salesforce site is configured.

Install and activate Checkout.com

Follow the standard procedure to install the payment extension package.

Once installed, you can also use the standard procedure to activate the Checkout.com extension.

Configure FinDock

  1. Navigate to FinDock setup by finding and opening tab Setup.
  2. Navigate to subtab Remote Site Settings. Activate Checkout.com Production Endpoint and/or Checkout.com Test Endpoint, depending on production org or sandbox.
  3. Navigate to subtab Activate/Deactivate. Activate package PaymentHub-Checkout.com.
  4. Now activate payment method “CreditCard” on the activated PaymentHub-Checkout.com record. Optionally BanContact or iDeal payment method can be activated. Note: To start accepting Bancontact or iDeal payments, please contact your Checkout.com customer success manager.
  5. Navigate to the FinDock Setup home page and click on the PaymentHub-Checkout.com tile. The Checkout.com setting screen will be displayed.
  6. Configure Checkout.com setting screen.
    • Public key, Secret key can be found under your Checkout.com Hub on hub.checkout.com under Settings > Channels. For test environment use sandbox.checkout.com
    • Site URL: URL of your Salesforce Site, starting with https:// and ending with /. Example: https://sandbox-paymenthub-developer-edition.cs89.force.com/
    • isTest: Activate if you are in a test phase and don’t want to process real payments.

Configure Salesforce Site for Checkout.com

  1. Make sure that “Guest Access to the Support API” is checked for the site.
  2. Site Guest User should have at least the following permission sets:
    • Checkout.com Integration User
    • (ProcessingHub Operations if ProcessingHub is configured)

Configure Checkout.com

  1. Log in onto hub.checkout.com or sandbox.checkout.com. Sign up first if needed.
  2. Under Settings > Channels scroll down to section Webhooks. Click New Webhook.
  3. As Endpoint URL use Site URL + /services/apexrest/ccph/checkout.com/webhooks/v1/
    • Example: https://sandbox-paymenthub-developer-edition.cs89.force.com/services/apexrest/ccph/checkout.com/webhooks/v1/
  4. Select v.2.0 API version
  5. Check the following event types:
    • Payment approved
    • Payment canceled
    • Payment capture declined
    • Payment captured
    • Payment chargeback
    • Payment declined
    • Payment expired
    • Payment pending
    • Payment refund declined
    • Payment refunded
    • Dispute Won
    • Dispute Canceled

Refunds

Use a refund to return a payment to a customer. Refunds can be made from your Checkout.com Hub on hub.checkout.com (for test environment use sandbox.checkout.com). The Checkout.com for PaymentHub package supports full refunds only. Some alternative payment methods may defer the capture of a refund several days.

3D Secure payments

Add and set the "3ds" parameter to true in the ParameterMap JSON object of the request to enable 3D Secure payments for Credit Card payments. See the example “Single Checkout.com Payment with enabled 3D Secure payments option”. Checkout.com docs: https://docs.checkout.com/docs/3d-secure-payments

Example Messages

Single Checkout.com Payment (payment method Credit Card)

{
    "SuccessURL":"http://www.success.nl",
    "FailureURL":"http://www.fail.nl",
    "Payer":{
        "Contact":{
            "FirstName":"T",
            "LastName":"Tester",
            "Email":"Test@work.com"
        },
        "AccountUpdate":"Enrich",
        "ContactUpdate":"Enrich",
        "AllowDeduplication":false,
        "PrimaryRelation":"Contact"
    },
    "Payment":{
        "Amount":10
    },
    "PaymentMethod":{
        "Name":"CreditCard",
"Processor" :"PaymentHub-Checkout.com"
    },
    "SourceConnector":{
        "Name":"PaymentHub"
    }
}

Recurring Checkout.com Payment

{
    "SuccessURL":"http://www.success.nl",
    "FailureURL":"http://www.fail.nl",
    "Payer":{
        "Contact":{
            "FirstName":"T",
            "LastName":"Tester",
            "Email":"Test@work.com"
        },
        "Account":{
            "Name":"Famylje Douwstra"
        },
        "AccountUpdate":"Enrich",
        "ContactUpdate":"Enrich",
        "AllowDeduplication":false,
        "PrimaryRelation":"Contact"
    },
    "Recurring":{
        "Amount": 10.15,
        "Frequency":"Monthly",
        "StartDate":"2017-11-01"
    },
    "PaymentMethod":{
        "Name":"CreditCard",
        "Processor":"PaymentHub-Checkout.com"
    },
    "Payment":{
        "Amount": 17.16
    },
    "SourceConnector":{
        "Name":"PaymentHub"
    }
}

Single Checkout.com Payment with enabled 3D Secure payments option

{
    "SuccessURL":"http://www.success.nl",
    "FailureURL":"http://www.fail.nl",
    "Payer":{
        "Contact":{
            "FirstName":"T",
            "LastName":"Tester",
            "Email":"Test@work.com"
        },
        "AccountUpdate":"Enrich",
        "ContactUpdate":"Enrich",
        "AllowDeduplication":false,
        "PrimaryRelation":"Contact"
    },
    "Payment":{
        "Amount":10
    },
    "PaymentMethod":{
        "Name":"CreditCard",
        "Processor" :"PaymentHub-Checkout.com",
        "ParameterMap":{
            "3ds": true
        }
    },
    "SourceConnector":{
        "Name":"PaymentHub"
    }
}

Single Checkout.com Payment (payment method Bancontact)

{
    "SuccessURL":"http://www.success.nl",
    "FailureURL":"http://www.fail.nl",
    "Payer":{
        "Contact":{
            "FirstName":"T",
            "LastName":"Tester",
            "Email":"Test@work.com"
        },
        "AccountUpdate":"Enrich",
        "ContactUpdate":"Enrich",
        "AllowDeduplication":false,
        "PrimaryRelation":"Contact"
    },
    "Payment":{
        "Amount":10
    },
    "PaymentMethod":{
        "Name":"Bancontact",
"Processor" :"PaymentHub-Checkout.com",
"ParameterMap":{
"payment_country": "BE",
"billing_descriptor": "Test Demo - bancontact"
}
    },
    "SourceConnector":{
        "Name":"PaymentHub"
    }
}

Single Checkout.com Payment (payment method iDEAL)

{
    "SuccessURL":"http://www.success.nl",
    "FailureURL":"http://www.nufail.nl",
    "Payer":{
        "Contact":{
            "FirstName":"T",
            "LastName":"Tester",
            "Email":"Test@work.com"
        },
        "AccountUpdate":"Enrich",
        "ContactUpdate":"Enrich",
        "AllowDeduplication":false,
        "PrimaryRelation":"Contact"
    },
    "Payment":{
        "Amount":10
    },
    "PaymentMethod":{
        "Name":"Ideal",
"Processor" :"PaymentHub-Checkout.com",
"ParameterMap":{
"bic": "INGBNL2A"
}
    },
    "SourceConnector":{
        "Name":"PaymentHub"
    }
}