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.
{
"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.
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.
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
| Document | URL |
|---|---|
| Snap Privacy Notice | Snap Finance | Perfect Credit Not Required |
| Quill Bank Privacy Notice | Snap Finance | Perfect Credit Not Required |
| Terms & Conditions | Snap Finance | Perfect Credit Not Required |
| Communications Consent | Snap Finance | Perfect Credit Not Required |
| Consent to Electronic Transactions | Snap Finance | Perfect Credit Not Required |
| Arbitration Clause | Snap Finance | Perfect Credit Not Required |
| Credit Report Authorization | Snap Finance | Perfect Credit Not Required |
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.
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
- Partner sends agreement request.
- Customer receives email.
- Customer reviews agreement.
- Customer signs agreement.
- 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