Salesforce Commerce Cloud Multiple Financing Programs

📘

SFCC Documentation

Click here to return to the Salesforce Commerce Cloud documentation page.

Overview
Get started with MFPs
Financing programs
Tutorial
Logic for selecting a financing program
Compliance with consumer protection laws and requirements
Reporting


Overview

Multiple Financing Programs (MFPs) in Salesforce Commerce Cloud enables you to selectively offer a specific custom financing program to consumers based on product or category attributes in your catalog, and site-wide, time-based programs. 

Financing program are defined by the following inputs:

Interest rate (APR) range

APR, or Annual Percentage Rate, is the cost of credit (i.e., interest) as a yearly rate.

Range of loan term lengths

The loan term length is the number of months that a customer has to repay the loan.

Merchant fee (MDR)

The merchant fee is a percentage of the purchase price that gets deducted from the settlements made to the merchant. 

How do I start using Multiple Financing Programs?

Financing programs are built by the Affirm Client Success team, and are specific to each merchant. If you'd like to start offering custom financing programs, please reach out to the Client Success team at [email protected]. Not all merchants qualify for custom financing programs.

Once your financing program has been created, you will be provided with a financing program ID and Promo ID by the Affirm Client Success team for your financing program(s). These IDs are utilized later in the sections below regarding the implementation of MFP. Affirm Promo ID displays correct terms in the Affirm marketing messages, monthly payment pricing and modal, while financing program value provides these terms during the checkout process.


Get started with MFPs

Once you have received your financing program name from our Client Success team, you can setup the Affirm Salesforce Commerce Cloud cartridge to apply that program when certain conditions are met. There are some common examples illustrated below show for a given promotion which fields need to be populated, and the possible outcomes.

How are different rules ranked?

This chart illustrates the relative ranking of the financing programs that are defined in Salesforce Commerce Cloud:

Ranking

Type of financing program

Options

1

Product-level

Inclusive

2

Product-level

Exclusive

3

Category-level

Inclusive

4

Category-level

Exclusive

5

Cart-size

6

Date

7

Default

Site-level programs

Items in cart

Financing programs (ranked)

  • Cart-size
  • Item 1
    • Product 1
      • financing program (inclusive) = "product_program"
    • Category 1
      • financing program (inclusive) = "category_program"
  • Item 2
    • Product 1
      • no financing programs
  1. product_program
  2. category_program
  3. cart_program
  4. date_program
  5. default_program

Financing programs

Offer a financing program only for specific products

1. Go to the General Affirm Configuration page, here: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the 'Affirm Financing programs mapping' value in this format: financing_program|data-promo-id
3. Save your configuration
4. Navigate to the product where you want to offer this financing program and edit the product
5. Go to the bottom of the page and fill in these fields:

  • Affirm Financing Program Name (financing_program)
  • (optional) Priority
  • Inclusive or Exclusive
  • (optional) Enter Affirm Financing Program Start Date and Affirm Financing Program End Date
  1. Save your configuration 

Scenarios

Scenario

Cart item 1

Cart item 2

Program selected

Consumer picks out two products, one with an inclusive product-level program and one without a financing program

Product 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 3
Has no financing program

zero_percent

Consumer picks out one product, one with an exclusive product-level program.

This is the only scenario where this exclusive program is applied.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent

Consumer picks out two products, one with an exclusive product-level program, and one without a financing program.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8
has no financing program

none


Offer a financing program for a weekend

1. Go to the General Affirm Configuration page, here: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the 'Affirm Financing programs mapping' value in this format: financing_program|data-promo-id
3. Add the Financing programs date range in this format: {startDate}|{endDate}|{financingProgram}, Ex: 2017-12-10|2018-01-15|financing_program
4. Save your configuration

Scenarios

Scenario

Cart item 1

Cart item 2

Program selected

  • Consumer picks out products with no financing programs.

  • Current date is inside the financing program's date range.

  • (financing program = "zero_percent")

Product 1
no financing programs

Product 3
no financing programs

zero_percent

  • Consumer picks out products with no financing programs.

  • Current date is outside the financing program's date range.

  • (financing program = "zero_percent")

Product 2
no financing programs

Product 2
no financing programs

none


Offer a financing program for an entire category of products**

1. Go to the General Affirm Configuration page, here: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the Affirm Financing programs mapping value in this format: financing_program|data-promo-id
3. Save your configuration
4. Navigate to the category where you want to offer this financing program and edit the category attributes
5. Go to the bottom of the page and fill in these fields:

  • Affirm Financing Program Name (financing_program)
  • (optional) Priority
  • (optional) Inclusive or Exclusive for Affirm Financing Program Mode; Default is Inclusive
    6. Save your configuration 

Scenarios

Scenario

Cart item 1

Cart item 2

Program selected

Consumer picks out two products, one with an inclusive product-level program and one without a financing program

Product 1

No financing program

