Gowri
Gowri

Reputation: 1856

Stripe connect tranfer amount not working

I'm using stripe connect api to transfer money to other bank accounts. I created managed account and assign bank to that account.

Now I created transfer for that managed account.

I'm getting this error :

type: "invalid_request_error"
message: "Cannot create live transfers; please switch to manual transfers"

Code:

$transfer = \Stripe\Transfer::create(array(
    "amount" => 100,
    "currency" => "usd",
    "destination" => 'acct_xxxx',
    "application_fee" => 5,
    "description" => 'Some desc'
));

Any suggestions please.

Upvotes: 0

Views: 1865

Answers (1)

koopajah
koopajah

Reputation: 25632

As Matthew mentioned in the comment, you need to switch to Manual transfers if you want to create a transfer to a connected account. This is done in the Transfer settings in your account.

This is due to the fact that by default, Stripe will transfer your funds to your bank account automatically daily (or on another schedule if you changed it). This means that you never have funds sitting in your account waiting to be transferred.

If you switch to Manual transfers, Stripe will automatically add the Pending balance in your account to your Available balance when the funds clear. This happens 2 days after a successful charge in the US. This will then allow you to create Manual transfers.

If you're using Stripe Connect though, you should not need to send funds this way to your connected accounts. This is covered in the documentation for Special-case Transfers where it says:

Another helpful rule of thumb is that, over time, the transfers API should be less than 10% of your overall volume. Being under this volume does not guarantee that you are compliant, but use cases significantly over that volume are unlikely to be permitted.

Instead, you need to create the charge on behalf of the connected user. This is done by telling Stripe at charge time who the recipient of the funds should be. You'd either pass the connected account's id acct_XYZ in the destination parameter or by creating the charge directly on the connected account. This is covered in more details in the documentation.

Upvotes: 1

Related Questions