How FinDock handles payments

Getting payment data into your Salesforce CRM is valuable in itself, but the ultimate goal is getting money on your organization’s bank account. Here we present the basic tools available to do just that.

Accepting and collecting online payments

Most payment methods can be accepted through digital channels. You can connect your front-end payment form (app, web page, etc.) to the FinDock Payment API or set up web pages using FinDock Giving Pages. The basic flow looks like this:

  1. Customer enters personal information in the front-end payment form.
  2. Details are sent to FinDock for creation, update (or deduplication) of contact record.
  3. If required by the payment method, additional authorization details are requested and captured by the PSP (e.g. through a Hosted Payment Page).
  4. Notification(s) of payment transactions are sent to FinDock for creation of payment records.
  5. Follow-up communication, such as a thank-you message or payment confirmation, is sent to the customer according to your customer relations flow.

Online payment flow

When you collect online payments through a PSP, FinDock does not store all payment details like credit card numbers or bank accounts, but a token provided by the PSP that can be used for future payments.

Initial payment for recurring payments

PSPs offer a variety of options for initial payment when setting up a new recurring payment. Typically used with recurring credit card payments, a PSP may require in initial payment, make it option, or not allow it at all.

The FinDock Payment API tells you what is allowed with payment method parameter, InitialPaymentonRecurring. This is only available through custom front-end integrations and FinDock Giving Pages.

The parameter is returned by the GET PaymentMethods endpoint. The returned options are:

  • Required: The recurring payment setup must include a one-time payment block.
  • Optional: The recurring payment setup may include a one-time payment block.
  • No: The recurring payment setup must not include a one-time payment block.

If an initial payment is required or optional, you use the OneTime block to set the first payment. Below is an example of an API POST message where InitialPaymentonRecurring is required.

    {
      "Recurring": {
        "Amount": 10,
        "Frequency": "Monthly",
        "StartDate": "2023-01-01",
        "EndDate": "2024-01-01"
      },
      "OneTime": {
        "Amount": 10
      },
      "SuccessURL": "https://www.example.com/success",
      "FailureURL": "https://www.example.com/failure",
      "Payer": {
        "Contact": {
          "SalesforceFields": {
            "FirstName": "First",
            "LastName": "Last",
            "Email": "first.last@email.address",
          }
        }
      },
      "PaymentMethod": {
        "Name": "CreditCard"
      }
    }

The RecurringRequiresInitialPayment is deprecated in favor of InitialPaymentonRecurring.

Accepting and collecting offline payments

Some one-time payments and future installments of recurring payments are collected with a delay when the payer is not present, or “offline” as it is sometimes called.

For these offline payments, you use a payment schedule to send instructions to the processor to collect the payments. Payment schedules can be run once, regularly over a specific period, or configured to run automatically. This gives you fine-grained control over when, what and how you collect your payments.

While the payment schedule tool itself remains the same regardless of the payment method and processor, FinDock automatically handles the related installments according to the given method and processor.

If the payment collection is through an integrated PSP, the collection is handled via API calls. If the collection is through a bank or service bureau, FinDock generates the required file, uploads it to Chatter, from where it is manually (or in some cases automatically) transferred to the bank or service bureau.

Offline payment flows

Mandate management

A "mandate" is the authorization payers give you to collect money from their accounts. When using external processors, managing these authorizations is largely the role of your PSP.

For payment methods natively processed through FinDock, we provide complete mandate handling. This includes both outbound and inbound mandate-related instructions.

File types generated by FinDock

The following table includes the file types that FinDock generates through payment or mandate schedule runs. These files are generated when FinDock is used as a native payment processor.

FileNamePayment MethodDescriptionFormat
Autogiro Mandate FileMandate FileAutogiro direct debitMandate setup instructions for Bankgirot service80-character fixed length
Autogiro Payment InitiationPayment InitiationAutogiro direct debitPayment collection instructions for Bankgirot service80-character fixed length
DDIDirect Debit InstructionBacs Direct DebitMandate setup instructions for the Bacs ServiceStandard 18
DD collection fileDirect Debit payment instructionBacs Direct DebitPayment collection instructions for the Bacs ServiceStandard 18
HMRC fileCharities Online FilingGift AidCharity tax claim for UK donationsHMRC XML for Gift Aid submissions
Pain.001Customer Credit Transfer InitiationSEPA Credit TransferInstruction from debtor organization to transfer funds to creditorISO 20022
Pain.008Customer Direct Debit InitiationSEPA Direct Debit, SEPA CBIInstruction from creditor organization to collect from debtorISO 20022
Pain.009Mandate Initiation RequestSEDAInstruction from creditor organization to set up a direct debit mandateISO 20022
Pain.010Mandate Amendment RequestSEDAInstruction from creditor organization to change a direct debit mandateISO 20022
Pain.011Mandate Cancellation RequestSEDAInstruction from creditor organization to cancel a direct debit mandateISO 20022

Was this page helpful?