Apruve

The Apruve Developer Hub

Welcome to the Apruve developer hub. You'll find comprehensive guides and documentation to help you start working with Apruve as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Merchant Technical Overview

We're working hard to make it easy for you to offer Apruve as an option on your website. We have (or are actively working on) plugins for several eCommerce and ERP platforms. But if you need to "roll your own", or are simply interested to learn exactly what happens under the covers of a purchase with Apruve, this document is for you.

Apruve can often be added to an existing e-commerce implementation in a matter of days. In most cases, it is possible to have a working Apruve button on your checkout page in just a few hours. How long it takes after that typically depends on the nature and complexity of your particular order management system.

What Makes Apruve Different

From the technical perspective, there are two things that differentiate an Apruve transaction from a traditional payment gateway.

Checking Out on Terms

Apruve acts like a typical electronic payment method in many ways, but it's not. When your customer checks out using a traditional payment gateway like a card processor, you are collecting authorization to collect funds directly from that customer. When you are ready to ship, you tell the gateway to act on that authorization and collect funds.

A workflow like that is fine in the consumer space. Buyers expect to pay for their purchases immediately; however, that's not the case in the B2B world. Businesses want to buy on terms: that is, they want to get their stuff now and pay for it later. Apruve allows you to offer terms to your customers in the context of your normal e-commerce checkout experience. When your customers check out using Apruve, we verify their credit status and either approve or decline their purchase. Apruve's financing partners pay you directly as soon as you ship and handle payment processing and collections. You get to offer terms to you customers but still get the cash for your sales right away.

Credit Overview

In the credit card world, when the buyer places an order, the amount of the order is 'authorized' against the buyer's credit limit. When the order ships, the authorization is 'captured', which makes funds available to the seller and makes the buyer responsible for payment.

Apruve credit management works very similarly to this typical credit card workflow. An Apruve Order is in effect authorizing you to access your buyer's credit for the order amount and reducing the buyer's available credit by that amount. Once the buyer accepts an Order, you can issue Invoices to the buyer to capture the credit authorized by that Order. The buyer is then responsible for payment. Once they do pay, the credit held by the Invoice will be released and available for future purchases.

Orders and Invoices

Apruve uses two key concepts to manage purchases on terms: the Order and the Invoice. These are pretty common concepts in commerce of all forms, but we'll review our take on them here.

Orders

In Apruve, Orders are used set expectations between you and your buyer regarding what they'll be receiving and how much they'll be paying for it. When you have an approved Order, you know that the account holder has agreed to purchase the specified items under the terms of their corporate account, and that they have sufficient credit remaining to cover the purchase.

How is an Order approved?

An order is approved in one of two ways:

  1. When the order is placed online through the Apruve checkout, the Order is implicitly approved.
  2. When an offline order is placed on a buyer's behalf through the API, they receive an email asking them to confirm the Order. If they confirm the Order, it is approved.

From a technical perspective, an accepted Order authorizes you to access the buyer's credit for the amount of that Order. You will be able to issue Invoices against the Order for up to this amount (plus a little wiggle room to cover things such as shipping charges). Please note you cannot issue Invoices for more than this amount, so it's important to make sure that your Order information is as accurate as possible.

Invoices

Invoices are your demand for payment in return for goods or services provided as specified by an Order. You will create them and issue them to your customers whenever your internal business processes dictate. This could be as soon as the checkout is completed, or it could be weeks down the line when a custom-built product is ready to ship. Apruve can support these scenarios and everything in between.

When you issue an Invoice to your buyer, you are also triggering a request to your credit program's underwriter to fund that invoice. The amount you are allowed to invoice is determined by the amount the buyer authorized when they approved the Order. The total amount of all Invoices you issue against a particular Order may not exceed 110% of the Order amount (or the buyer's remaining available credit, whichever is less). If you need to invoice for more than this amount, your buyer will need to approve a new Order for the new amount.

Why 110%?

In many industries, specific amounts for things such as shipping may not be known at the time an order is placed. As is typical with credit cards, Apruve allows you a little wiggle room to cover situations where these costs might be slightly higher than originally estimated without having to place a new order.

