2013-11-05 48 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

非常感谢!你已经指出了我设计中的一些直接缺陷,至少我有错误可以解决。我将在晚上结束包装(希望)。 –