Category 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 3

  • no financing program

Category 1

no financing program

zero_percent

Consumer picks out one product, one with an exclusive product-level program.

This is the only scenario where this exclusive program is applied.

Product 2

No financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent

Consumer picks out two products, one with an exclusive product-level program, and one without a financing program.

Product 2

no financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8
has no financing program

Category 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

none

Consumer picks out two category, one with an exclusive category-level program, and one without a financing program.

Product 2

no financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8

no financing program

Category 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

zero_percent


Offer financing program on a weekend in addition to product-specific financing programs

1. Go to the General Affirm Configuration page, here: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the Affirm Financing programs mapping value in this format: financing_program|data-promo-id
3. Add the weekend Financing programs date range in this format: {startDate}|{endDate}|{financingProgram}, Ex: 2017-12-10|2018-01-15|financing_program
4. Save your configuration
5. Navigate to the product where you want to offer this financing program and edit the product
6. Go to the bottom of the page and fill in these fields:

  • Affirm Financing Program Name (financing_program)
  • (optional) Priority
  • (optional) Inclusive or Exclusive for Affirm Financing Program Mode; Default is Inclusive

7. Save your configuration

Scenarios

These are some common scenarios that illustrate which financing program would be chosen based on the products that are in cart.

Scenario

Cart item 1

Cart item 2

Program selected

Consumer picks out two category, one with an inclusive product-level program, and one no financing programs.

Current date is inside the financing program's date range.

(financing program = "zero_percent")

Product 2

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 8

  • no financing program

zero_percent_plus

Customer selects two products, with an inclusive product-level program, and one no financing programs.

Current date is inside the financing program's date range.

(financing program = "zero_percent")

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8

  • no financing program

zero_percent

Customer selects one product with an exclusive product-level program.

Current date is inside the financing program's date range.

(financing program = "zero_percent")

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent_plus


Offer a financing program only for large carts, or for specific products

1. Go to the General Affirm Configuration page, here: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the 'Affirm Financing programs mapping' value in this format: financing_program|data-promo-id
3. Add the price range 'Financing programs cart total range' in this format: {minValue}|{maxValue}|{financingProgram}, Ex: 2000|9000|financing_program
4. Save your configuration
5. Go to the bottom of the page and fill in these fields:

  • Affirm Financing Program Name (financing_program)
  • (optional) Priority
  • (optional) Inclusive or Exclusive for Affirm Financing Program Mode; Default is Inclusive

6. Save your configuration 

Scenarios

Scenario

Cart item 1

Cart item 2

Program selected

Consumer picks out products from two categories, one with an inclusive category-level program and one without a financing program.

Product 1

No financing program

Category 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 3

  • no financing program

Category 1

no financing program

zero_percent

Consumer picks out one category, one with an exclusive category-level program.

This is the only scenario where this exclusive program is applied.

Product 2

No financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent

Consumer picks out two category, one with an exclusive category-level program, and one without a financing program.

Product 2

no financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8

has no financing program

Category 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

none

Consumer picks out two category, one with an exclusive category-level program, and one without a financing program.

Product 2

no financing program

Category 1

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8

no financing program

Category 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

zero_percent

Tutorial

Get the latest cartridge

  1. Install Salesforce Commerce Cloud

Create rules

There are fields for Financing program values in three areas of the Salesforce Commerce Cloud admin, where these rules are defined:

  • General Affirm Configuration: Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
    • Default Financing Program Value
    • Affirm Financing programs mapping
    • Cart-size rule
    • Date range rule
  • Product Editor: Merchant Tools -> Products and Catalogs -> Products -> Edit -> General
  • Catalog Editor: Merchant Tools -> Products and Catalogs -> Catalogs -> Edit -> Category Attributes

Depending on what the conditions are for a particular financing program, you will need to make edits to these areas of your Affirm configuration and product catalog. 

Note: this assumes you already have been provided with a Financing Program ID and Promo ID. If you haven't received one, please contact [email protected]. Financing programs cannot be based on any other term or condition at this time.

Site-wide financing programs:

1. Visit Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Enter the Default Financing Program value
3. Enter the Default Promo ID value
4. Add the Affirm Financing programs mapping value in this format: financing_program|data-promo-id

Date-range financing programs:

1. Visit Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Add the Financing programs date range in this format: {startDate}|{endDate}|{financingProgram}, Ex: 2017-12-10|2018-01-15|financing_program
3. Add the Affirm Financing programs mapping value in this format: financing_program|data-promo-id

Cart-size financing programs:

  1. Visit Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
  2. Add the Financing programs cart total range in this format: {minValue}|{maxValue}|{financingProgram}, Ex: 2000|9000|financing_program (maximum Affirm loan is $17,500, so anything above that will require a downpayment)
  3. Add the Affirm Financing programs mapping value in this format: financing_program|data-promo-id

demandware-mfp-1.pngdemandware-mfp-1.png