Deferred Approval

When a buyer completes checkout using Apruve, the resulting Order will usually be in approved status, meaning you can get started on fulfilling that order. In certain cases, however, the Order status will be pending, meaning that a decision on credit and/or purchasing approval is still in progress. In the meantime, your e-commerce platform should hold the cart in an unpaid (or some other pending state). Once a final decision is made, we'll notify you via email or webhook so that you can complete the transaction and fulfill the order.

For more information, see the Webhook section of the Apruve API documentation.

Releasing credit

A buyer's available credit is typically restored when they pay off invoices. Once payment is confirmed, that credit will be available for use on new purchases. There are a few other special cases that will restore a buyer's available credit:

  • Expiration - Every Order submitted to Apruve has an expiration date. When an Order passes this date, any authorized credit still held by the Order is released back to the buyer. See the API documentation for more information.

  • Returns - If a return is recorded for an invoice, the amount of the return is immediately restored to the buyer's available credit. This amount is not available for use on additional invoices on the order.

  • Cancelations - If you cancel an invoice, the credit that was captured by that invoice is made available for you to use on additional invoices on that order. It is not restored to the buyer's available credit.

Once you know that you will not be issuing any more invoices against an order, be sure to use the 'complete' API to release any remaining authorized credit back to the buyer. Otherwise, any credit authorized by an Order that you don't issue invoices for will remain held by that Order until the Order's expiration date.

Integrating with Apruve

There are three major components to an integration with Apruve:

  1. Capture credit/buyer approval with an Order.
  2. Request payment with an Invoice.
  3. Collecting payment.

Creating an Order

There are two ways to create an Order in Apruve. The first, most common method is to add apruve.js to your online store's checkout page. Alternatively, you may use Apruve's offline ordering features to create an Order via Apruve's API or file import.

Creating Orders with apruve.js

For detailed instructions on how to integrate apruve.js, see the Apruve.js Reference. At a high-level, this integration involves the following steps:

  1. On your server, create an Order and use an API Key to create a secure hash from the fields of your shopping cart.

  2. In Javascript on your checkout page, import and initialize the apruve.js library.

  3. Create a callback function to capture the Order ID that Apruve will create when the shopper authorizes use of their corporate account.

Once you have an Order ID, save it on your server. It will be the token that you use to identify the Order in your future interactions with Apruve.

Offline Orders

For detailed information on the Apruve Orders API and how it may be used to create Orders, see the API documentation

Using the API, you can connect your store's back end to Apruve to create Order objects whenever your sales or support staff takes an order from your customers. The API call will return an Order ID, which you can then use to create Invoices and track the status of the Order.

Creating Invoices

You can create Invoices in one of two ways. You can create them automatically along with Orders, or you can create them manually using the API.

Automatic via invoice_on_create

The Order object includes an invoice_on_create flag that is set to true by default. When this flag is set, the Order will automatically create an Invoice for itself based on its contents. The Invoice tax, shipping, total amount, and items will all be generated from the corresponding Order fields when the Order is saved.
For more details on how to use Order flags like invoice_on_create, refer to the API Documentation.

Manual Invoice creation

Many business workflows are complicated enough to require more fine-grained control over Invoices than the automatic creation features provide. For example, you might need to do multiple shipments, or you might not know details like exact shipping costs at checkout time. Once you have an Order ID, you can use the Apruve API to create Invoices in whatever way works with your existing process.

For more details, see the Invoice API documentation.

checkout flow chart

Getting Paid

If you're working with one of our financing partners, you will be paid the full amount (less your financing fee) for every Invoice within 24 hours of the Invoice being issued. Funds for Invoices are deposited in the bank account you specify on a nightly basis.

Shipments can also be reported via the Apruve dashboard, or can use the Apruve API to integrate shipment notifications into your back-end. See the Shipment API for more information.

If you are self-financing your corporate account program, Apruve can collect payments from your customers on your behalf. Supported payment sources include ACH and paper checks. You can also collect payments yourself and use the Apruve dashboard or API to record payments and close Invoices.