我的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 回答
creating a charge时,source参数应设置为卡token ID . 在您的示例中,您将使用API密钥,这是一个完全不同的概念 . 您需要将
source
参数与Checkout或Stripe.js返回的卡令牌一起使用,或者将customer
参数与之前创建的客户对象的ID一起使用 .另外,您不必担心在Connect OAuth流程的最后一步中response中获得的API密钥 . 唯一感兴趣的领域是包含帐户ID的
stripe_user_id
字段 . 您应该将此ID保存在数据库中,这样您就可以将其与Stripe-Account标头一起用于代表此帐户发出API请求 .