1. Documentation
  2. Plugins
  3. WooCommerce
  4. Extensions

Affirm Payment Gateway

The Affirm payment method lets your store accept monthly payments for purchases.

  • Set a minimum/maximum spend to use Affirm as an option
  • Select whether to promote Affirm as a payment method

Requirements ↑ Back to top


  1. Purchase the product from WooCommerce.com
  2. Download the ZIP file from your WooCommerce.com dashboard
  3. Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
  4. Click Install Now and then Activate.
  5. Read on to learn how to setup and the product.

Setup and Configuration ↑ Back to top

  1. Head to: WooCommerce > Settings > Payments.
  2. Select Affirm.
  3. Enable/Disable – Enable to use. Disable to turn off.
  4. Enter a Title and Description shown to customers during checkout (optional).
  5. Select Expand to show Affirm Account Settings
  6. Enable Affirm Sandbox if developing or testing before going live. Remember to disable when done.
  7. Affirm account must be approved for LIVE mode to work.
  8. Enter the Public API Key and Private API Key from your Affirm account.
    • Affirm account must be approved for LIVE mode to work.
  9. Select Transaction Mode
    • Authorize obtains payment authorization only
    • Authorize and Capture obtains authorization and captures funds.
  10. Select Checkout Mode
    • Modal triggers a pop-up during checkout
    • Redirect takes the customer offsite to check out
    • Enable/Disable Inline checkout value props on the checkout page when Affirm is selected as a payment method
  11. Select Cancel Affirm Page
    • Cart Page – takes customer to cart
    • Payment Page – takes customer back to payment
    • Custom URL – Takes customer back to a specific location
  12. Enter Custom URL in Permalink/Custom Cancel URL when Custom URL is set as Cancel Affirm Page
  13. Select Expand to show Affirm Promotional Messaging Settings
  14. Enter your Affirm Promo ID (optional) to display Affirm with different styling, messaging, or loan terms. Contact Affirm for a Promo ID.
  15. Select an Affirm Color Blue, Black or White for the logo.
  16. Show Learn More to display a link in Affirm monthly payment messaging (optional).
  17. Promo Messaging – untick all boxes (recommended if you offer other preferred payment methods); tick boxes if you wish to promote Affirm as a payment plan method
    • Category
    • Product
    • Cart (see example in Customer Usage)
  18. Select Expand to show Affirm Advance Settings
  19. Set Order Minimum (optional) – numerical value.
  20. Set Order Maximum (optional) – numerical value.
  21. Enable Display Affirm fee to show Affirm Merchant fees
  22. Enable Debug if troubleshooting. Otherwise, leave disabled.
  23. Leave box unticked for Enable Enhanced Analytics.
  24. Save changes.

Sandbox Test Values ↑ Back to top

  • When checking out with Affirm Sandbox, use your real name. Trying things like “Mister Panda” will not work. As Affirm’s name filter takes out prefixes like Mister and will throw an error when you try to pass things like “Mister Panda” as the name. Try a regular name and it should work fine.
  • Use a real cell phone number
  • Use a real birthday
  • Use 1234 for the last 4 of the SSN
  • Use 1234 for the pin

Customer Usage ↑ Back to top

What customers see on the front end when checking out.

Customers (U.S. only) can see promo messaging in cart, if you ticked the box for Cart page.

Customers (U.S. only) can select Affirm as a payment method on your store’s checkout page.

They are presented with the Affirm flow to complete payment and will see a screen with payment plans of different duration.

Order Reviews ↑ Back to top

Under WooCommerce > Orders, every order paid with Affirm contains a transaction number with link to the Affirm merchant portal at the top. You can also prompt Affirm to issue refunds from the order view.


Troubleshooting ↑ Back to top

Customer receives an error when attempting to pay via Affirm.

Ensure that you have input the correct keys; and you have entered live (not test) keys when in live mode.

Frequently Asked Questions ↑ Back to top

Affirm is not showing. ↑ Back to top

Confirm that:

  • Your site’s currency is set to USD. Go to: WooCommerce > Settings > General > Currency.
  • Customers have a U.S.-based billing address to use Affirm.
  • SSL is enabled.
  • Your site is in Live (not Test) mode.

Nothing happens when customer attempts to pay with Affirm. ↑ Back to top

This error may be caused by non-standard/poorly coded themes and JavaScript (JS) issues. Common issues include:

  • JavaScript errors on checkout page – To view the error, open your browser error console (in Chrome: View > developer > JavaScript console) and look for red errors. This should indicate where the error is located and lead you to the problem, e.g., Loading jQuery incorrectly
  • Failing to load scripts – Affirm loads JavaScript which it needs to function. If these are not loaded, you will see errors. Most common reasons are:
    • Theme is missing wp_head() or wp_footer() calls.
    • Old overridden template files from WooCommerce inside your theme.
    • Loading headers/footers in a non-standard way. WooCommerce uses get_header()’s get_header action to init the checkout and load scripts. If you are not using get_header() you either need to do so, or you need to trigger the get_header action manually using: do_action( ‘get_header ); in your custom header loader.

Is it possible to override templates on the Affirm pages? ↑ Back to top

No. These fixed/static pages from Affirm.

Why should the Enhanced Analytics box be unticked? ↑ Back to top

At this time the feature is inactive on stores. The information can only be accessed by an Affirm representative.

Questions and Feedback ↑ Back to top

Have a question before you buy? Please fill out this pre-sales form.

Already purchased and need some assistance? Get in touch with a Happiness Engineer via the Help Desk.

WooCommerce - the most customizable eCommerce platform for building your online business.

  • 30 day money back guarantee
  • Support teams across the world
  • Safe & Secure online payment