Nexus Widget Workflows
Get to know Nexus, our drop-in JavaScript widget.
Check out our Integration Guides
While these pages document how to include, initialize, and use Nexus, we highly recommend checking out our Integration Guides to familiarize yourself with the Payitoff domain, and how you can use Nexus in 10 minutes, or use Nexus with our API to build custom experiences where it matters most to you, and leave the heavy lifting to us.
How to use Nexus
There are a number of ways you can use Nexus in your own products.
Link To Enroll — Link Debts, receive Guidance, and Enroll in an Income-Driven Repayment
Nexus.linkToEnroll
is the function to call if you want us to handle it all.
Student Loan Enroll — Jump right in to Enrollment when you already know the Consumer, their Debts, and desired Repayment Plan
Nexus.StudenLoanEnroll
is the workflow to use when you already know the Consumer, their Debts, and desired Repayment Plan in Payitoff. The Nexus.studentLoanEnroll workflow jumps right to enrolling them in their selected plan.
Link Debts — Give Consumers an overview of all their Debts
Nexus.linkDebts
is the function to call if all you want to do is enable borrowers to link their Debts
.
Guidance — Help consumers get out of debt faster
Nexus.guidance
is the workflow to use to get an overview of all a Consumer
's debts, drill into the details, and help them pay off credit-card debt faster with a consolidation loan.
Student Loan Link — Find a Consumer's federal and private student loans with only a phone number, DOB, and zipcode
Nexus.studentLoanLink
is the the workflow to use when your end goal is to identify your Consumer
's student loan Debts
.
If you already know what plan your borrower has chosen
In situations where you're providing your own Assessment UX on top of our API, or you remembered what plan a user chose when previously, you can call Nexus.studentLoanEnroll
and provide the plan
parameter. This will save the user some steps they've already completed.
Regardless of whether the borrower completes or exits the workflow you've called, Nexus will dismiss itself automatically and trigger your onSuccess
or onExit
callback function(s), depending on whether the workflow is completed or exited prematurely.
Which Nexus workflow should I call?
When thinking about which Nexus workflow to call, think about when you want the
Consumer
to exit the Nexus widget.Only want them to link their
Debt
accounts and then be brought back to your app? UseNexus.linkDebts
.Do you want them to view Repayment Options and choose a Repayment Plan, and Enroll, then be brought back to your app? Use
Nexus.linkToEnroll
.Do you want them to submit an Enrollment Request when you already have
Debts
and a desiredRepayment Plan
? UseNexus.studentLoanEnroll
.
Get Started
Include Nexus script
tag
script
tagIn local development, staging, and testing environments, you'll want to include the sandbox version of Nexus:
<script src="https://payitoff-cdn.io/sandbox/nexus/js/v1"></script>
Payitoff's Sandbox is your development playground—it will never connect to live Servicer websites, it won't submit real Enrollment Requests, it always returns dummy data where necessary, and you'll use a Sandbox Nexus Key that only works in our Sandbox environment. To use curated dummy data, check out our guide to using data snapshots.
Going to production?
When you're ready to go to production with your Nexus-powered integration, you'll need a production Nexus Key and you'll want to update your script
tag's src
property to use the production URL:
<script src="https://payitoff-cdn.io/nexus/js/v1"></script>
Don't have your Nexus Key?
Please contact [email protected] and we'll get that sorted.
Initialize Nexus
With your Nexus Key, and the Nexus script tag in your page, you can now initialize Nexus in your app. Nexus works on behalf of your Consumers
to enable linking Debts , providing Guidance, creating Enrollment Requests, and more in the future.
Initializing Nexus is a simple JavaScript call away. Simply provide an options
object with the following two properties:
nexus_key
—your company's individual Nexus Keyconsumer
—the unique identifier of aConsumer
you're invoking Nexus for
The instantiated Nexus object can only operate on a single
Consumer
at a time.
Initialize Nexus with Payitoff UUID
If you already have a Payitoff UUID
for your Consumer
—for example, because you create Consumer
records with our API and store the UUID
values—you can supply it along with your Nexus key to initialize Nexus to walk your Consumer
through Nexus workflows.
Nexus({
nexus_key: 'GIVINGHERALLSHESGOT',
consumer: '72edfd83-eca2-4383-a015-ff7a230504c2'
})
On load, Nexus will try to find a Consumer
using the consumer
identifier you supply—if it looks like a UUID
from our API. So, if you supply a Payitoff UUID
as your consumer
value, we'll find the associated Consumer
and verify it belongs to your account, then Nexus will be ready to use.
NOTE: If you supply a UUID
that can't be found, we'll treat it as if you'd supplied an external unique identifier (see next section).
Initialize Nexus with your own unique consumer identifiers (and create new consumers!)
In response to requests from our partners, we've recognized that it can be somewhat awkward to create a Consumer
via our API before invoking Nexus. To solve this use-case, we've improved Nexus to allow you to provide your own unique identifiers in the consumer
property when initializing Nexus.
Nexus({
nexus_key: 'GIVINGHERALLSHESGOT',
consumer: 'jamestkirk1966'
})
Using Nexus, but not using our API?
If you do not currently use the Payitoff API, but want to integrate Nexus into your product(s), this is the Nexus initialization option you want to be using.
NOTE: We still encourage you to save the
consumer.uuid
value that is returned in all Nexus callback responses, as PayitoffUUID
values are the only supported way to interact with our API.
If the Consumer
identifier you supply doesn't look like a valid UUID
from our system, or no Consumer
is found, we'll look up a Consumer
using the Consumer
value as an external identifier. We manage this internally, but any value you supply that doesn't match our own UUID
s will result in either fetching or creating a Consumer
with your Consumer
value as their external ID.
To recap, you can provide your own unique Consumer
value from your system, and we will create, save, and lookup your Consumer
using that value in Nexus.
- If you are showing Nexus to users who have never used Nexus before, we will create
Consumer
records for you, tied to your partner account. We will return the Payitoffconsumer.uuid
in Nexus callback responses so you can save ourUUID
values to your user records for later use. - All subsequent interactions and initialization of Nexus will always find that same
Consumer
record with the external ID you supplied as yourConsumer
value. - Whether the
Consumer
value is a PayitoffUUID
or your own value, it must be unique. If you provide the sameConsumer
value when initializing Nexus for multiple users in your system, aConsumer
record will only be created once—and every subsequent interaction from multiple users in your app will update the sameConsumer
record. Don't do that.
Updated 6 months ago