【问题标题】:Can I use test token in Stripe Connect to create test charge?我可以在 Stripe Connect 中使用测试令牌来创建测试费用吗?
【发布时间】:2016-07-02 15:56:27
【问题描述】:

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

我做错了什么?

【问题讨论】:

    标签: php stripe-payments stripe-connect


    【解决方案1】:

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

    附带说明一下,您无需担心在 Connect OAuth 流程的最后一步中在 response 中获得的 API 密钥。唯一感兴趣的字段是包含帐户 ID 的 stripe_user_id 字段。您应该将此 ID 保存在您的数据库中,这样您就可以将其与 Stripe-Account 标头一起使用来代表此帐户发出 API 请求。

    【讨论】:

    • 你确定它一定是卡片的令牌吗? Stripe 的 OAuth 文档对此不是很清楚:stripe.com/docs/connect/payments-fees - 我如何在不知道他们卡的情况下向某人汇款?我只想向他们的 Stripe 账户汇款。
    • Stripe 不能用作汇款服务或电子钱包。 Stripe Connect 的目的是允许平台代表其他账户收取费用。因此,您不能只从您的 Stripe 账户向另一个账户汇款——您需要从一张实际的卡中创建一笔费用,并且该费用必须针对关联账户所有者提供的商品或服务。跨度>
    • @Ywain 如果不能,我可以将钱汇到我的 Stripe 关联账户吗?请您建议使用 Stripe 的替代方式。
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 2010-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    相关资源
    最近更新 更多