2017-01-11 4 views
1

シナリオは、当社のウェブサイトには、管理者、送信者、および受信者の3人のユーザーがいます。 送信者はReceiverに支払いを送信しますが、Webサイトの送信者はReceiverに直接支払いを送信しません。Admin Stripeアカウントを受け取り、確認後ReceiverはAdmin Stripeアカウントから支払いを受け取ります。このプロセスでは、Administrative Stripe Accountからプラットフォームを作成しました。ここでは、SenderとReceiverの両方がそのプラットフォームに接続されています。ストライプは、プラットフォーム内の接続されたアカウントに支払いを送付します

送信者は、管理ストリップへの支払いを送る

\Stripe\Stripe::setApiKey("sk_test_ADMIN_KEY"); 

\Stripe\Charge::create(array(
    "amount" => 400, 
    "currency" => "usd", 
    "source" => "tok_18uL5yIXv4Heg2KDdPHJFo8A", // obtained with Stripe.js 
    "description" => "Charge for [email protected]" 
)); 

レシーバは、管理者ストライプアカウント

\Stripe\Stripe::setApiKey("sk_test_ADMIN_KEY....."); 

\Stripe\Charge::create(array(
    'amount' => 400, 
    'currency' => 'usd', 
    'source' => $token, 
    'destination' => 'acct_...' // 
)); 

、よりからの支払いを受け取るアカウント:

以下は私たちが使用しているコードがあります3人のユーザーのすべてがストライプアカウントを持ち、テストモードではすべてのユーザーhreeには利用可能な残高$ 0があります。上記のコードを使用した後、Receiver Stripe AccountにAmountが追加されません。

答えて

3

第三者に代わって支払いを受け入れる場合、プラットフォームのアカウント(「管理者」)で資金を保持することはできません。コンプライアンス上の理由から、は、請求書作成時に宛先のアカウントをに設定する必要があります。

\Stripe\Stripe::setApiKey("sk_test_..."); // platform's API key 

\Stripe\Charge::create(array(
    'amount' => 400, 
    'currency' => 'usd', 
    'source' => $token, 
    'destination' => 'acct_...' // connected account's ID 
)); 

これは($tokenでのお支払い方法を経由して)顧客を充電し、接続された口座の残高に資金を追加します。資金が利用可能になると、アカウントを関連する銀行口座に転送することができます。

この請求はプラットフォームを通じて(destinationパラメータで)作成されるため、プラットフォームはStripeの料金を支払い、チャージバックと払い戻しの責任を負うことになります(here参照)。 application_feeパラメータがないため、プラットフォームはStripeの手数料を支払うが何も受け取らないため、この取引で効果的にお金を失うことになります。

managed accountsをご利用の場合は、(プラットフォームとして)あなたも関連する銀行口座への振込を管理しています。このhereについて詳しく読むことができます。

とすると、プラットフォームは銀行振込を制御するのではなく、各スタンドアロンアカウントの所有者が独自のアカウント設定で管理します。

+0

これを見てくださいhttp://stackoverflow.com/questions/42853469/charge-from-a-card-to-specific-merchant-stripe – Stella

関連する問題