Embedding Instant Pay

This guide is for developers implementing and testing Everee's embedded Instant Pay functionality.

About Instant Pay

The embedded Instant Pay Component enables you to integrate Everee's Instant Pay functionality into your application. This is an optional way for workers to "cash out" approved payout amounts using their personal Visa or Mastercard debit cards.

When payouts are "cashed out" using Instant Pay, a worker enters their debit card information into the Component (or confirms the information is correct if they've done it before), selects the appropriate amount to transfer, and approves the transaction and associated fee. The transfer is confirmed via the Visa/Mastercard networks within a few seconds and the worker is shown a screen confirming the transfer was completed successfully.

Transfers completed through Instant Pay are available in workers' bank accounts, and available to spend on their debit cards, immediately once the transfer is complete.

Everee charges a fee of $1 for transfers up to $250.

Embedding the Instant Pay Component

As with other Embed Components, you'll first create a Component Session using the Create Component Session endpoint. Set the "experienceName" field in the request to the value "INSTANT_PAY". You'll receive back a URL in the "url" field of the response. Display a web view or iframe of that URL to initiate the Component Session and display the Instant Pay UX to the worker.

Testing the Instant Pay Component

In order to test the Instant Pay Component, first process a payment to a worker via the Everee admin portal or API. Choose a worker to pay whose Everee onboarding is complete, and whose "workerID" or "externalWorkerId" you have access to. For example, you could do either of the following:

  1. Use the "Create Payment" workflow in the admin portal to add a payment. Click the "Create and Approve" button to process the payment immediately. The amount of the payment is now ready for Instant Pay.

  2. Use the Payables API to create a verified payable, then request payout of that payable. The amount of that payable is now ready for Instant Pay.

Once you've processed a payment to a worker, open the Instant Pay Component you embedded earlier. You'll be prompted to enter debit card information. Once that's complete, the payment amount you processed will be displayed in the UX along with the appropriate fee and final net payout amount. Swipe the slider on the bottom of the screen to process the payout.

If a payment is processed whose net pay is greater than the Instant Pay limit, only an amount up to the limit can be transferred through Instant Pay. Any amount not transferred through Instant Pay will instead be transferred via ACH to the worker's bank account on a subsequent day, according to how your Everee instance is configured.

Note: at this time, you need to enter a real debit card when testing the Instant Pay Component.

Note: at this time, due to daily scheduled ACH operations, the Instant Pay workflow is unavailable during a fixed 90-minute period each banking day. This period is the window of time in which "excess" amounts, not transferred via Instant Pay on a prior day, are transferred via ACH to bank accounts. This period, listed in various time zones, is as follows:

9:00am - 10:30am Pacific Time (PT)
12:00pm - 1:30pm Eastern Time (ET)
9:30pm - 11:00pm India Standard Time (IST)
7:00pm - 8:30pm Eastern European Time (EET)

Reconciling Instant Pay Transfers

When funds are transferred via Instant Pay, they appear on workers' PDF pay statements and in the Worker Payment History API. Payments appear with the "PAID" status.

Errors and Empty States

No Balance: When there's no amount approved for payout, the Instant Pay Component displays a message stating that Instant Pay is unavailable because there's no balance.

Temporarily Not Available: When Everee is transferring remaining payment amounts via ACH and the Instant Pay functionality is unavailable (see note above), the Instant Pay Component displays a mesage stating that Instant Pay is temporarily unavailable because bank transfers are in progress, and displays the time that Instant Pay will be available again.