Skip to main content

Merchant Help

 

Affirm Merchant Help

User Acceptance Testing Guidelines

Before deploying your Affirm integration, you should test it to ensure that both the user experience and your order management system perform as expected. Complete your front-end and order management testing while connected to our sandbox. Do not use your own personal account to do test transactions in the Affirm live environment as Affirm furnishes loan and repayment information to credit bureaus. Capturing arbitrary test loans could impact your actual credit score. Contact your Client Success Manager who is coordinating your launch, or use this page to contact us to conduct tests in the live environment.

Click here for a sample test plan.

Front-end testing (sandbox)

Initiate and complete the Affirm payment flow. Click here for the different Affirm checkout flows.

  1. Add an item to the cart on your test site
  2. Proceed to checkout
  3. During checkout, enter valid U.S. addresses and mobile-phone information (Affirm cannot test your configuration if the address or phone information is fake)
  4. Select Affirm as the payment option.
  5. If you have an existing account, click Sign In
  6. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Confirm that you are redirected to user_confirmation_url
  4. Confirm that the response includes the checkout token
  5. Confirm that the checkout process called the Authorize API endpoint and received a response
  6. Confirm that the charge status is authorized in the merchant dashboard

Initiate and abandon the Affirm payment flow.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Click Return to [merchant name]
  2. Confirm that you are redirected to user_cancel_url
  3. Confirm that you are able to select another payment method

Order management testing (sandbox)

Capture an authorized charge.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Capture the charge using the process you intend to use when fulfilling orders
  4. Confirm that you receive a 200 response from the Affirm API
  5. Confirm that the charge status is captured in the merchant dashboard

Void an authorized charge.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Void, reverse, or cancel the charge using the process your operations team will use
  4. Confirm that you receive a 200 response from the Affirm API
  5. Confirm that the charge status is void in the merchant dashboard

Refund an captured charge.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Capture the charge using the process you intend to use when fulfilling orders
  4. Refund or cancel the charge using the process your operations team will use
  5. Confirm that you receive a 200 response from the Affirm API
  6. Confirm that the charge status is refunded in the merchant dashboard

Partially refund a captured charge.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Capture the charge using the process you intend to use when fulfilling orders
  4. Refund the charge for an amount less than the total using the process your operations team will use
  5. Confirm that you receive a 200 response from the Affirm API
  6. Confirm that the charge status is refunded in the merchant dashboard

Error case testing

The customer sees an error when they enter invalid information before starting the Affirm checkout process.

  1. On your site, enter an invalid address (e.g., an invalid zip code) during checkout
  2. Initiate the Affirm checkout process
  3. Confirm that you see a modal explaining which field contains invalid information
  4. Click Return to Merchant
  5. Confirm that you return to the correct page to edit the field

Ensure that a checkout token is invalidated when a customer starts a new checkout before completing the previous one.

  1. Initiate checkout to access the account creation screen
  2. If you have an existing account, click Sign In
  3. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow but do not CONFIRM LOAN
  3. Open a new window and begin a new checkout
  4. If you have an existing account, click Sign In
  5. If you don’t have an existing account, create one with the following:
  • Any first and last name
  • An email address with a valid format
  • A valid US cell phone number (you do not need access to this number) that you will use in all subsequent checkout attempts
  • A birth date older than 18 years old
  • Any four digits
  1. Enter 1234 for the verification code and click VERIFY CODE
  2. Complete checkout flow and click CONFIRM LOAN
  3. Return to first window
  4. Click CONFIRM LOAN
  5. Confirm that the checkout token from the first session is invalidated
  6. Confirm that the second checkout was completed

Confirm that you get an error when doing the following while using the Charge API:

  • Pass an invalid or missing checkout token when authorizing a charge
  • Pass an invalid charge ID when capturing a charge
  • Void a charge before capturing it
  • Capture a charge twice

Admin and account testing (production)

  1. Confirm that all necessary admins and operational personnel have access to the live merchant dashboard.
  2. Confirm the locations of all Affirm environment references that you'll need to switch from the sandbox to our live environment.
  1. Confirm that your scheduled settlement reports will go to all intended recipients.