Skip to main content

Merchant Help


Affirm Merchant Help

Merchant Dashboard


The Affirm Merchant Dashboard provides you with the following features:

  • View authorized, captured, voided, and refunded charges
  • Manage Dashboard users (add / edit / remove)
  • Access API keys
  • Schedule settlement reports
  • View analytics for your Affirm transactions
  • View API event log

Accessing the Dashboard

If you would like to be added as a new user, contact your company’s dashboard Administrator directly. If you’re unsuccessful in reaching your Administrator, email for assistance.

If you are a current user experiencing access issues, email for assistance.

Logging into the Dashboard

New Users

If the email address is linked to a Google Account, click "Sign in with Google" otherwise, enter the email address that has been granted access and a password that is at least 8 characters long. Confirm your password in order to successfully create the account.


NOTE: If your email address has not had access initially granted, you will not be able to create an account or sign in. You will receive an error indicating that the email address is not recognized. You will need to either contact your Affirm contact or your company's admin to grant you access. 


Returning Users

If you are a returning user using Google for your email, you can log back into your dashboard by clicking "Sign in with Google." If you have created a username and password previously, log in using those credentials.


If you forget your password, click "Forgot password?" to go through a password recovery flow.

Dashboard User Management

Administrators can manage users and their permissions within the Merchant Dashboard. Administrators can take the following actions:

  • Add a user
  • Edit user permission level
  • Remove a user

Note: All users currently have the same level of permission except for Administrators who can take the above actions. 

Confirming Administrator Status

  1. After logging into your Merchant Dashboard, navigate to the Settings page and the Users tab
  2. Find your email address and confirm your “Permissions” level is set to “Administrator”
    1. If you are not an Administrator and would like Administrator permissions, email the designated Administrator(s) on the Settings page to request permission
    2. If there is no Administrator designated on the settings page, email to request Administrator permissions

Settings page

Users tab

Users Tab

Adding a user

Note: requires Administrator permissions

  1. From the Users tab within Settings, click on the blue “+” button
  2. An “Add User” dialog box will appear (screenshot below)
  3. Enter a valid email address for the team member you want to add
  4. Assign a permission level (Administrator or Non-Administrator) for that team member
  5. Once the user has been added, you will see a notification confirming the addition on the Users tab
  6. The new user will receive an email from Affirm notifying them that they have Merchant Dashboard access

Add User dialog box

Affirm email notification for new Administrator

Affirm email notification for new Non-Administrator

Editing user permission level

Note: requires Administrator permissions

  1. From the Users tab, click on the Edit (pencil) icon under “Actions”
  2. An “Edit Permissions” dialog box will appear
  3. Make your desired edits to the user’s permission level
  4. Click the “Save Changes” button
  5. The user's permission level has been updated
    • Note: You cannot edit a user’s email address during this step. If you need to correct a user’s email, you will need to remove them (see step below) and re-add them to the Merchant Dashboard

Edit Permissions dialog box

Removing a user

Note: requires Administrator permissions

  1. From the Users tab, click on the Remove (X) icon under “Actions”
  2. A “Remove User” dialog box will appear
  3. Click “Remove User” button
  4. The user has been removed, and can no longer access the Merchant Dashboard

Remove User dialog box

Permission levels

Administrator status:

  • Administrators are not required for a Merchant Dashboard account (i.e., there can be zero Administrators)
  • If only one Administrator exists, they cannot remove themselves from the dashboard or edit their own permission level
    • If an Administrator leaves your company, Affirm can assign a replacement Administrator. Email for assistance
  • If more than one Administrator exists, one Administrator can remove access for another Administrator

Non-administrative status:

  • All non-administrative users have the same level of access. Non-Administrators cannot add, edit, or remove other users

Other questions or issues? Email for assistance.

Processing Transactions

You can process transactions in the Merchant Dashboard, if your integration supports processing Affirm loans via your order management system, then we recommend processing your transactions through your system to easily keep orders and charges between the two services in sync.

