我可以在Stripe Connect中使用测试令牌来创建测试费吗?

时间:2016-03-16 16:19:08

标签: php stripe-payments stripe-connect

我的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

我做错了什么?

1 个答案:

答案 0 :(得分:0)

creating a charge时,source参数应设置为卡token ID。在您的示例中,您使用的是目标帐户的API密钥,这是一个完全不同的概念。您需要使用source参数和CheckoutStripe.js返回的卡令牌,或customer参数以及您之前创建的客户对象的ID。

作为旁注,您不必担心在Connect OAuth流程的最后一步中response中获得的API密钥。唯一感兴趣的字段是包含帐户ID的stripe_user_id字段。您应该将此ID保存在数据库中,这样您就可以使用Stripe-Account标题代表此帐户发出API请求。