Skip to main content

Payment Profile

Api name: cpm__Payment_Profile__c

The payment profile object contains card or bank information. A contact or account can have one or more payment profiles containing credit card tokens, IBANs, bank account and sort code combinations etc. Each token, IBAN or bank account is stored in a separate record. The payment profiles are then linked to the installments to indicate what card or bank account should be used when processing this payment.


By default, FinDock doesn’t store the card PAN numbers, but only stores tokenized information in the payment profile.

When dealing with changes to the account number or card information, it is recommended to create a new payment profile record rather than updating the existing record. This preserves the history on the existing payments and installments. Different types of information in the payment profile object are separated by using Record Types. These record types allow you to configure different page-layouts for each type of payment profile such as Credit card, IBAN, bank account etc. For more information about working with Record Types and page-layouts, see Assign Page Layouts to Profiles or Record Types.

Payment profile 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. When uniqueness is enforced (FinDock Core general setting - disabled by default), this field ensures duplicate records are not created because of parallel processing. The Unique Identifier value is composed of the following elements:

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

All elements are separated by an underscore.

Customizing the Payment Profile object#

Customizations to the payment profile object should be done with care. Creating additional custom fields is supported, and these can even be supplied through the Payment API. However, it is not recommended to make any custom field you create a required field (at field level or through validation rule). You can still require users to enter the value by making it a required field on Page-layout level. For more information, see Make a Custom Field required.

Also be careful when defining de-duplication rules on the payment profile object, as FinDock does not support de-duplication handling by Salesforce on this object. When creating new payment profiles, FinDock will automatically de-duplicate payment profiles connected to the same contact or account, but not across different contacts or accounts. Payment Profiles can be created manually, by the Payment API or when processing bank statements. As such it is important not to implement breaking modifications to the payment profile object that might prevent the insertion or update of a record.