​Merchants with the following extensions or products cannot use their order management system to process Affirm loans and must use the Dashboard:

  • Shopify
  • Virtual Terminal

Instructions for processing transactions are here: Processing Transactions in the Merchant Dashboard

Viewing Charges

The Events list details the sequence of charge events. Affirm uses a unique event ID to track events in our system. 

Shopping cart details

Cart details must match what was communicated to Affirm from your e-commerce platform.

Billing and shipping addresses

The Billing and Shipping addresses section shows what the customer provided during checkout out on your site. 

API Logs

You can view API events for your account:

  1. Hover over the left-hand navigation menu in the Dashboard
  2. Click API Logs

API events

  • 200
    • API call was successful
  • 302
    • (Shopify specific) Successfully redirected to the Affirm checkout flow
  • 40x
    • There was an error with the request:
      • Bad checkout information
      • Incorrect API keys
  • 500
    • Request was malformed
      • Incorrect syntax
      • Wrong API URL
  • /checkout/
    • Checkout initiation
  • /charges/
    • Charge authorization
  • /charges/<charge_id>
    • Read charge details
  • /charges/<charge_id>/capture
    • Charge capture
  • /charges/<charge_id>/void
    • Charge void
  • /charges/<charge_id>/refund
    • Charge refund (full refund unless amount specified in request)
  • /charges/<charge_id>/update
    • Charge shipping information or order ID updated



Settlement Reports are available in your Affirm Merchant Dashboard. This article describes how to access those reports and what they contain. You will need this settlement information to reconcile transactions with the deposits into your bank account.

Accessing Reports

  1. Log into your Affirm Merchant Dashboard. If you don't have access to the dashboard, click here to learn how to request access. 
  2. Hover over the left-side navigation bar and click on 'Settlements'.
  3. A list of settlements appears with the date initiated, sub totals, and total settled.
  4. The 'Date' for these settlements is the date the settlement was initiated from our bank.
    Note:  These settlements typically take 1-3 business days to be reflected in your bank account.





  • Daily reports are sent Tuesday - Saturday @ 2.30 AM UTC
    • The daily report will contain the data for the previous UTC day. For example, a report received on Tuesday PT contains Monday UTC charges.
    • Charges included in the reports will be between 12:00 AM to 11:59 PM UTC. 
    • Monday's report will contain Friday, Saturday, Sunday settlements (as no settlements happen on Saturday or Sunday)
  • Weekly reports are sent on Monday @ 6.30 PM PST
    • The weekly report will contain data for Monday - Sunday of the previous week
  • Monthly reports are sent on the first day of the month @ 6.30 PM PST
    • The monthly report will contain data for the whole previous month.


  • All these jobs are run using UTC standard, affecting the delivery during daylight savings time.
  • All times above indicate when the job starts running - if there is a large number of reports to be run, it could be delayed in delivery.

Report Details

  • There is one settlement report for each settlement to your bank account.
  • Each settlement is the net sum of all captures, refunds, disputes, and exceptions for the time-period listed.
  • Typically, there's one settlement every day that you capture an Affirm charge.

Standard settlement reports include the following transaction details:

Column name



Possible values


refers to when the event_type happened

Timestamp (UTC)



when the loan was originally created

Timestamp (UTC)



Internal Affirm charge ID. Charge IDs remain the same even when a refund is issued.

String (9-character alphanumeric)



16-character alphanumeric value which is unique for each charge interaction

String (16-character alphanumeric)



Optional. Populated with the value you provide in the checkout object, or a charge update API call. If you do not provide a value, it will be empty. Order IDs remain the same even when a refund is issued.

If you do not currently pass us your internal order ID, please follow these directions to do so. 

String (fewer than 128 characters)



The charge event that was processed.


  • loan_captured

  • loan_refunded

  • dispute_opened

  • dispute_resolved

  • fee_adjustment

  • adjustment



Float (USD)

  • Positive float

    • ‘loan_captured’

    • ‘dispute_resolved’  (Merchant wins the dispute)

  • Negative float

    • 'dispute_opened'

  • 0

    • ‘loan_ refunded’

    • 'dispute_resolved' (Merchant loses the dispute)



