Stripe + React Native - 如何创建转移到托管帐户(错误:"必须提供来源或客户。")?

时间:2016-10-28 05:17:17

标签: javascript react-native stripe-payments payment-gateway stripe-connect

我正在尝试将资金转入托管帐户,但我收到错误:"必须提供来源或客户。"。以下是发送到API的请求正文和标头。

  var transferBody= {
    "amount": "1000",
    "currency": "usd",
    "destination": "default_for_currency",
  }

  let apiTransferRequest = {
    method: 'post',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/x-www-form-urlencoded',
      'Authorization': 'Bearer ' + secret_key,
      'stripe_account': 'acct_198vxeLmTNKjRg7x'
    },
    body: transferBody
  }

不应该在标题中提供'stripe_account'使我自己代表托管帐户行事,那么反过来应该作为来源吗?

根据我的理解,在标题中提供'stripe_account'并使用'destination'参数设置为'default_for_currency',会使托管帐户将资金从其自己的条带管理帐户余额转移到其默认值借记卡。

我在标准传输https://stripe.com/docs/connect/bank-transfers下遵循此示例,并且我使用了React Native,因此就我所知,这将是使用Stripe.js的唯一方法。我跟随http://blog.bigbinary.com/2015/11/03/using-stripe-api-in-react-native-with-fetch.html

提前感谢您,并接受/提出答案。

1 个答案:

答案 0 :(得分:0)

首先,请注意,您不应该使用您的前端代码中的秘密API密钥创建传输或发出任何其他API请求。检索您的密钥并将其用于恶意目的将是微不足道的。 (你提到的博客文章中的评论也是如此。)

必须使用后端服务器。应在您的前端代码中处理的付款流程的唯一部分是使用CheckoutStripe.js对付款信息进行标记化。

也就是说,如果您想代表已关联的帐户发出请求,则您需要使用的标头是Stripe-Account,而不是stripe_account。后者用于Stripe网站上的Node.js示例,因为它们使用Stripe's Node library,其中stripe_account是使用Stripe-Account标头的特殊参数。