Stripe から Rails アプリにデータを取得するのに問題があります。奇妙なことに、今週末から壊れ始めたばかりで、その理由はわかりません。コードを以前のコミットにロールバックすると、その時点で、このコードが機能していたページが確実にわかっていますが、機能しませんでした。その前のコミットでは、コードはまだ壊れています。さらに、コードを変更していません。私は何が間違っているのかを理解しようとしています。問題が発生しているコード行を特定しましたが、何が起こっているのかわかりません。
以前、ビューには次のコードがありました。このコードは今週末まで機能していました。
<%= @stripe_details[:active_card][:type] %>, ending in <%= @stripe_details[:active_card][:last4] %><br/>
これは、コントローラーの次のコードでサポートされていました。
if current_user.stripe_id
@stripe_details = Stripe::Customer.retrieve(current_user.stripe_id).to_hash
end
Stripe API のドキュメントをくまなく調べたところ、Stripe が active_card を返さないことが問題のように思えました。default_card を返します。ただし、コードを次のように切り替えたとき:
<%= @stripe_details[:default_card][:type] %>, ending in <%= @stripe_details[:default_card][:last4] %><br/>
エラーが発生しました: Symbol を Integer に変換できません。
私が言ったように、投稿の上部にあるバージョンは問題なく機能し、突然機能しなくなるまで、何が起こっているのかわかりません。おそらく言及する価値があるのは、そのトリガー イベントの可能性があると思われるのは、ライブ キーではなくテスト API キーを使用して誤ってコードをプッシュおよびデプロイし、ユーザーのアカウントがライブ キーを使用して作成されたことです。しかし、これを見つけて、コードを適切なライブ キーに変更したところ、この問題が発生し始めました。(間違ったキーが使用されていた場合、Stripe データベースのテスト バージョンに顧客が存在しないというエラーが発生していました。)
私は、a) API から間違ったものを呼び出していたときにコードがどのように機能したか (このコードを継承しました)、b) 機能しなくなった理由と再び機能させる方法について困惑しています。何が壊れていますか?ありがとう。