Float (USD)

  • Negative float

    • ‘loan_ refunded’

  • 0

    • ‘loan_captured‘

    • ‘dispute_opened’

    • ‘dispute_resolved’  (merchant wins the dispute)

    • ‘dispute_resolved ‘(merchant loses the dispute



Float (USD)

  • Negative float

    • ‘loan_captured ‘

    • ‘dispute_resolved’  (merchant wins the dispute)

    • ‘dispute_resolved ‘(merchant loses the dispute)

  • Positive float

    • ‘loan_ refunded’

    • ‘dispute_opened’



Float (USD)

Positive float

Entity_name Optional. Can be enabled by your Affirm contact.

Populated if an entity_name is passed in the checkout object metadata for a particular Affirm charge.
String Reflects the entity_name that is passed in the checkout object.
Financing_program Optional. Can be enabled by your Affirm contact.

Populated with the name of the financing program that was applied to the customer's loan. If a financing_program was defined in the checkout object, and the customer qualified for that program, it will be noted here. Different financing programs may carry different merchant fees, which will be reflected in the 'fee' column.
String Name of the financing program that was applied to the customer's loan.
Merchant_name Conditional. Only appears for parent merchant reports. String Name of the child merchant account that the charge originated from, as defined in the Affirm platform (not controlled by the merchant).
Deposit_id Identifier generated by Affirm for individual settlement deposited to your bank account. This ID would be shown as part of the transaction details.  String (15-character alphanumeric) Random string that is unique to each bulk deposit made.

Analyzing Reports

About dates:

  • The date of the settlement file is when we initiated the settlement to your bank account (not when the capture event was processed).
    Note: it can take 1-3 business days for the funds to hit your bank account. 
  • The 'date' column inside the file is when the charge action occurred (i.e., when the capture/refund/dispute happened).

Reconciling deposit amounts:

  • The 'deposit_id' column inside the file correlates to the actual deposits made to your bank account
  • The sum of the 'total_settled' entries for rows that match a given deposit_id will correlate to the deposit amount on your bank statement.

Reconciling at the order-level:

  • The 'order_id' in the settlement report entries is the same order ID that is sent to Affirm with the checkout, authorization, capture, or update API requests. Once the order_id is associated with a given Affirm charge, it will always be present in the settlement report. It does not need to be sent with each and every charge action for it to be associated with those charge action's entries in the settlement report.

Reconciling at the transaction-level:

  • Record the 'transaction_id' in the response for the API charge actions that you take. For example, if you send an API request to capture a charge, you'll receive back a 'transaction_id' in the API response. That transaction_id is unique to this specific charge action, and it is reflected in the settlement report.

Scheduling Reports

To add a new email report recipient:

  1. Go to the 'Settings' page
  2. Click the 'Scheduled Reports' tab on the settings page
  3. Click the '+' icon in the panel for 'Email preferences'
  4. Enter the email address you'd like to receive the settlement reports
  5. Select the report frequency (daily, weekly, monthly)

Email recipients can be removed, or edited by clicking the pencil icon next to each email address entry.

Example File

You can download a sample settlement file here: Sample_Merchant_2018-04-24_2018-04-25.csv

SFTP Delivery

If you prefer to have settlement files delivered to an SFTP directory, please contact and specify Affirm-hosted SFTP or your hosted SFTP server

If using the Affirm-hosted SFTP server


  • SSH RSA public key
  • IP address(es) that will be accessing our server

Expect in return:

  • SFTP server address, port number, username
If using your own SFTP server


  • SFTP server address
  • Port number
  • Directory path (if applicable)
  • Basic authentication credentials (if applicable)

Expect in return:

  • Affirm public IP addresses to whitelist

SFTP File Name Convention

  • Merchantname_start-date_end-date_details.csv
  • Merchantname_start-date_end-date_summary.csv

Example: Merchantname_2016-01-01_2016-04-14_details.csv (note use of underscores and hyphens to separate dates)