Category-level financing programs

Category-level financing programs will apply a financing program to a customer's cart when one or more items are from that category. The financing program could apply to the customer's entire cart, even items in the cart which may not qualify for a financing program on their own.

1. Visit Merchant Tools -> Site Preferences -> Custom Preferences -> Affirm
2. Enter the Affirm Financing programs mapping value in this format: financing_program|data-promo-id
3. Save your configuration
4. Visit Merchant Tools -> Products and Catalogs -> Catalogs -> Edit -> Category Attributes
5. Go to the bottom of the page and fill in these fields:

  • Affirm Financing Program Name (financing_program)
  • (optional) Priority
  • If there are multiple products with 'Inclusive' financing programs, we will use the 'Priority' to determine which one to apply to the purchase (1 being highest)
  • (optional) 'Inclusive' or 'Exclusive' for Affirm Financing Program Mode; Default is 'Inclusive'

6. Save your configuration 
demandware-mfp-category.pngdemandware-mfp-category.png

Product-level financing programs:

Product-level financing programs will apply a financing program to a customer's cart when the product is included in the cart. The financing program will apply to the customer's entire cart, even items in the cart which may not qualify for a financing program on their own.

1. Visit Products > Catalog > Action > Edit
2. Scroll to the bottom of the page to Enter the Multiple Financing Program ID you were provided by Affirm Client Success into the Multiple Financing Program Value field
3. Enter the Affirm Promo ID you were provided by Affirm Client Success into the Affirm Promo ID field

If you have any questions about offering financing programs, please Contact Us for guidance.


Logic for selecting a financing program

The Affirm Salesforce Commerce Cloud cartridge allows you to define multiple financing programs at many different levels, and the application of those rules is such that the default program will be used if there is any ambiguity as to which program has priority.

Scenario

Cart Item 1

Cart Item 2

Program

Consumer picks out two products, one with an inclusive product-level program and one without a financing programs.

Product 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 3

has no financing program

zero_percent

Consumer picks out two products, one with an inclusive product-level program, and one with an exclusive product-level program.

Product 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 4

  • financing program = "increased_approvals"
  • exclusive
  • no priority

zero_percent

Consumer picks out two products, one with an inclusive product-level program, and one with an inclusive product-level program of a lower priority.

Product 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 5

  • financing program = "18_months"
  • inclusive
  • priority 2

zero_percent

Consumer picks out two products, one with an inclusive product-level program, and one with an inclusive product-level program with the same name and priority.

Product 1

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 6

  • financing program = "zero_percent"
  • inclusive
  • priority 1

zero_percent

Consumer picks out two products, one with an inclusive product-level program, and one with an inclusive product-level program with a different name but the same priority.

This is a priority conflict and is intended functionality. This would be how you setup inclusive programs that are not compatible with one another.

Product 2

  • financing program = "zero_percent"
  • inclusive
  • priority 1

Product 7

  • financing program = "zero_percent_2"
  • inclusive
  • priority 1

none

Consumer picks out two products, one with an exclusive product-level program, and one without a financing program.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

Product 8

no financing program

none

Consumer picks out one product, one with an exclusive product-level program.

This is the only scenario where this exclusive program is applied.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent

Consumer picks out one product, one with an exclusive product-level program.

This is the only scenario where this exclusive program is applied.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No Product

zero_percent

Consumer picks out one product, one with an exclusive product-level program.

This is the only scenario where this exclusive program is applied.

Product 2

  • financing program = "zero_percent"
  • exclusive
  • priority 1

No product

zero_percent

Compliance with consumer protection laws and requirements

MFPs must comply with applicable federal, state, and local fair lending laws, regulations, and regulatory guidance. The purpose of fair lending standards is to ensure that individuals seeking financing are treated fairly and consistently. Generally, financing options must be offered to all qualified consumers without discrimination on the basis of race, color, religion, national origin, sex, marital status, age (provided that the applicant has the capacity to enter into a binding contract), the applicant's receipt of income through a public assistance program, the applicant's good faith exercise of a right under the federal Consumer Credit Protection Act, military status, sexual orientation, and other factors that may be prohibited under applicable state and local requirements. For example, merchants whose MFPs exclusively provide promotional pricing on items that appeal more to female customers than male customers may be found to be in non-compliance with fair lending requirements.

MFPs must also comply with the prohibitions in Title X of the Dodd-Frank Act and Section 5 of the Federal Trade Commission Act relating to unfair, deceptive, and abusive acts or practices. In essence, terms and conditions of financing programs must be clearly and accurately communicated to consumers.

Affirm reserves the right to request modifications to a financing program if it determines that the program may run afoul with applicable consumer protection requirements. Violating any applicable consumer protection requirement is a breach of your agreement with Affirm and can be grounds for termination as an Affirm merchant (and may result in legal action).

Reporting

In your settlement reports, we will include the financing program name that was active for a given transaction.