2013-11-05 45 views

回答

4

我前段時間自己創建了一個賬戶包,我的建議是儘可能地堅持在同一服務的基本賬戶包(看起來像這個例子中是OAuth 2)中做的任何事情。我可以看到你已經做到了,但有一些細微的差別。

我下載了你的軟件包,自己試了一下。雖然我不能使用它(我沒有使用Stripe API,所以我不會完全挖掘它),但我認爲我可以取得比以前更多的進展。

首先,我沒有得到'沒有登錄服務配置'的錯誤。你添加了你的包嗎?我做了'meteor add accounts-ui',在我的項目的根目錄下創建了一個包文件夾,並將你的包文件夾粘貼到它中,重命名爲'accounts-stripe'並且做了'meteor add accounts-stripe'。

然後,我添加了一個{{loginButtons}}幫助頁面。有了這個,我得到了配置Stripe登錄按鈕,但是當我點擊它時不會打開彈出窗口。我在js控制檯'Uncaught Error:Duplicate service:stripe'中收到錯誤消息。問題似乎是你有線:

Accounts.oauth.registerService('stripe'); 

在accounts_stripe.js和stripe_client.js。從stripe_client.js中刪除它爲我解決了它。然後我可以從條帶添加我的API密鑰。

接下來的問題是這些提交後,你將它們存儲在stripe_configure.js中的'clientId'中,然後使用stripe_client.js和stripe_server.js中的配置對象中的appId來檢索它們。我注意到這一點,因爲在提交API密鑰後,彈出窗口中的登錄URL具有未定義的client_id。在stripe_configure.js中將'clientId'更改爲'appId'可以解決這個問題。

不幸的是,它仍然無法正常工作。我從彈出窗口獲得

{"error":{"message":"No application matches the supplied client identifier"}} 

。這可能是由於許多原因,也許我在API密鑰窗口中提交了錯誤的東西,也許是因爲我在Stripe上使用了測試項目,或者您可能錯誤地實現了登錄工作流程。 Stripe OAuth文檔的快速谷歌表明我已經爲client_id和祕密提交了錯誤的東西。就像我說過的,我之前沒有使用過Stripe API。

我希望我已經讓你開始修復它。

+0

非常感謝!你已經指出了我設計中的一些直接缺陷,至少我有錯誤可以解決。我將在晚上結束包裝(希望)。 –