2016-12-11 43 views
1

我是React Native和Stripe API的新用户,并且一直在尝试将我的付款模块与这两者集成。所以最初当我使用代码作为node.js文档描述时,由于HTTP模块在React Native中不可用,我得到一个错误。React Native和条带集成401错误

直到我遇到这个博客描述使用Fetch API而不是通常的条带实现的解决方法。但是当我运行我的代码时,我得到一个401错误,这意味着未经授权或密钥无效。考虑到我的实现和密钥是正确的,什么可能导致这个错误?这里有一个示例代码:

fetch('https://api.stripe.com/v1/customers', { 
    method: 'post', 
    headers: { 
    'Accept': 'application/json', 
    'Authorization': 'Bearer MY_TEST_KEY' 
    }, 
    body: JSON.stringify({ 
    firstName: 'John', 
    lastName: 'Doe' 
    }) 
}) 

在此先感谢!

回答

1

不幸的是,在您的移动应用程序中无法执行任何操作,因为这些调用需要您的秘密API密钥。你不应该在你的移动应用程序中拥有Secret API密钥,否则攻击者可能会得到他的手,然后代表你创建指控,退款或转账。

你需要做的是在移动应用程序中首先创建一个卡片令牌。然后,您将其发送到您的服务器,您将使用您的密钥创建费用或客户。

+0

其实我只是测试了API,后来我会这样做,但现在我想先看看它是如何工作的,这就是为什么我把密钥放在代码上或者是导致未经授权的错误? – Jed

+0

@Jed:我说的是你无法在应用程序中获取Stripe-node库,甚至不应该尝试。您需要在webview中使用Stripe.js:https://stripe.com/docs/stripe.js – koopajah

相关问题