Payment Profile

API name: cpm__Payment_Profile__c

Description

The Payment Profile object contains details about a specific payment method that a contact or account has used. A separate Payment Profile record is created for different credit cards, bank account and BIC or sort code combinations, etc. Installments are linked to payment profiles to determine what details should be used when collecting the payment.

   FinDock does not store the primary account number (PAN) of a card on the payment profile, only tokenized card details.

When handling changes to payment details stored on a payment profile, in most cases you should create a new Payment Profile record rather than updating the existing record. This preserves the history of payment data related to installments paid using the original payment profile information.

For recurring payments, the payment profile is linked to the mandate in a child-parent relationship. Re-parenting is not supported. Linking a different payment profile to an existing recurring payment automatically triggers a new mandate creation/selection process.

Record types

Record types are used to separate and display information relevant for a given payment method. The FinDock Core package includes four record types that cover all payment method types. However, older installations may still have and use other record types that are no longer required in new installations.

Record types:

  • BBAN - for all non-IBAN account types; record layout and data validation are determined by the Country Picklist value.
  • Credit Card - for all card types and brands
  • IBAN - for all IBAN accounts
  • Wallet - for various payment methods such as ApplePay, GooglePay, Swish, etc.

Legacy record types:

  • Bank Account - UK bank accounts for Bacs package (replaced by BBAN record type)
  • Bank Account - Norway and Sweden bank accounts for Nordics package (replaced by BBAN record type)
  • Bank Account (Stripe) - UK bank accounts for Stripe package (replaced by BBAN record type)
  • Legacy Bank Account (Deprecated) - UK bank accounts for (Core package replaced by BBAN record type)
  • PayPal - Payer account for PayPal package (replaced by Wallet record type)

Page layouts

FinDock provides page layouts for each record type. The out-of-the box page layout assignments should be modified to fit your specific payment operations. For information about working with record types and page layouts, see Assign Page Layouts to Profiles or Record Types.

FinDock also ships a dynamic Lightning Page Record, Payment Profile Record Page - Dynamic Form, which we recommending use as the org default if it is not already. The layout presents the most relevant fields based on record type.

Identification and uniqueness

The Payment Profile object includes two fields for identification and enforcing uniqueness: Primary Identifier and Unique Identifier.

The Primary Identifier field is an indexed identification field that can be queried by processes like Guided Matching. The field value is determined by Record Type (account, credit card, etc.).

The Unique Identifier field is an indexed field with an enforceable, unique value that is upserted during Guided Matching processing. FinDock automatically enforces profile uniqueness to ensure duplicate records are not created because of parallel processing. This is controlled by the Enforce Payment Profile Uniqueness (cpm__Enforce_Payment_Profile_Uniqueness__c) custom setting which is true (checked) by default.

The Unique Identifier value is composed of the following elements separated by an underscore:

Record Type Name + Primary Identifier + Wallet Type (if applicable) + 18 char Contact Id (or Account Id)

Payment Profile fields

LabelTypeDescription
AccountLookup(Account)Account record linked to the payment profile
ActiveCheckboxIf not checked, the payment profile cannot be used to collect payments
Bank AccountText(50)The unique, country-specific number that identifies the payer’s account at a specific bank
Bank CodeText(255)A unique identifier for a financial institution in a given country issued by a central bank or banking association
Bank NameText(255)The name of the financial institution where the payer hold the bank account
BICText(50)The Business Identifier Code or SWIFT Code of the payer’s bank
Branch CodeText(50)The country-specific identifier of the payer’s bank branch location, also known as clearing number, routing number, etc.
BrandText(50)Card brand
Card BINText(6)Bank Identification Number of card (first four to six digits)
CCVText (Encrypted)(5)3-digit Card Verification Value
CityText(255)Non-EEA payer city name, required for SEPA Direct Debit
Clearing Member IdText(80)The legal identifier of the payer’s Swiss financial institution
ContactLookup(Contact)Contact record linked to the payment profile
CountryPicklistPicklist for BBAN accounts used for validation and record type page layout
CountryText(255)Non-EEA payer Alpha-2 ISO country code, required for SEPA Direct Debit
Credit Card NumberText (Encrypted)(175)Last four digits of the card number
Custom Tax CodeText(80)Tax code for SEPA/SEDA payments in Italy that overrides payer's default tax code from contact/account
Enforce UniquenessCheckboxIndicates if FinDock enforces uniqueness of payment profile
Expiration MonthPicklistCard expiration month
Expiration YearPicklistCard expiration year
FingerprintText(100) (External ID)Stripe-specific unique identifier
Funding TypePicklistIndicates card type (credit or debit), required by specific processors
Holder NameText(255)Payer’s name as it appears in the bank account owner details
House name or numberText(255)Non-EEA payer house name or number, required for SEPA Direct Debit
Housenumber (deprecated)Number(18, 0)Deprecated
IBANText(35)International Bank Account Number that identifies the country, bank and account number of a payer’s bank account in a valid format
Payer IdText(255) (External ID)Payer identification specific to PayPal
Payer NameText(255)Payer name specific to PayPal
PayPal Email AddressEmailPayer email address specific to PayPal
Primary IdentifierText(255) (External ID)Indexed identification for payment profile
ProcessingHub IdText(80) (External ID)Id of process ProcessingHub process that last used the payment profile
Reparent Payment ProfileText(255)Deprecated
Sort CodeText(50)6-digit sort code of the payer’s UK bank
Sort CodeText(50)Deprecated
State/ProvinceText(255)Payer's address state or province
StreetText(255)Non-EEA payer street address, required for SEPA Direct Debit
SuffixText(10)Payer's name suffix, such as Jr. or Sr.
TokenText(255)Token used to securely identify the card (instead of the card number)
Token IssuerText(80)Provider that issued the card token stored in the payment profile
Unique IdentifierText(255) (External ID) (Unique Case Insensitive)Indexed identification with enforceable uniqueness for payment profile
Wallet IdText(50)Identification number of payer's digital wallet
Wallet TypePicklistIndicates the payment method associated with the wallet, e.g. Apple Pay or Google Pay
ZipcodeText(15)Non-EEA payer postal code, required for SEPA Direct Debit

Was this page helpful?