0

私の PHP アプリケーションは Stripe を使用しています。人々は私のプラットフォームで製品を販売し、私はそこから手数料を得ています。ユーザーが自分の Stripe アカウントを私のプラットフォームに接続できるようにするリンクを既に持っています。認証コードを取得し、それを使用してアクセス トークンを取得します。応答は次のとおりです (長いランダム文字列を abcd に置き換えます)。

{
  "token_type": "bearer",
  "stripe_publishable_key": "pk_test_abcd",
  "scope": "read_write",
  "livemode": false,
  "stripe_user_id": "acct_abcd",
  "refresh_token": "rt_abcd",
  "access_token": "sk_test_abcd"
}

次に、接続されたアカウントのテスト請求を作成しようとしています:

$charge = Stripe\Charge::create([
    'amount'   => 1000,
    'currency' => 'usd',
    'source'   => 'sk_test_abcd',
], ['stripe_account' => 'acct_abcd']);

しかし、次のエラーが発生します。

そのようなトークンはありません: sk_test_abcd

私は何を間違っていますか?

4

1 に答える 1

0

請求を作成するときは、sourceパラメーターをカードトークンID に設定する必要があります。あなたの例では、宛先アカウントの API キーを使用していますが、これはまったく異なる概念です。CheckoutまたはStripe.jssourceによって返されるカード トークンを含むパラメーター、または以前に作成した顧客オブジェクトの ID を含むパラメーターのいずれかを使用する必要があります。customer

補足として、Connect OAuth フローの最後のステップで応答で取得する API キーについて心配する必要はありません。関心のある唯一のフィールドはstripe_user_id、アカウントの ID を含むフィールドです。この ID をデータベースに保存して、この ID をStripe-Accountヘッダーで使用し、このアカウントに代わって API リクエストを発行できるようにする必要があります。

于 2016-03-17T11:10:36.867 に答える