首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的结账按钮突然不起作用了?

为什么我的结账按钮突然不起作用了?
EN

Stack Overflow用户
提问于 2013-05-22 13:19:57
回答 3查看 445关注 0票数 5

我有一个应用程序,我一直在开发,这是过去的工作,直到最近的一些变化。

我运行了一个捆绑包更新,并更新了一堆gem。从那时起(或大约在那个时候),我的结帐过程就不起作用了,我也找不出是什么导致了这个问题。

我的development.log文件中没有任何错误,我的JS控制台中也没有错误。

你可以查看the site here

对于登录凭据,请使用: abc@test.com/testing123 (其中电子邮件是user,后者是pw)。

将该商品添加到购物车中,然后完成结账流程。

输入一些假凭证,并使用信用卡号码: 4111111111111111 (验证号可以是任何3位数字,今天之后的任何日期都可以过期)。

单击checkout后,您将看到表单未提交。

不管怎么说,我都搞不懂为什么。

我很想听到一些关于如何进一步解决这个问题的想法,或者告诉我是什么导致了这个问题。

谢谢。

附注:这不是Heroku的问题--我在本地也有这个问题。我使用的是piggybak购物车gem,gem的维护者还没能在他们那端复制这个错误。所以我更加困惑:(

EN

回答 3

Stack Overflow用户

发布于 2013-05-22 13:44:19

我按照您的说明操作,但在单击“Create Order”时出现错误。

代码语言:javascript
复制
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脚本文件,如下所示:

代码语言:javascript
复制
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

HTH。

票数 1
EN

Stack Overflow用户

发布于 2013-05-29 21:25:58

似乎piggybak_stripe gem正在使用您没有的类选择器来查找信用卡详细信息:

代码语言:javascript
复制
number: $('.card-number').val(),
cvc: $('.card-cvc').val(),
exp_month: $('.card-expiry-month').val(),
exp_year: $('.card-expiry-year').val()

因此,在我向输入添加了适当的类(向piggybak_order[line_items_attributes][0][payment_attributes][number]输入添加card-number类等)并使用"4242424242424242“作为表单提交的卡号之后。在很多情况下,验证仍然失败。

票数 0
EN

Stack Overflow用户

发布于 2013-05-31 21:26:48

JSON的答案是:

代码语言:javascript
复制
  "error": {
    "message": "The 'exp_year' parameter should be an integer...",
    "type": "card_error",
    "param": "exp_year",
    "code": "invalid_expiry_year"
  }

跟随错误消息,并将适当的类添加到页面上的html元素。例如,在第427行(html代码)中,您具有:

代码语言:javascript
复制
<select id="piggybak_order_line_items_attributes_0_payment_attributes_year" name="piggybak_order[line_items_attributes][0][payment_attributes][year]">

添加以下选择器"exp_year"

代码语言:javascript
复制
<select class="exp_year" id="piggybak_order_line_items_attributes_0_payment_attributes_year" name="piggybak_order[line_items_attributes][0][payment_attributes][year]" >

缺少选择器的元素包括:

  • cardcvc
  • cardexp_month
  • cardexp_year
  • cardnumber

添加这4个类,你会很开心

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16683996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档