Usio

Pinless

Pinless debit/credit is the way we send/receive instant funds to a user via their debit card. We use the debit/credit tokens stored in the pinless-default-card table to make these pinless payments. The debit card is tokenized in the app, and the tokens are saved in the db, so we don’t store the card number or details and don’t have to worry about being PCI compliant.

Pinless payments give us instant success or failure, so we do not have to wait for the payment to clear. Here is a list of usio response codes for pinless failures.

Usio only requires the token and amount in order to submit a tokenized pinless payment.

ACH

ACH goes through the ach network, which can take several days to hit a user’s bank account. Because of this, we have to check back every day to see if a payment has been returned. Usio does not have webhooks, so we have to do this manually per payment.

Returned ACH payments will have an accompanying NACHA return code which shows why the payment was returned. Here is a list of those return codes.

There are a couple of rules around ach return rates from usio.

  • Overall, our return rate for all ACH should be under 15% per merchant account.

  • Our return rate for Admin return codes (R02, R03, R04) should be under 3% per merchant account.

  • Our return rate for Unauthorized return codes (R05, R07, R10,R11, R29, R51) should be under .5% per merchant account.

Usio requires the account and routing numbers for a user, as well as their name, address and email in order to submit an ACH payment.

Auth

Authentication is pretty simple, each request to their api requires the merchant account ID, a login, and password.

Accounts

We have several merchant accounts with usio that are all used for different things.

  • 10790868 is the Master account. This account is used to create the debit and credit tokens that are used for making debits and credits. This operation is done on the frontend, and the tokens are saved to the pinless-default-card table. The debit and credit tokens will work on any of our current accounts. If a user is getting 5030: Unable to locate record, it means usio couldn’t find the original token used. In our case it was probably created before we used the master account and not transferred over correctly.

  • 29063402 is the float debit account. It takes both ach and pinless debits. All floats credited from 29063403 are collected to this account.

  • 29063403 is the float credit account. It can only do ach and pinless credits. All floats credited from this account are collected to 29063402. Because this is the only credit account we have, nsf refunds and jpm returns are sent from this account, too.

  • 29111679 is the subscription debit account. Any subscription fees collected through usio are done with this account. This includes webhook subscription collections and batch collections. Scheduled subscription collections are done through jpm.