Promo library
Overview
This Java library provides methods for calculating monthly payment amounts for a given cart total or product price.
Default
Calculate payment amount with defaults. This is the standard method for calculating the monthly payment amount.
AffirmPromoResults calculate(Double loanAmount)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
PageType
Calculate payment amount with PageType.
AffirmPromoResults calculate(Double loanAmount,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
Promo ID
Calculate payment amount with Promo ID.
AffirmPromoResults calculate(Double loanAmount,
String promoName)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
Promo ID and PageType
Calculate payment amount with Promo ID and PageType.
AffirmPromoResults calculate(Double loanAmount,
String promoName,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
Promo ID and Supplier Name
Calculate payment amount with Promo ID and Supplier Name
AffirmPromoResults calculate(Double loanAmount,
String promoName,
String supplierName)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
supplierName optional | string | The supplier name to use when generating the calculation results. |
Promo ID, Supplier Name and PageType
Calculate payment amount with Promo ID, Supplier Name and PageType.
AffirmPromoResults calculate(Double loanAmount,
String promoName,
String supplierName,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
supplierName optional | string | The supplier name to use when generating the calculation results. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
Date
Calculate payment amount on a specific Date.
AffirmPromoResults calculate(Double loanAmount,
Date captureDate)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate optional | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
Date with PageType
Calculate payment amount on a specific Date, with PageType.
AffirmPromoResults calculate(Double loanAmount,
Date captureDate,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate optional | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
Promo ID on a specific Date
Calculate payment amount with Promo ID on a specific Date.
AffirmPromoResults calculate(Double loanAmount,
Date captureDate,
String promoName)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate optional | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
Promo ID on a specific Date with PageType
Calculate payment amount with Promo ID on a specific Date with PageType.
AffirmPromoResults calculate(Double loanAmount,
Date captureDate,
String promoName,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate optional | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
Promo ID and Supplier Name on a specific Date
Calculate payment amount with Promo ID and Supplier Name on a specific Date
AffirmPromoResults calculate(Double loanAmount,
Date captureDate,
String promoName,
String supplierName)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate optional | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
supplierName optional | string | The supplier name to use when generating the calculation results. |
Promo ID and Supplier Name on a specific Date and PageType
Calculate payment amount with Promo ID and Supplier Name on a specific Date and PageType
AffirmPromoResults calculate(Double loanAmount,
Date captureDate,
String promoName,
String supplierName,
PageType pageType)
loanAmount required | double | The product or cart total in $xx.xx format. Should always be a positive number. |
captureDate | Date | The date we should assume when determining the applicable financing program. If a timezone is set, it will be respected during APR calculation. |
promoName optional | string | The promo ID to use. This will affect the financing program and text templates used. |
supplierName optional | string | The supplier name to use when generating the calculation results. |
pageType required | PageType | Used to pass in the page type Enum defined in the Calculator class |
AffirmPromoResults Response
This object will be returned from the calculate methods documented above. You can map these fields to the text template you're using to render the Affirm monthly payment methods.
{
successful = successful;
error = AffirmPromoResults.AffirmPromoCalculatorError
message = message;
apr = apr;
loanAmount = loanAmount;
monthlyPayment = monthlyPayment;
monthlyPaymentExact = monthlyPaymentExact;
date = date;
url = url;
}
successful | boolean | Result of calculation True / False |
message | string | In error cases a message will be provided explaining the reason for failure |
apr | double | Resulting APR of calculation |
error | enum | AffirmPromoCalculationError reason for error |
loanAmount | double | The original loan amount |
*monthlyPayment** | double | The monthly payment amount to display currently rounded and ending in XX.00 ( Zeros ) to be trimmed and displayed as an integer. |
monthlyPaymentExact | double | The monthly payment amount without rounding up. |
date | Date | The date this calculation was generated. |
url | string | URL to use for the educational modal iFrame. |
AffirmPromoCalculator.PageType Enum
Optional: Calculate method param used to tailor educational modal content to be context specific about either a single set of terms, or a collection.
{
BANNER,
CART,
CATEGORY,
HOMEPAGE,
LANDING,
PAYMENT,
PRODUCT,
SEARCH
}
AffirmPromoResults.AffirmPromoCalculatorError Enum
When AffirmPromoResults.error
is set to an enum value, the message
field can be interrogated for more details on the error.
{
INVALID_LOAN_AMOUNT
}
Updated 5 months ago