本番環境でPAY.JPによるクレジット決済の実行
ruby on railsを用いてメルカリのようなフリマアプリを作成しています。
本番環境で商品購入の際クレジットカード情報を正しく入力しても [Token を入力してください]とエラーメッセージが出てきてしまいます。
ローカル環境ではエラー文は出てきません。
発生している問題・エラーメッセージ
https://gyazo.com/9389fc3f15aea0ca67d84603a74fb662
該当のソースコード
const pay = () => { Payjp.setPublicKey(process.env.PAYJP_PUBLIC_KEY); const form = document.getElementById("charge-form"); form.addEventListener("submit", (e) => { e.preventDefault(); const formResult = document.getElementById("charge-form"); const formData = new FormData(formResult); const card = { number: formData.get("purchase_information[number]"), cvc: formData.get("purchase_information[cvc]"), exp_month: formData.get("purchase_information[exp_month]"), exp_year: `20${formData.get("purchase_information[exp_year]")}`, }; Payjp.createToken(card, (status, response) => { if (status == 200) { const token = response.id; const renderDom = document.getElementById("charge-form"); const tokenObj = `<input value=${token} type='hidden' name='token'>`; renderDom.insertAdjacentHTML("beforeend", tokenObj); } document.getElementById("card-number").removeAttribute("name"); document.getElementById("card-cvc").removeAttribute("name"); document.getElementById("card-exp-month").removeAttribute("name"); document.getElementById("card-exp-year").removeAttribute("name"); document.getElementById("charge-form").submit(); document.getElementById("charge-form").reset(); }) }) } window.addEventListener("load", pay);
試したこと
このエラーについて検索したら自分と似たような状況のエラーがあり、それを参考にしてみました。
そこにはこのコードの上から20行目の'hidden'の記述がダブルクォーテーションだからシングルクォーテーションにすると良いとあったので真似てシングルクォーテーションで記述してみましたが、エラーは解決しませんでした。
あなたの回答
tips
プレビュー