2016-12-11 40 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

相關問題