Jaris

Jaris is a service provider for B2B loans.

Jaris is a service provider for B2B loans. Through Preczn’s integration with Jaris, platforms can send anonymized merchant data to Jaris to assess loan eligibility.

Once a merchant qualifies, platforms can use the embeddable Preczn JavaScript component to enable merchants to apply for loans directly with Jaris.

Preczn monitors the loan process and shares real-time status updates as they are received from Jaris.


Overview

Below is a summary of the connection key facts to support your integration.

Category
Processor TypeLoan Service Provider
Preczn EnumerationJaris
DocumentationJaris Developer Docs (Please contact Jaris for access)

Supported Features

The following features are supported for this connection:

Merchant Onboarding

FeaturesSupported
Merchant Onboarding✅ Yes

Loan Origination

FeaturesSupported
B2B Loan Origination✅ Yes
B2B Loan Monitoring✅ Yes

Managing Merchant Eligibility and Sending Anonymized Data

Preczn has integrated with Jaris to share merchant data and anonymized transaction data in order to determine merchant eligibility for Jaris loans.

The Preczn/Jaris workflow is very similar to boarding a merchant. From a high-level perspective, the merchant status flow operates in the following manner:

  1. Requirements - The merchant is missing a subset of the data needed for Jaris to start reviewing if the merchant is eligible for a loan
  2. Ready - The merchant has the minimal amount of data to board to Jaris
  3. PartialBoarded- The merchant data has been sent to Jaris and additional anonymous transactions are being sent. Loan offers may be issued and available to the merchant at this point.
  4. Active - The merchant has submitted a loan application to Jaris.

Required Merchant Data

