Snap Logo

Loan (Quill Bank) Integration Guide for Third-Party Partners

Developer Portal documentation for Snap Loan integration requirements.

This guide provides implementation requirements for partners integrating Snap Loan financing into their customer experience.

Overview

This guide provides implementation requirements for partners integrating Snap Loan financing into their customer experience.

The guide is organized around the customer application journey and focuses on:

  • Customer experience requirements
  • Required APIs
  • Required disclosures
  • Decision handling
  • Additional verification scenarios
  • Post-approval processing

The objective is to provide a streamlined implementation guide that enables partners to quickly build a compliant and consistent loan application experience.

End-to-End Flow for Full Approval

The standard Snap Loan application journey consists of the following stages:

  • Mobile Number Entry
  • OTP Verification
  • Identity Verification
  • Loan Awareness
  • Personal Information
  • Income Information
  • Banking Information
  • Terms & Conditions
  • Submit Application
  • Decision Outcome
  • Pending Verification (if required)
  • Send Agreement
  • Agreement Completion

End-to-End Flow for Prequalified Approval

The standard Snap Loan application journey for a prequalified approval follows the same customer stages and can progressively add application data before final approval.

Implementation note: Steps #5, #6, #7, and #8 can be sent in the same Create Application request, and the endpoint can return an Approved application when the required information has been verified.
																									{

  "additionalInformation": {

    "customerInformation": "Verified",

    "cartInformation": "Verified",

    "bankInformation": "Verified",

    "incomeInformation": "Verified"

  }

}

																								

Alternatively, data may be sent in sections. For example, include customerInformation and income in the Create Application request, then PATCH the remaining cartInformation, bankInformation, or incomeInformation. When the application turns to approval, the fields become Verified.

																									{

  "additionalInformation": {

    "customerInformation": "Verified",

    "cartInformation": "Pending",

    "bankInformation": "Pending",

    "incomeInformation": "Verified"

  }

}

																								
																									{

  "additionalInformation": {

    "customerInformation": "Verified",

    "cartInformation": "Verified",

    "bankInformation": "Verified",

    "incomeInformation": "Verified"

  }

}

																								

Required APIs

API Required
Get Token Yes
Create Application Yes
Update Application Yes
Send OTP Yes
Check OTP Yes
Send Agreement Yes
Get Payment Plan Conditional
Get Agreement Conditional
Sign Agreement Conditional
Capture Application Conditional
Cancel Application Optional
Refund Application Optional

For detailed request and response specifications, refer to the Platform API Documentation.

Implementation Notes: Partners using Send Agreement are not required to implement Get Agreement, Get Payment Plan, or Sign Agreement APIs.

Get Agreement Details VS Send Agreement

Choose the endpoint that best fits your integration experience.

Send Agreement

Send Agreement displays Snap managed agreement content that is automatically kept up to date. Partners do not need to maintain legal language, compliance updates, state-specific disclosures (such as Oklahoma or Pennsylvania requirements), or other agreement changes.

This option minimizes maintenance but follows an asynchronous signing flow. After approval, the customer is redirected to Snap to review and sign the agreement. Since signing may occur later, your integration should check the application status to determine when the agreement has been completed. You can track application status using either the Get Application Status endpoint or Snap Webhooks.

Get Agreement

Get Agreement is designed for partners who render the agreement within their own application. This provides a seamless customer experience by allowing customers to review and sign the agreement immediately after approval without leaving the partner experience.

Because the agreement is rendered by the partner, the integrator is responsible for keeping all agreement content, legal language, and required disclosures up to date as regulatory and compliance requirements change.

Recommendation: Use Send Agreement unless your integration requires an embedded signing experience. It reduces maintenance by allowing Snap to manage all agreement content, while Get Agreement offers a more seamless user experience at the cost of content maintenance.

Send Verification

Mobile Number Entry

Purpose

Collect the customer's mobile phone number and initiate verification.

Required API

  • Send OTP

Requirements

  • Mobile phone number is required.
  • Customer must receive a verification code before proceeding.
  • Invalid phone numbers must be rejected.

Validation

  • Must be a valid mobile number.
  • Must support SMS delivery.

Check OTP

Purpose

Confirm ownership of the mobile device.

Required API

  • Check OTP

Requirements

  • Customer enters verification code received via SMS.
  • Verification must succeed before application progression.

Validation

  • Allow resend code.
  • Prevent progression until verification succeeds.
  • Only 3 failed attempts are allowed.
  • 3 minutes expiration time.

