Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
Multiparty payments
After the payment
Add payment methods
    Overview
    Payment method integration options
    Bank debits
    Bank redirects
    Bank transfers
    Buy now, pay later
      Affirm
        Accept a payment
        Site messaging
      Afterpay / Clearpay
      Klarna
    Credit transfers (Sources)
    Real-time payments
    Vouchers
    Wallets
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
HomePaymentsBuy now, pay later

Affirm payments

Learn about Affirm, a popular payment method for US customers to buy now and pay later.

Affirm gives your customers in the US a way to split purchases over a series of payments. Depending on the purchase, they can pay with four interest-free payments (Pay in 4) or pay over a longer term (Installments), which might include interest.

To pay with Affirm, customers are redirected to the Affirm site, where they authorize the payment by agreeing to the terms of a payment plan before returning to your website to complete the order. Affirm determines customer underwriting, credit decisioning, customer APRs, loan amounts and cart amounts for customers using Affirm. After payment terms acceptance, funds transfer to your Stripe account up front and Affirm collects the purchase amount from your customer, who repays Affirm directly over time.

  • Customer locations

    United States

  • Presentment currency

    USD

  • Payment confirmation

    Customer-initiated

  • Payment method family

    Buy Now, Pay Later

  • Recurring payments

    No

  • Payout timing

    Standard

  • Connect support

    Yes

  • Refunds / Partial refunds

    Yes / yes

  • Dispute support

    Yes, by email from Stripe

Payment flow

This demo shows the customer experience when using Affirm.

Get started

We recommend you use Checkout or the Payment Element so you can automatically add Affirm and other payment methods from the Stripe Dashboard, without changing your code. Stripe then determines the list of supported payment methods to show each customer by evaluating the currency, payment method restrictions, and other parameters.

Payment Links also supports adding Affirm from the Dashboard.

If you prefer to manually list payment methods, learn how to manually configure Affirm as a payment.

See Site messaging to let customers know that you offer Affirm by including the AffirmMessage Element on your product, cart, and payment pages, which helps drive conversion.

Payment options

Affirm payments have a minimum of 50 USD and maximum of 30,000 USD. Depending on the cart order size, Affirm might present buyers with Pay in 4, Installments, or a mix of both.

  • Pay in 4 allows customers to pay for purchases in four or fewer interest-free, bi-weekly payments over an 8 week term.
  • Installments allows customers to pay for purchases over a longer term of up to 36 months. Installment terms might include interest.

Instead of you choosing a specific payment plan for your customers, Affirm algorithmically presents them the options that are most likely to result in the highest conversion.

Affirm chooses from the following available options for Stripe businesses, but doesn’t guarantee that it will always offer your customers a specific payment plan.

Cart order rangePay in 4Installments
$50-$99.99YesNo
$100-$249.99YesInterest-bearing 6 or 12 month loans
$250-$699.99No
  • 0% interest 3 month loans
  • Interest-bearing 6 or 12 month loans
$700-$1,699.99No
  • 0% interest 6 month loans
  • Interest-bearing 12 or 18 month loans
$1,700-$30,000No
  • 0% interest 6 month loans
  • Interest-bearing 12 or 36 month loans

Prohibited and restricted business categories

For more information about Affirm eligibility for your account, navigate to your Dashboard payment method settings.

In addition to the categories of businesses restricted from using Stripe overall, the following categories are prohibited from using Affirm.

  • Boat dealers
  • Business to business services
  • Employment agencies, including temporary help services
  • Higher education services
  • Home improvement services, including contractors and special trade contractors
  • Live animals
  • NFTs
  • Healthcare services

    You must be approved by Affirm to offer Affirm for Healthcare Services.

  • Professional services, including legal, consulting, and accounting
  • Snowmobile dealers
  • Stenographic and secretarial support services
  • Titled goods and auto loans

Adding Affirm branding to your website

Use the Affirm 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 toolkit that relates to the Affirm payment options you offer your customers.

Refunds

Returns are subject to the return policy that you display on your website. If your business allows returns, you can refund Affirm transactions as you normally would for card payments. Affirm supports partial or full refunds for up to 120 days after the original purchase, and processes them asynchronously. After Stripe initiates a refund, Affirm pauses the customer’s payment plan and refunds the customer for any payments they’ve already made, minus any interest paid. Stripe doesn’t credit back the processing fees in the event of a refund.

Disputes and fraud

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.

Customers can dispute Affirm payments in certain cases—for example, if they receive faulty goods or don’t receive them at all. Customers have up to 60 calendar days from the date of purchase to file a dispute. The dispute process works like this:

After the customer initiates a dispute, Stripe notifies you using:

  • Email notification
  • Stripe Dashboard
  • An API charge.dispute.created event (if your integration is set up to receive webhooks)

Stripe holds back the disputed amount from your balance until Affirm resolves the dispute, which can take a maximum of 30 calendar days from dispute creation.

Stripe requests that you upload compelling evidence that you fulfilled the purchase order using the Stripe Dashboard. This evidence can include:

  • Received return confirmation (for shipped goods returned from the customer to you)
  • 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

If you would rather handle disputes programmatically, you can respond to disputes using the API.

This information helps Affirm determine if a dispute is valid or if they should reject it. Make sure the evidence you provide contains as much detail as possible from what the customer provided at checkout. You must submit the requested information within 12 calendar days. Affirm makes a decision within 15 calendar days of evidence submission. If Affirm resolves the dispute with you winning, Stripe returns the disputed amount to your Stripe balance. If Affirm rules in favor of the customer, the balance charge becomes permanent.

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. Affirms sends these updates when the payment_intent succeeds or when Affirm denies the loan.
  • A refund completes.
  • A payment is cancelled, which results in Affirm cancellling 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. You should continue to separately send emails related to the purchase such as order confirmation and shipping updates.

Connect

You can use Stripe Connect with Affirm to process payments on behalf of a connected account. Connect users can use Affirm with the following account and charge types:

Account typesCharge types
  • Standard
  • Custom
  • Express
  • Direct
  • Destination
  • Separate Charges and Transfers

Request Affirm capability

Make sure you request the affirm_payments capability and it’s set to active on both your platform account and any connected accounts you want to enable.

Set correct MCC

Stripe and Affirm rely on merchant category codes (MCC) to determine eligibility of the connected accounts against the Affirm prohibited business categories. Make sure that you set correct MCCs for your Custom and Express accounts.

Merchant of record

The charge type of Connect payments might change the merchant name that appears on Affirm’s website or app during the redirect. The merchant of record determines the Stripe account authorized to create payments with a particular PaymentMethod.

Unified site messaging

The Payment Method Messaging Element allows you to use one modal to promote all your buy now, pay later methods from product, cart, and payment pages.

Interested in getting early access to the Payment Method Messaging Element?

Access to the Payment Method Messaging Element is currently limited to beta users. If you're interested in trying it out, enter your email address below.
Read our privacy policy.
Signed up successfully!
Thank you! We'll be in touch soon.
Was this page helpful?
Need help? Contact Support.
Watch our developer tutorials.
Check out our product changelog.
Questions? Contact Sales.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Payment flow
Get started
Payment options
Prohibited and restricted business categories
Adding Affirm branding to your website
Refunds
Disputes and fraud
Customer emails
Connect
Unified site messaging
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$