3

Stripe supports to hold payment like escrow up to 90 days but I can't find any parameter for it.

What I want is to charge money from user and save it to stripe and release it later by API / manually (whichever available).

I also use destination parameter to send amount to connected account as well and its dividing amount correctly but can't find option to hold payment.

Current Code :

\Stripe\Stripe::setApiKey(STRIPE_SECRET_KEY);

    $charge = \Stripe\Charge::create(array(
        "amount" => 400,
        "currency" => "usd",
        "source" => "tok_visa",
        "destination" => array(
            "amount" => 200,
            "account" => "acct_1CVDnsDG3NG0OLEa",
        ),
    ));

Source : https://stripe.com/docs/api

James Davis
  • 63
  • 2
  • 6

1 Answers1

1

What you need is "Creating Separate Charges and Transfers" https://stripe.com/docs/connect/charges-transfers

@Viney's answer is incorrect

The way to do it is to create the charge without the destination parameter and then create the transfer at a later time (whenever you wish). If you are using Stripe Connect, the charged amount will sit in your platform's account balance.

I'm not sure how much time is the hard limit before you need to either transfer or withdraw that money. When I spoke to support they were uncertain regarding the 90 days.

Zoltán Matók
  • 3,923
  • 2
  • 33
  • 64