Skip to main content

Sandbox

For all (Web or Mobile) integrations you can use following sandbox features for testing purposes.

Sign in phone numbers​

  • When prompted for a phone number, enter one that uses this pattern xxx-555-xxxx. The middle part must be 555 to be detected as a test number. Any other number will be treated as a real phone number.
  • When using test phone numbers, the verification code is always 0001.

Test debit card numbers​

Whenever prompted to provide a debit card for funding use the following card details:

Card numberExpirationCVC
5183683001544411Any date in the futureAny 3 digits

Interacting with Accrue​

Once you attach a test debit card or bank account to a test account, you can simulate funding, set up funding rules, and more. Set a wallet goal by clicking “set wallet goal”, set up savings rules, view your transaction history in the “Activity” tab, and more.

Areas to explore:​

  1. Funding options - Set a recurring savings rule
  2. View Transaction history + Active savings rules
  3. Set a wallet goal
  4. Friends and family (crowdfund link)
  5. View Linked Accounts

Funding​

You can fund your wallet using the test debit card number provided above, but keep in mind that before funding your wallet, you need to have KYC completed on sandbox.

Watch the video or follow the guide below:

Adding funds​

  1. Enter https://sandbox.accruesavings.com/sign-in
  2. If not already filled, enter your merchant id
  3. Sign up with a test phone number
  4. Create a Wallet
  5. Complete KYC (Refer to next section to see how to complete KYC)
  6. Attach a test debit card to your account
  7. Fund your wallet

Completing KYC​

  1. Once authenticated, go to https://sandbox.accruesavings.com/kyc
  2. Fill in fake user information
  3. Enter an age greater than 18
  4. Enter random address in US
  5. Enter 123456789 as SSN
  6. Agree to the terms and conditions

Clearing funds​

If you want to move your funds from pending to available, follow these steps:

  1. Open wallets page on https://sandbox.accruesavings.com/wallets
  2. Click on the wallet you want to clear funds
  3. Open debug modal on the left side panel
  4. Click on Actions Tab once modal is open
  5. Click on "Clear Pending Card Transactions"
  6. Wait for some time and refresh the page
  7. You will see the funds available in your wallet

Counterparty deposits and payouts​

These steps use the Merchant API sandbox (https://merchant-api-sandbox.accruesavings.com) with your client credentials. Amounts are in cents.

Simulating inbound ACH credits and debits​

Counterparties with an Accrue deposit account (internalBankAccount on the counterparty resource) can receive simulated inbound payments:

POST /api/v1/simulation/counterparties/{counterpartyId}/deposits
{
"data": {
"type": "SimulateCounterpartyDeposit",
"attributes": { "amount": 10000, "direction": "debit" }
}
}
  • direction is credit (the default) or debit.
  • A debit larger than the counterparty's balance takes the balance negative.
  • The endpoint returns 204 right away. The balance updates and a CounterpartyIncomingPayment webhook fires with the matching direction once the payment is processed.

Simulating returned and failed payouts​

The outcome of a sandbox payout is driven by the account number on the counterparty's externalBankAccount:

Account numberOutcome
100XX, where XX is an ACH return code (for example 10001 for R01, 10029 for R29)The payout is returned with that return code
111111110The payout fails without a return code
Any other numberThe payout completes

To test a returned payout:

  1. Create a counterparty whose externalBankAccount.accountNumber is 10001, with any valid routing number.
  2. Fund it, either with the deposit simulation above or with a counterparty transfer from another counterparty.
  3. Create a payout with POST /api/v1/counterparties/{counterpartyId}/payouts.
  4. You will receive CounterpartyPayoutCreated, CounterpartyPayoutSent and CounterpartyPayoutCompleted, followed by CounterpartyPayoutReturned with status: "Returned", returnCode: "R01" and returnReason: "Insufficient Funds". The payout amount is available on the counterparty balance again.

In sandbox the whole sequence arrives within seconds. A return can follow CounterpartyPayoutCompleted, and webhooks are not guaranteed to arrive in order, so treat CounterpartyPayoutReturned as final for that payoutId and ignore any earlier status that arrives after it.