Identity Verification

Purpose

Collect information necessary to validate customer identity.

Required Fields

  • Date of Birth
  • SSN or ITIN

Requirements

  • Information must be collected before application submission.
  • Identity data must be transmitted securely.

Loan Awareness

Purpose

Inform customers about the loan product before proceeding with the application.

Required Content

What is an Installment Loan?

Offered by Quill Bank, an installment loan is a type of loan in which the principal and accrued interest are repaid through a set number of scheduled payments.

Standard Loan Fees and Payments

  • Our standard loan terms range from 12-24 months and depend upon your state of residence and the merchant at which you shop. Your total payment amount is usually more than twice the original principal amount.
  • Your approval amount is determined by information provided in your application and also obtained from service providers and third parties.
  • Set up your recurring payments using your checking account or debit card, or pay manually online, by mail, or phone.
  • Depending on the state you live in, you may be required to pay a one-time processing fee.

You Have Options with Snap

  • Save significantly on finance charges when you make all regular payments on time and pay the required amount in the first 100 days. After 100 days, you'll still save on finance charges if you pay off early.

California Residents

  • A married applicant may apply for a separate account.

Ohio Residents

The Ohio laws against discrimination require that all creditors make credit equally available to all creditworthy customers, and that credit reporting agencies maintain separate credit histories on each individual upon request. The Ohio Civil Rights Commission administers compliance with this law.

USA Patriot Act Disclosure

We are required by law to request identifying information including name, address, date of birth, and Social Security Number.

Bank Partner Disclosure

Loans made by Quill Bank

Depending on the state, additional disclosures for California, Ohio, and the USA Patriot Act should be displayed as applicable. The source guide notes that displaying the content across all states would not create a compliance issue.

Personal Information

Purpose

Collect customer demographic information.

Required Fields

  • First Name
  • Last Name
  • Street Address
  • Email Address

Validation

  • Address cannot be a P.O. Box.
  • Email address must be valid.

Optional Fields

  • Communications Opt-In

Income Information

Purpose

Collect customer income information used during application evaluation.

Required Fields

  • Average Paycheck Amount
  • Pay Frequency

Validation

Income should represent gross income before taxes and deductions.

Required Disclosure

Please provide your monthly income before taxes and deductions. This is often referred to as gross income.

Alimony, child support, or separate maintenance income need not be revealed if you do not wish to have it considered as a basis for repaying this obligation. If you include non-taxable income/benefits, increase them by 20%.

Notes

If non-taxable income is included, customers may increase the amount according to applicable requirements.

Banking Information

Purpose

Collect active checking account information.

Supported Methods

Manual Entry

Required Fields:

  • Routing Number
  • Account Number

Bank Verification Providers

Supported Providers:

  • Plaid

Validation

  • Account must be active.
  • Routing Number must be active and valid.
  • Account must be capable of receiving ACH transactions.
  • Account Number must be at least 4 - 16 digits.

For detailed request and response specifications, refer to the Platform API Documentation.

Terms & Conditions

Purpose

Obtain customer consent and authorization.

Required Customer Acceptance

The customer must agree to:

  • Privacy Notice of Snap Finance LLC
  • Privacy Notice of Quill Bank
  • Application Terms and Conditions
  • Communications Consent
  • Consent to Electronic Transactions
  • Jury Trial Waiver and Arbitration Clause
  • Credit Report Authorization

Required Links

Bank Partner Disclosure

Loans made by Quill Bank.

Requirement

Customer acceptance is mandatory before application submission.

Communications Opt-In

Purpose

Allow customers to opt in to receive marketing communications from Snap Finance.

Requirements

  • Be optional.
  • Not be preselected.
  • Be independent from Terms & Conditions acceptance.
  • Phone number under Required Content must be automatically added.

Required Content

I would like to receive text messages containing offers and updates about Snap's financial products at the telephone number provided (XXX-XXX-XXXX). Message frequency will vary.

Message and data rates may apply. Reply HELP for help or STOP to cancel. I understand that Snap may use an automated system to send text messages and make marketing calls to the telephone number provided and that I am not required to agree to these terms in order to obtain any services from Snap. Snap SMS Terms of Service

The displayed phone number is dynamically populated based on the phone number provided by the consumer.

Submit Application

Purpose

Submit the completed application for evaluation.

Submitting a full application for final approval will result in a hard credit inquiry, which may impact the customer's credit report. If the customer is only completing a prequalification, Snap will perform a soft credit inquiry, which does not impact the customer's credit score.

