Skip to main content

Merchant Help

 

Affirm Merchant Help

Troubleshooting Confirmation to Authorization

Overview

When a customer confirms their loan, the next action is a one of the following:

  • Client-side redirect via POST method
  • Client-side redirect via GET method
  • Javascript callback
  • Server-side webhook via POST method
Possible causes
  • user_confirmation_url page is taking too long to respond (timeout).
  • Webhook endpoint is taking too long to respond (timeout).
  • Javascript runtime error blocking callback
  • user_confirmation_url page runtime errors or bugs
Other factors
  • Customer voluntarily exits the flow, or closes the checkout window
  • Customer internet connectivity
  • Customer device compatibility/functionality
  • Customer browser software/extensions
  • General infrastructure issues (AWS is down, merchant's on-site servers are down, etc.)

Default (Direct API)

Flow
  1. Customer clicks 'Confirm Loan'.
  2. Request to user_confirmation_url initiated in the customer's browser (GET or POST method). Checkout_token included in request body.
  3. user_confirmation_url receives checkout_token in POST request body or GET querystring form.
  4. Merchant sends authorization request to Affirm, passing checkout_token in request body as JSON.
Debugging
  1. Log raw request header and body to file on user_confirmation_url page.

Modal Checkout

Flow
  1. Customer clicks 'Confirm Loan'.
  2. Javascript callback function triggered. Checkout_token included in callback event data.
  3. Merchant-defined 'Affirm success' function receives checkout_token.
  4. Merchant sends authorization request to Affirm, passing checkout_token in request body as JSON.
Debugging
  1. Log raw JS callback event data to console.

Virtual Card

Flow
  1. Customer clicks 'Confirm Loan'.
  2. Javascript callback function triggered. Card details included in callback event data.
  3. Merchant-defined 'Affirm success' function receives card details.
  4. Merchant sends authorization request to card gateway, passing the Affirm-generated card details.
Debugging
  1. Log raw JS callback event data to console.

Telesales

Flow
  1. Customer clicks 'Confirm Loan'.
  2. Confirmation action(s) initiated
    1. Request to user_confirmation_url initiated in the customer's browser (GET or POST method). Checkout_token included in request body.
    2. Server-side POST request sent to merchant's webhook endpoint. Checkout_token included in request body as URL-encoded form key/value pair.
  3. user_confirmation_url and webhook endpoint receive checkout_token in POST request body or GET querystring form.
  4. Merchant sends authorization request to Affirm, passing checkout_token in request body as JSON.
Debugging
  • Log raw request header and body to file at webhook endpoint