Jaris evaluates if a merchant is available for a loan offer by evaluating a subset of their merchant data (like how long they've been in business) and their ongoing transactions. This allows Jaris to build a profile of the merchant's creditworthiness and the value of a loan that can be offered.

Jaris requires a minimal amount of merchant data to start evaluating if the merchant is eligible for a loan. Note that this minimal data set is the only merchant data Preczn sends to Jaris.
A merchant must have a minimum of the following data:

Required Field to BoardNotes
*nameThis field is not sent to Jaris. However, this is included as a merchant name is required to create a merchant record in Preczn
address.region
dateEstablished
mcc

Starting Boarding

Once a merchant has the minimal required data, the merchant's Jaris status will change to Ready.
At this point, the merchant can be boarded to Jaris to start evaluating if they are eligible for a loan.

To start this process, use the Onboard Merchant to Connection endpoint, specifying Jaris as the connection.
Doing so will queue the merchant to be boarded to Jaris, setting the status to Sent.
When the merchant's data and historic transactions have been sent to Jaris, the merchants' status will change to PartialBoarded. At this point, you will want to monitor if Loan Events are sent for the merchant.

Transaction Transfer to Jaris

Once a merchant has been boarded to Jaris, Preczn will begin communicating anonymized transaction data to Jaris.
The anonymized transaction data transfer only supports sending transaction data that is present in Preczn; transactions residing outside of Preczn are not supported at this point in time.

Transaction transfer occurs in 2 different ways:

  1. Historic Volume Snapshot - For merchants that have been processing through Preczn, a 6-month historic roll-up is sent to Jaris. The goal is to increase eligibility given the merchant's historic transaction volume.
  2. Streaming - As merchants continue to run transactions through Preczn, Preczn continually anonymizes and transmits each transaction to Jaris.

How Transactions Are Anonymized

Preczn does not send transaction records to Jaris and then mask or hash them. Instead, Preczn builds a separate, minimal transaction report for each transaction that contains only the fields listed in the next section. No cardholder or customer data is ever part of a report: no cardholder name, card number, last four digits, expiration, token, billing or shipping address, email, phone, IP address, order or invoice number, description, or metadata.

The only identifiers in a report are Jaris's own shop ID for the merchant and the Preczn transaction ID. The Preczn transaction ID is an opaque, Preczn-generated identifier that Jaris cannot resolve to any underlying data; it lets Preczn update an existing report in Jaris rather than double count it.

Data Sent with Each Streamed Transaction

Each approved transaction produces one report with the following fields:

FieldValue
amountTransaction amount in major currency units (for example, dollars)
currencyTransaction currency (for example, USD)
dateTransaction date as YYYY-MM-DD (UTC). No time of day is sent.
brandCard brand bucket: VISA, MASTERCARD, AMEX, DISCOVER, DINERS, JCB, UNIONPAY, or OTHER
typePayment method category: CARD_NOT_PRESENT for card payments, ACH for bank account payments, otherwise OTHER
modeAlways E_COMMERCE
statusPOSTED for sales and captures, REFUND for refunds, CANCELLED for voids
quantityAlways 1
shopIdJaris shop ID for the merchant
externalIdPreczn transaction ID
sourceAlways Preczn

The following are not reported to Jaris: authorizations that have not yet been captured, account verifications, zero-amount transactions, and declined or errored transactions.

Data Sent in the Historic Volume Snapshot

The historic snapshot is aggregated, not per-transaction. Preczn sends one report per calendar day, card brand, and currency covering the 6 months before the merchant was boarded. Each report uses the same fields as a streamed transaction, with amount holding the summed approved sale and capture volume for that day, quantity holding the transaction count, status set to POSTED, and externalId set to a deterministic value built from the Preczn merchant ID, day, brand, and currency.

Metrics in the Jaris Portal

Preczn does not send computed metrics such as Monthly GPV. Jaris derives portal metrics from the reports above. For questions about how a specific Jaris metric is calculated, contact your Jaris support team member.

Tracking and Displaying Loans to Merchants

About Jaris Loans

Once a merchant has been PartialBoarded to Jaris, Jaris will begin to evaluate the merchant's transaction data and extend loan Pre-offers to eligible merchants.
These Preoffers and subsequent loan lifecycle events are tracked inside Preczn as B2B loan objects. We'll cover how to retrieve the loans and listen for loans in the following sections:

The Jaris loan process graduates through each of the following lifeycles:

  1. Preoffer - Merchant is eligible for a loan and may choose to fill out a formal application.
  2. Application - The application for a formal loan to be granted, pending review.
  3. Offer - The formal offer of a loan, including rates and amount. Must be signed and accepted before loan can be originated.
  4. Loan - The final state in which money is transferred to the merchant based on terms defined in the offer.

Each of the B2B Jaris loan objects in Preczn will have a corresponding status based on the lifecycle of that particular loan. Merchants are eligible to start originating a loan as soon as a loan is created with a Preoffer Created status:


StatusNotes
Preoffer CreatedA new active pre-offer has been created for the merchant
Preoffer ExpiredA new pre-offer has been issued for the merchant and the existing preoffer has expired
Preoffer AcceptedThe merchant has started a loan application from their preoffer.
Application SubmittedAn application has been fully submitted
Application Action RequiredA correction is needed on the application
Application Credit FreezeThe credit freeze has been reported on the account associated with the loan. The freeze needs to be lifted in order to proceed
Application DeclinedThe application has been rejected and loans will not be issued
Application Under ReviewJaris underwriting team is reviewing the application
Application ApprovedA final approval has occurred
Offer CreatedA final acceptance must be done by the merchant
Loan CreatedA loan exists in Jaris and is awaiting funding
Loan Pending FundingFunds for the loan are pending transfer to the merchant
Loan Funding FailedFunds transfer failed. Please on contact Jaris
Loan FundedA created loan has been approved and funds sent to the merchant bank account
Loan ActiveThe loan is in an active and normal state.
Loan ClosedAn active loan has been closed and is considered no longer active (i.e fully paid off)
Loan OverpaidLoan repayment is overpaid *Please contact Jaris for more details.
Loan RejectedMerchant has rejected the loan. *Please contact Jaris for more details.
Loan CanceledLoan has been canceled. *Please contact Jaris for more details
Loan PredefaultAn active loan is in danger of defaulting
Loan DefaultAn active loan has defaulted

Listening for Loan Events

Preczn offers loan webhook events in order to communicate when loans are created and updated.
To listen for loan events, you can create a new Preczn webhook or modify existing Preczn webhooks to listen for the following events:

  • loans.created
  • loans.updated

When a loan is created for a merchant, this is an indication that the Jaris Client Component can be displayed in your application for the Merchant to review the preoffer and fill out the Jaris application. You can read more about this in the Displaying Loans to Merchants section.


Retrieving Loans

If at any point in time you with to retrieve a loan or series of loans for a merchant, you can use the Preczn Loans Endpoints:

  • Get Loans
    • The Get Loans endpoint allows you to return all loans for your platform. If desired, results can be narrowed to specific merchants. If you have various loan types (B2B2B or B2B) you may also narrow down the results based on type
  • Get Loan
    • Each Preczn loan has a unique ID. The Get Loan endpoint allows you to retrieve the latest loans data from the preczn database.

Displaying Loans to Merchants

When a loan preoffer has been created for a merchant, you will want display the Jaris Connect interface for your merchant to review and accept the offer.
Jaris offers an embeddable component to handle the display of the available offers for a given merchant. To simplify implementation of a Jaris B2B Lending on Preczn, you can embed the Jaris Connect interface on your web interface using a secure, Preczn-hosted JavaScript client.

1. Include the Preczn jaris client on your page

Add the secure, hosted JavaScript reference in the <head> of your page:

<script src="https://api.preczn.com/v1/clients/jaris.min.js?merchantId={{merchantID}}&publicApiKey={{PrecznAPIKey}}"></script>

2. Define the jaris Connect location

Define the location for the button on your page, we suggest containing it within a <div>:

<div id="jaris-container" style="width: 800px"></div>

3. Define the required JavaScript callback function

Define a JavaScript callback function to handle errors:

var jarisCallback = function(errors) {
  console.error(`jaris errors:\r\n - ${errors.join('\r\n - ')}`);
}

If an errors occurred, the errors parameter value will contain an array of strings describing any error conditions.

4. Create a merchant session token (server-side)

Using your private API key, on the server-side, make a request to the Sessions Endpoint to create a new session token for this merchant. A valid session token is required to call the renderOffer function.

5. Render the offer

Call the Preczn JavaScript client to create the button:

<script type="text/javascript">
  Preczn.jaris.renderOffer(sessionToken, "jaris-container", jarisCallback);
</script>

The renderOffer function takes 2 parameters, in this order:

ParametertypeDescription
Container ID *stringThe HTML DOM element ID for the element which will contain the jaris Connect offer interface (we suggest containing it within a <div> element)
Callback Function *functionThe function to call when jaris Connect returns an error.

* Denotes a required parameter.

This will load all of the required scripts and stylesheets from both Preczn and jaris into the <head> of your page, and render the jaris Connect offer!

Error conditions

If any error conditions occur - such as invalid merchantId, failed authentication, etc. - then the Preczn jaris script will not load any dependencies or render the jaris Connect offer on your page.
Instead, the error callback function will be called with an array of error strings.

ErrorDescription
Invalid API Key.The provided publicApiKey was not valid.
Merchant not found.The provided merchantId was not a valid merchant ID.
Invalid Jaris token or shopId.The jaris connection has an invalid configuration.

Using with a Content Security Policy

If you are using a Content Security Policy to secure your client-side web application, you will need to extend your policy to allow jaris.min.js to load and connect to the Preczn API, as well as to load the jaris scripts and connect to jaris.

Please add the following directives to your content security policy:

DirectiveValues
script-srcapi.preczn.com *.jaris.com *.jaris.co
connect-srcapi.preczn.com *.jaris.com *.jaris.co

FAQ

What merchant data does Preczn share with Jaris?

Preczn sends only the minimal data set required for eligibility review when the merchant is boarded — the merchant's state (address.region), dateEstablished, and mcc — along with anonymized transaction data (a 6-month historic volume snapshot and ongoing anonymized streaming of transactions as they are processed). The merchant's name is not sent, and Preczn does not transmit owner, banking, or any other merchant details to Jaris.

How are transactions anonymized, and what is sent with each one?

Preczn builds a minimal report for each approved transaction containing only the amount, currency, date, card brand bucket, payment method category, status, the Jaris shop ID, and the Preczn transaction ID. No cardholder or customer data is included. See Transaction Transfer to Jaris for the full field list and the exclusions.

Do transactions processed outside of Preczn count toward Jaris eligibility?

No. Jaris eligibility is evaluated using transaction data that resides in Preczn — the 6-month historic volume snapshot and the transactions streamed as they are processed. Transactions processed outside of Preczn are not supported at this time and are not included in the data sent to Jaris.

How do I know when to show the Jaris component to a merchant?

Listen for the loans.created webhook event. When a loan is created for a merchant with a Preoffer Created status, the merchant has an active preoffer and the Jaris Connect interface can be displayed in your application so the merchant can review the offer and apply. See Displaying Loans to Merchants for the implementation steps.

Why do merchants have to re-enter their business information in the Jaris application?

Jaris does not currently support pre-populating the loan application with merchant data held in Preczn. Preczn only sends the minimal data set required for eligibility review when the merchant is initially boarded, so when a merchant accepts a preoffer and moves into the Jaris application, they will need to fill out their business, owner, and banking information themselves — even if Preczn already has that data on file.

When does a merchant's Jaris connection become Active?

A merchant's Jaris connection moves to Active when the merchant submits a loan application to Jaris. Until then, the connection remains PartialBoarded — even if preoffers have been issued or the merchant has started an application.

Why do I see more loan records in Preczn than in Jaris?

Preczn tracks each preoffer as its own loan record, while Jaris displays a merchant's current preoffer. A merchant can only have one active preoffer at a time — when Jaris issues a new preoffer for a merchant that already has one, Preczn marks the existing loan record Preoffer Expired and creates a new loan record with a Preoffer Created status. The expired record is retained in Preczn for history, so Preczn's total loan count can be higher than the count shown in Jaris.

Why doesn't the Jaris Sales Pipeline report show all of my boarded merchants?

Per Jaris, the Sales Pipeline report on the Jaris dashboard only counts MIDs that have transacted in the last 30 days. Boarded merchants that haven't processed a transaction in the last 30 days are excluded from the report, so the Sales Pipeline count can be lower than your total number of boarded merchants. This is expected behavior — those merchants are still boarded; they're just not included in the report's count.

If you have further questions about the Sales Pipeline report or other Jaris dashboard reporting, reach out to your Jaris support team member.


Did this page help you?