私は独自の流星アカウント パッケージを作成していますが、何か不足しているようです。ブラウザーやターミナルでエラーが発生していないため、トラブルシューティングが困難です。私が受け取る唯一のエラーは、「ログイン サービスが構成されていません」という accounts-ui パッケージ自体からのものです。コードはhttps://github.com/khamoud/meteor-accounts-stripeで見ることができます。前もって感謝します。
1 に答える
少し前に自分でアカウント パッケージを作成しましたが、同じサービスのベース アカウント パッケージ (この場合は OAuth 2 のように見えます) で行われることはすべて、できる限り忠実に行うことをお勧めします。あなたがそれをしたことがわかりますが、小さな違いがあります。
あなたのパッケージをダウンロードして、自分で試してみました。私はそれを機能させることはできませんが (Stripe API を使用したことがないので、完全には掘り下げません)、私はあなたが持っていたよりも多くの進歩を遂げることができると思います.
まず、「ログイン サービスが設定されていません」というエラーが表示されません。パッケージを追加しましたか?「meteor add accounts-ui」を実行し、プロジェクトのルートにパッケージ フォルダーを作成して、パッケージ フォルダーをそのフォルダーに貼り付け、名前を「accounts-stripe」に変更し、「meteor add accounts-stripe」を実行しました。
次に、{{loginButtons}} ヘルパーをページに追加しました。これで、Stripe のログイン ボタンを設定できましたが、クリックしてもポップアップが開きませんでした。js コンソールに「Uncaught Error: Duplicate service: strip」というエラー メッセージが表示されました。問題は、次の行があるようです。
Accounts.oauth.registerService('stripe');
accounts_stripe.js と strip_client.js の両方で。それを strip_client.js から削除すると、修正されました。その後、ストライプから API キーを追加できます。
次の問題は、これらが送信されると、stripe_configure.js の「clientId」に保存しますが、stripe_client.js と strip_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 docs をすばやくグーグルで検索すると、client_id と secret に間違ったものを送信したことがわかります。私が言ったように、私は以前に Stripe API を使用したことがありません。
ただし、修正を開始していただければ幸いです。