Required API

  • Create Application

Possible Outcomes

  • Prequalified
  • Approved
  • Denied
  • Pending

Decision Outcomes

The application may return one of the following outcomes:

  • Prequalified
  • Approved
  • Denied
  • Pending

Prequalified

Required UI Content

  • Prequalified Amount
  • Application ID
  • Approval Expiration Date

Required Messaging

Not all prequalified applicants are approved. Approval amount may vary based on additional information you provide.

Required Fields

customerInformation fields are the basic parameters required to create a prequalified application for Loan.

Once the partner adds the remaining bankInformation and cartInformation details, the application moves to approved status.

Approved

Required Content

  • Approval Amount
  • Application ID
  • Approval Expiration Date

Required Messaging

You're approved for up to $X,XXX in Loans made by Quill Bank.

Snap may cancel your approval if it suspects fraud or if you subsequently complete a transaction based upon a different Snap approval.

Customer Next Steps

Customers may proceed with the approved financing amount.

Denied

Required Content

Sorry, your application for a Snap Finance product was not approved.

We will email you additional information. We hope you'll apply with us again.

Required Elements

  • Denial Message
  • Application ID

Pending Scenarios

Purpose

Additional verification is required before a final application decision can be rendered.

Requirements

Each pending scenario requires different actions. Communications will be sent to the customer via email or SMS if step-ups or identity verification are needed. From a tech or logic partner perspective, the API response must display the message parameter for each scenario, as shown in the example for applicationStatus = Pending.

Recommendation: Track the application status using either the Get Application Status endpoint or Snap Webhooks. For automated updates, Snap Webhooks are the recommended approach.

Snap Webhooks

For applications that remain in Pending, the recommended automation pattern is to subscribe to Snap’s application status change event and use that notification as the trigger to update your internal record when the status changes.

Implementation should follow the webhook setup flow in the Developer Portal: register the webhook from the API Keys page or send the listener URL and Merchant ID to DevSupport. The endpoint must be publicly accessible, use HTTPS, and accept HTTP POST requests with JSON payloads.

For the pending flow, the webhook payload includes fields such as applicationId, applicationStatus, applicationSubStatus, applicationCreateTime, and applicationUpdateTime. When a status change arrives, your integration can use that event to move the application out of pending and continue the next step in your workflow without polling.

																																								{

  "applicationId": "260630000028UT",

  "applicationStatus": "PENDING",

  "applicationSubStatus": "CREDIT_FREEZE",

  "message": "Thank you for starting your application for a Snap-branded offering. It looks like you have a credit freeze in place. Please follow the emailed instructions we sent to remove your credit freeze and reapply with Snap."

}

																																							

Loan Summary

Purpose

Display loan terms before agreement review and signature.

Required Content

  • Amount Financed
  • APR
  • Finance Charge
  • Total Payments
  • Payment Schedule
  • Number of Payments
  • First Payment Due Date

Send Agreement Flow

Purpose

After approval, customers must receive and review their agreement before completing the application.

Required API

  • Send Agreement

Expected Flow

  1. Partner sends agreement request.
  2. Customer receives email.
  3. Customer reviews agreement.
  4. Customer signs agreement.
  5. Application proceeds to completion.

Agreement Completion

Purpose

Provide confirmation that the application has been completed successfully.

Once the agreement is successfully signed, the application is considered complete.

Expected Content

  • Application Complete
  • Agreement Signed
  • Confirmation Message
  • Next Steps

Credit Alerts and Step Ups

Overview

Applications impacted by credit alerts should not use hardcoded messaging. Instead, partners should display the message returned by the API response.

Credit Alert Scenarios

  • Credit Freeze
  • Initial Alert
  • Active Duty Alert
  • Extended Alert (Phone Match)
  • Extended Alert (No Phone Match)
  • Extended Alert (No Phone)

Step Ups Scenarios

  • IDology
  • Plaid Bank

Additional Developer Notes

OTP

OTP verification is mandatory before application submission.

Credit Alerts

Credit alerts may result in Pending application status.

Banking Verification

Additional verification may be required depending on risk signals and application characteristics.

Communications Opt-In

Communications Opt-In must remain optional and separate from Terms & Conditions acceptance.

Loan Awareness

Loan Awareness must be displayed before application submission.

API Documentation

Refer to the Platform API Documentation for:

  • Authentication
  • Request payloads
  • Response schemas
  • Error handling
  • Status transitions
  • Testing data