7

Stripe で以下をセットアップしようとしています。

  • マスターアカウント
  • 複数のサブアカウント (つまり、Stripe Connect アプリを介してマスター アカウントに接続)
  • サブアカウントへの支払いを有効にし、トランザクションごとにマスター アカウントが受け取るパーセンテージの手数料を支払います。

マスターアカウントとサブアカウントを作成しました。Stripe Connect 経由でサブ アカウントをマスター アカウントに接続しました。Stripe Connect プロセスの最後に access_token と refresh_token を受け取り、保存しました。

支払いが行われる場合、1回の支払いで複数のアイテムをカバーできます。支払いを処理するための次のコード (PHP) があります。

Stripe_Charge::create(array(
    "amount" => $amt,
    "currency" => "EUR",
    "source" => $stripeCardToken,
    "description" => $description),
    "application_fee_percent" => 0.5
),
    $stripeAccessToken
);

これは、支払われるすべてのアイテムに対してループに配置されます。複数の Stripe 例外キャッチを含む try / catch ブロックにもあります。ただし、このメソッドはエラーがスローされることなく失敗します。

これは正しいクラス メソッドですか? クレジット カード トークンの「ソース」フィールドですか? ループを使用せずに複数のアイテムに対して支払った金額を追跡する方法はありますか? $stripeAccessTokenサブアカウントの access_token は Connect プロセスから返されたものですか、それとも refresh_token ですか? それともマスターアカウントの発行可能/秘密鍵ですか? または、他の何か?$stripeAccessToken にこの形式を使用できますか、それとも代わりStripe::setApiKey($stripeAccessToken)にループの前に使用する必要がありますか?

現在、マスターアカウントとサブアカウントの両方がテスト環境と偽のカードを使用していますが、実際のトランザクションもテストしたいと考えています。

4

1 に答える 1

2

ここでの最初の問題は、カード トークンを再利用しようとしているが、それらは 1 回限りの使用であるため、カード トークンで請求を作成すると、新しいトークンを作成できないことです。

顧客に請求し、支払いを複数の販売者に分割する場合は、共有顧客を使用する必要があります。これは、あなたの場合に従う必要があるフローです:

私が誤解していて、すべての商品が同じ販売者からのものである場合は、これをすべて行う必要はなく、次のフローに従う必要があります。

  • Connect フローで取得した発行可能な API キーを使用し、顧客のカード詳細のカード トークンを作成します。
  • Connect フロー中に取得した顧客を使用して 、ストライプ アカウントに顧客を作成しaccess_token、2 番目のパラメーターとして API 呼び出しに渡します。
  • access_token前のステップで取得した顧客 ID を2 番目のパラメーターとして渡して、顧客が購入した商品の合計金額に対する料金を作成します。
于 2015-03-12T21:04:19.250 に答える