Affirm payments
Offer your US, Canadian, and United Kingdom customers flexible financing while getting paid upfront with Affirm.
Affirm is a popular payment method in the US, Canada, and the United Kingdom that gives your customers a way to split purchases over a series of payments. Pay in 4 interest-free installments or in monthly installments of up to 36 months.
| Payment method family | Buy Now, Pay Later |
| Usability | Single-use |
| Access type | Instant provisional access |
| Payment confirmation timing | Immediate |
| Settlement timing | Up to 2 business days (T+2) |
| Pricing | View pricing details |
Eligibility and availability
Account eligibility
| Business location | Canada United States United KingdomPreview |
| Account type |
|
| Business model |
|
| Business category | View list of prohibited and restricted business categories |
The following categories are prohibited from using Affirm in all countries or are subject to additional requirements.
- Business to business services
- Home improvement services, including contractors and special trade contractors
- Titled goods and auto loans, including entire cars, boats, and other motor vehicles (parts and services allowed)
- Professional services (including legal, consulting, and accounting)
- NFTs
- Pre-orders
Healthcare services are approved to use Affirm, however they’re subject to additional requirements. For the complete list of prohibited businesses and additional requirements, see the Affirm Payment Terms.
Your account might be reviewed after activation to confirm eligibility. In addition to meeting the criteria above, you must also provide a website that meets the following requirements in addition to the Stripe account activation requirements:
- Must be publicly accessible.
- Must display pricing in the local currency of the customer.
You can contact Stripe support to appeal any Affirm capability restrictions.
Payment support
| Buyer location | Canada United States United KingdomPreview |
| Presentment currency | USD, CAD, GBPPreview |
| Geographic coverage |
|
| Transaction limits | Minimum amount: 35.00 USD Maximum amount: 30,000.00 USD |
Note
Affirm only supports domestic transactions, meaning you can only sell to customers in the same country as your business. If you’re using Dynamic payment methods, Stripe handles a customer’s payment method eligibility automatically. If you use payment_method_types, you must either configure your integration so that it only presents Affirm to eligible customers, or use dynamic payment methods.
Payment options
| Payment option | Amount range |
|---|---|
Pay in 30 Single payment in 30 days, interest-free | USD 35–USD 50 |
Pay in 4 4 interest-free biweekly payments | USD 50–USD 700 |
Monthly installments 3 to 36 months, which might include interest | USD 100–USD 30,000 |
Financing packages
Depending on the cart order size, Affirm presents customers with Pay in 30, Pay in 4, or monthly installment offers. Term lengths and cart ranges are determined by Affirm and might change at their discretion. Regardless of the underlying payment option selected, Stripe makes the full amount of the funds (minus fees) available to you upfront and Affirm collects the purchase amount from your customer, who repays Affirm directly.
Affirm supports two financing packages: Standard and Enhanced. By default, businesses get the Standard financing package. Businesses with Stripe Dashboard access can view or change their financing package on the Payment methods settings page, except for connected accounts and platforms. Financing packages are identical across the available countries.
| Order minimum (USD, CAD, and GBP) | Order maximum (USD, CAD, and GBP) | Available payment options |
|---|---|---|
| 35 (USD only) | 49.99 (USD only) |
|
| 50 | 99.99 |
|
| 100 | 499.99 |
|
| 500 | 699.99 |
|
| 700 | 1,699.99 |
|
| 1,700 | 30,000 |
|
Rates vary from 10% to 36% APR, subject to eligibility. For example, a 800 USD purchase might cost 72.12 USD per month over 12 months at 15% APR. See Affirm lending terms for more details. Platforms don’t qualify for the pay in 30 and monthly installments with 0% APR plans.
Customer country filtering
Customer country filtering applies when you enable a dynamic payment method on the Payment Element or Checkout Session. Affirm only displays as a payment method option if the customer’s country is supported.
We determine the customer’s country in the following priority order:
- Shipping address country: The two-letter country code, not the full name of the country.
- Geocoded country: The country based on the client-side IP address.
Capabilities
| Recurring payments | Not supported |
| Payment authorizations |
|
| Payment captures |
|
| Refunds |
|
| Disputes |
|
Refunds
You have up to 120 days from the original payment to submit a refund using the Dashboard or Refunds API. This is the maximum the payment method allows-your return policy determines what you offer customers.
Refunds for Affirm payments are asynchronous and take up to 2 days to complete. Affirm refunds can’t be canceled.
Refund process
Affirm refunds are never processed as reversals. When you issue a refund, Affirm cancels any remaining scheduled payments and returns any amounts the customer has already paid, minus any interest paid. The customer sees the update reflected in their Affirm account.
Tracking refunds
You can view refund status in the Dashboard. Open the payment and click View Details on the refund entry, or retrieve the Refund object and check its status field. Stripe also notifies you of the final refund status using the refund. or refund. webhook event. When a refund succeeds, the status of the Refund object transitions to succeeded. If a refund fails, the status transitions to failed, Stripe returns the amount to your Stripe balance, and you must arrange an alternative way to provide your customer with a refund.
Disputes
There’s no set time limit for customers to file Affirm disputes.
Affirm payments can only be disputed once.
Dispute process
- Dispute opened: Affirm opens a dispute. Stripe immediately withholds the disputed amount from your balance. You have 15 calendar days to submit evidence.
- Decision: Affirm reviews your evidence and issues a final decision within 60 calendar days of dispute creation.
Dispute notifications
When a Affirm dispute is opened, Stripe notifies you through:
- The Stripe Dashboard
- A charge.dispute.created webhook event
The dispute reason is available in the Dashboard and in the reason field of the Dispute object. The evidence submission deadline is available in the Dashboard and in the evidence_ field of the Dispute object.
Responding to disputes
You have 15 calendar days from dispute creation to submit evidence.
We request that you upload compelling evidence proving that you fulfilled the purchase order using the Stripe Dashboard. This evidence can include the:
- Tracking ID
- Shipping date
- Record of purchase for intangible goods, such as IP address or email receipt
- Record of purchase for services or physical goods, such as phone number or proof of receipt
- Record of refund (for purchases you’ve already refunded)
You can submit evidence and manage Affirm disputes in the Dashboard or programmatically using the Disputes API. In the Dashboard, go to the Needs Response tab, click the disputed payment, then click Counter dispute to submit your evidence, or Accept dispute to accept the loss. To submit evidence through the API, upload supporting files using the Files API and include the returned file IDs when you update the Dispute Evidence object.
Dispute outcomes
If Affirm resolves the dispute in your favor, Stripe returns the disputed amount to your Stripe balance.
If they rule in favor of the customer, the balance charge becomes permanent.
Fraud and liability
Customers must authenticate Affirm payments by logging into their Affirm account. This requirement helps reduce the risk of fraud or unrecognized payments. While Affirm covers losses incurred from customer fraud, Stripe might contact you on behalf of Affirm and request to stop or pause shipment before any losses are incurred. Comply promptly with these requests.
Stripe product support
| Products |
|
| APIs |
|
Affirm branding
Use the Payment Method Messaging Element on your site to let customers know that you offer Affirm ahead of checkout. You must comply with Affirm’s marketing compliance guides and use the Affirm guide that relates to the Affirm payment options you offer your customers.
Customer experience
- Select payment method
The customer selects Affirm at checkout.
- Redirect to Affirm
On desktop, the customer is redirected to Affirm site, where they create or log in to their account. On mobile, the customer is redirected to the Affirm app if they have it installed, or the Affirm site.
- Select a plan and authorize
The customer selects a payment plan and accepts the terms of the repayment plan within 12 hours.
- Payment Complete
The customer is returned to your site after the payment is authorized. Affirm collects repayment directly from the customer over time.
Customer emails
After a customer uses Affirm to make a purchase, Affirm emails the customer with updates. These updates include information about the following events:
- Affirm confirms or denies a loan. Affirm sends these updates when the PaymentIntent succeeds or when Affirm denies the loan.
- A refund completes.
- A payment is canceled, which results in Affirm canceling the loan.
- The customer completes a payment as part of the payment plan.
Affirm only sends email updates about Affirm’s loan issuance to your customer. Continue to separately send emails related to the purchase such as order confirmation and shipping updates.
Transaction identifiers
After a customer completes an Affirm payment, the transactions that appear on the customer’s bank statement shows Affirm along with a merchant identifier that Affirm derives from your registered business information or the statement descriptor suffix you configured.
Set a custom statement descriptor on the PaymentIntent before confirming the payment. If you don’t set one, the descriptor defaults to the account level statement descriptor. For connect scenarios, learn more about how statement descriptors are set with Connect.
After the payment completes, expand latest_ on the PaymentIntent to retrieve the Affirm transaction ID from latest_. Share it with customers to help them locate the payment in their Affirm account or when contacting Affirm support.
Enable Affirm
If you use our front-end products, you can enable Affirm directly from your payment method settings. Stripe then automatically determines the most relevant payment methods to display to your customers.
If your integration requires manually listing payment methods, learn how to manually configure Affirm as a payment.