为什么我的结帐按钮突然不工作了

Why does my checkout button not work all of a sudden?

本文关键字:工作 突然 按钮 我的 为什么      更新时间:2023-09-26

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

我运行了一个bundle update,并更新了一堆gems。从那时起(或大约在那个时候),我的结帐过程就不工作了,我不知道是什么导致了这个问题。

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

你可以在这里查看网站。

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

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

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

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

我怎么也想不出为什么。

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

谢谢。

注:这不是Heroku的问题——我在本地也有这个问题。我正在使用背包购物车宝石,宝石维护者没有能够复制这个错误在他们的结束。所以我更困惑了:(

我按照你的指示,我得到了错误的点击'创建订单'。

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 .

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

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类,等等),并使用"42424242424242"作为表单提交的卡号。很多东西的验证仍然失败

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个类,并高兴