1

Stripe 請求を通じて送信されるすべてのトランザクションにアプリケーション料金を実装しようとしています。ストライプ プラットフォームを作成し、それにアカウントを接続しましたが、料金にアプリケーション料金を追加しても、ストライプ ダッシュボードに表示されません。

次のコードは機能し、プラットフォームに課金します。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],      
 ));

このコードも機能します。接続されたアカウントに全額を送信し、プラットフォームにストライプ料金を請求します。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "desitnation" => 'acct_#connectedaccountid'     
 ));

ただし、ストライプの Web サイトからのものであっても、以下は機能しません。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "application_fee" => 1000   
 ),array("stripe_account" => 'acct_#connectedaccountid'));

このコードが返され、支払いが行われたことをウェブサイトに伝えますが、ストライプをチェックすると、どちらのアカウントにも、収集された料金にもありません。

詳細情報: トークンはプラットフォームの pk_test#platformcode を使用します。

4

4 に答える 4

0

パラメータを使用すると、プラットフォームのアカウントを通じてdestination請求を作成できます。この場合、プラットフォームは Stripe の料金を支払い、払い戻しとチャージバックの責任を負います。

\Stripe\Stripe::setApiKey({PLATFORM_SECRET_KEY});
\Stripe\Charge::create(array(
  'amount' => 10000,
  'currency' => 'usd',
  'application_fee' => 1000,
  'source' => $_POST['stripeToken'],
  'destination' => {CONNECTED_STRIPE_ACCOUNT_ID}
));

接続されたアカウントとして認証すると、その上で直接請求を作成できます。

\Stripe\Stripe::setApiKey({PLATFORM_SECRET_KEY});
\Stripe\Charge::create(
  array(
    'amount' => 10000,
    'currency' => 'usd',
    'application_fee' => 1000,
    'source' => $_POST['stripeToken']
  ),
  array('stripe_account' => {CONNECTED_STRIPE_ACCOUNT_ID})
);

これらの両方の例で、{PLATFORM_SECRET_KEY}はプラットフォームのシークレット API キー ( で始まるsk_) であり{CONNECTED_STRIPE_ACCOUNT_ID}、 は接続されたアカウントの ID ( で始まるacct_) です。

2 番目のサンプルがうまくいかない場合は、Stripe PHP バインディングの最新バージョンを使用していることを確認してください。

于 2015-10-15T15:16:40.220 に答える
-1

修正済み: 答えがどこにも見つからなかったので、Stripe で申請料を使用する将来の人のために、ここに答えを投稿してください。

コードは以下です。しかし、主な問題は、接続アカウント ID を使用しないことです。アカウントを接続するときに生成された sk_test_#code# を使用する必要があります。プラットフォームまたは接続ユーザー sk_test_#code# ではありません。ユーザーがストライプ プラットフォームに接続するときに Oauth によって生成されるコードです。コードにも変更があります。

Stripe::setApiKey("sk_test_#platformcode");

Stripe_Charge::create(
 array(
  "amount" => 10000,
  "currency" => "usd",
  "source" => $_POST['stripeToken'],
  "application_fee" => 1000   
 ), sk_test_#connectioncode'));
于 2015-10-14T18:40:17.460 に答える