2013-05-22 11 views
5

私は自分の開発したアプリを持っています。チェックアウトボタンが突然動作しないのはなぜですか?

私はバンドルの更新を実行し、一連の宝石が更新されました。それ以来(またはその頃)私のチェックアウトプロセスは機能せず、問題の原因を突き止めることはできません。

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

the site hereをチェックアウトすることができます。

ログイン資格情報の場合は、[email protected]/testing123を使用します(電子メールはuser、後者はpwです)。

あなたのカートに商品を追加し、その後チェックアウトプロセスを進めてください。

偽の認証情報を入力し、クレジットカード番号:4111111111111111(確認番号は任意の3桁の番号で、今日以降の任意の日付を期限にすることができます)を入力します。

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

私の人生にとって、私は理由を理解できません。

これをさらにトラブルシューティングしたり、原因を教えてください。

ありがとうございました。

P.S.これはHerokuの問題ではありません - 私はこの問題もローカルにあります。私はpiggybakショッピングカートの宝石を使用していますが、宝石の保守担当者はこのエラーを最後に再現できませんでした。だから私はさらにflummoxed午前:(

答えて

1

私はあなたの指示に従って、私は「受注登録」をクリックの上にエラーが発生しました。

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。

+0

幸せになりますか?もしそうなら、それは問題です。なぜなら私は 'v2'ストライプURLと' v1'を指定したからです。それは実際に問題になるかもしれません....今私はそれについて考える。 – marcamillion

+0

はい、正確なURL文字列を作成しています。同じ文字列を持つ新しいものは、[Create Order]ボタンをクリックするたびに表示されます。 –

+0

Hrmm ... ok ...何かを試してみてください。 – marcamillion

0

piggybak_stripe宝石は、あなたが持っていないクラスセレクタを使用してクレジットカード情報を探しているように思え:そう

​​

、私は入力に適切なクラスを追加した後(にcard-numberクラスを追加しますpiggybak_order[line_items_attributes][0][payment_attributes][number]入力など)、フォームが送信するカード番号として「4242424242424242」を使用します。まだ多くのもので検証は失敗します。

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 class="exp_year" id="piggybak_order_line_items_attributes_0_payment_attributes_year" name="piggybak_order[line_items_attributes][0][payment_attributes][year]" > 

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

    は以下のセレクタ"exp_year"を追加します

  • カード[cvc]
  • カード[exp_month]
  • カード[exp _year]
  • カード[番号]

は、これら4つのクラスを追加し、それが正確なURL文字列を作成しました

関連する問題