5

私は開発中のアプリを持っていますが、それは最近のいくつかの変更まで機能していました。

バンドルの更新を実行し、多数の gem を更新しました。それ以降 (またはその頃)、チェックアウト プロセスが機能せず、問題の原因がわかりません。

development.log ファイルにエラーはなく、JS コンソールにもエラーはありません。

サイトはこちらからご覧いただけます。

ログイン認証情報には、abc@test.com/testing123 を使用します (メールは user、後者は pw)。

その商品をカートに追加し、チェックアウト プロセスに進みます。

偽の資格情報を入力し、クレジット カード番号 4111111111111111 を使用します (検証番号は任意の 3 桁の数字で、有効期限は今日以降です)。

チェックアウトをクリックすると、フォームが送信されていないことがわかります。

私の人生では、理由がわかりません。

これをさらにトラブルシューティングする方法、または原因を教えてください。

ありがとう。

PS これは Heroku の問題ではありません。私もローカルでこの問題を抱えています。私は piggybak ショッピング カート gem を使用していますが、gem の管理者はこのエラーを再現できませんでした。だから私はさらに困惑しています:(

4

3 に答える 3

1

あなたの指示に従いましたが、「Create Order」をクリックするとエラーが発生しました。

sjsonp1369201390573({
        "error": {
        "message": "The 'exp_year' parameter should be an integer (instead, is undefined).",
        "type": "card_error",
        "param": "exp_year",
        "code": "invalid_expiry_year"
    }
}
, 402)

これは JS コンソールにはありません。代わりに、アプリは次のような追加の JS スクリプト ファイルを作成しています。

https://api.stripe.com/v1/tokens?card[number]=undefined&card[cvc]=undefined&card[exp_month]=undefined&card[exp_year]=undefined&key=pk_u0E6vMzPGDJlYmyLqr83LCahMTL5e&callback=sjsonp1369201390573&_method=POST

AJAXQ やその他のピギーバック JS システムを使用したことがないため、エラーは単純に見えますが、この例外をキャッチするには、プログラムをステップ実行する必要があると思います。

HTH。

于 2013-05-22T05:44:18.967 に答える
0

JSONの答えは次のとおりです。

  "error": {
    "message": "The 'exp_year' parameter should be an integer...",
    "type": "card_error",
    "param": "exp_year",
    "code": "invalid_expiry_year"
  }

エラー メッセージに従って、適切なクラスをページの html 要素に追加します。例として、427 行目 (html コード) には次のように記述されています。

<select id="piggybak_order_line_items_attributes_0_payment_attributes_year" name="piggybak_order[line_items_attributes][0][payment_attributes][year]">

次のセレクター「exp_year」を追加します。

<select class="exp_year" id="piggybak_order_line_items_attributes_0_payment_attributes_year" name="piggybak_order[line_items_attributes][0][payment_attributes][year]" >

セレクターが欠落している要素は次のとおりです。

  • カード[cvc]
  • カード[exp_month]
  • カード[exp_year]
  • カード番号]

これらの4つのクラスを追加して、幸せになりましょう

于 2013-05-31T13:26:47.953 に答える