Insufficient fund in stripe account

Pathik Vejani picture Pathik Vejani · Sep 12, 2016 · Viewed 13.4k times · Source

My stripe account has following balance in test mode:

$958,395.72
Available balance

$2,659.48
Pending balance

$3,010,474.35
Total volume (HKD)

This balance is in HKD.
Now I have to transfer money in USD.
If I try to transfer USD $4.25 then it gives me following error:

Type: Stripe\Error\InvalidRequest

Message: Insufficient funds in Stripe account. In test mode, you can add funds to your available balance (bypassing your pending balance) by creating a charge with 4000 0000 0000 0077 as the card number. You can use the the /v1/balance endpoint to view your Stripe balance (for more details, see stripe.com/docs/api#balance).

Transfer Code:

$check_balnace = \Stripe\Balance::retrieve();
$balanceArr = $check_balnace->__toArray(true);
$available_amount = $balanceArr['available']['0']['amount'];
echo $available_amount; // $958,395.72
$amount = 4.25*100;
$amount = 425;
\Stripe\Transfer::create(array("amount" => $amount, "currency" => "usd", "destination" => 'stripr_uid', "description" => 'test'));

Why this error is occurring even I have enough balance?

Answer

Manish Silawat picture Manish Silawat · Sep 23, 2016

You can do one more thing to add funds to your test account.

Just login into your stripe account and go to Payments and click on Create your first payment or new payment button.
When you click on it you can see a popup window that opens, here you can fill your amount.
Just remember to use card number: 4000000000000077
and click on Create payment button.

Your payment will be added directly (bypassing the pending state) and you can make transfers with your stripe testing account.