我有一个我一直在开发的应用程序,这个应用程序在最近的一些更改之前就已经开始工作了。
我运行了一个捆绑更新,并更新了一堆宝石。从那以后(或那段时间)我的结账过程不起作用,我无法弄清楚导致问题的原因。
我的development.log文件中没有任何错误,我的JS控制台没有错误。
您可以查看the site here。
对于登录凭据,请使用:abc@test.com/testing123(其中电子邮件是用户,后者是pw)。
将该项目添加到购物车,然后完成结帐流程。
输入一些虚假凭证,并使用信用卡号码:4111111111111111(验证码可以是任意3位数字,在今天之后的任何日期到期)。
点击结帐后,您会看到表单未提交。
对于我的生活,我无法弄清楚原因。
我很想听听有关如何进一步排除故障或告诉我是什么导致这种情况的一些想法。
感谢。
P.S。这不是Heroku问题 - 我也在本地遇到这个问题。我正在使用piggybak购物车gem,并且gem维护者无法在他们的结尾复制此错误。所以我进一步陷入困境:(
答案 0 :(得分: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。
答案 1 :(得分:0)
似乎piggybak_stripe gem正在使用您没有的类选择器查找信用卡详细信息:
number: $('.card-number').val(),
cvc: $('.card-cvc').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val()
所以,在我向输入添加适当的类(向card-number
输入添加piggybak_order[line_items_attributes][0][payment_attributes][number]
类等)之后,并使用“4242424242424242”作为表单提交的卡号。很多东西的验证仍然失败。
答案 2 :(得分: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]" >
缺少选择器的元素是:
添加这4个课程并且很开心