5

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

我运行了一个包更新,并更新了一堆宝石。从那时起(或大约在那个时候),我的结帐过程不起作用,我无法弄清楚是什么导致了问题。

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

您可以在此处查看该网站

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

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

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

单击结帐后,您将看到该表单未提交。

对于我的生活,我无法弄清楚为什么。

很想听听一些关于我如何进一步解决这个问题或告诉我是什么原因造成的想法。

谢谢。

PS 这不是 Heroku 问题——我在本地也有这个问题。我正在使用 piggybak 购物车 gem,而 gem 维护者无法在他们的最终复制此错误。所以我更加困惑:(

4

3 回答 3

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。

于 2013-05-22T05:44:18.967 回答
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-numberpiggybak_order[line_items_attributes][0][payment_attributes][number]等)并使用“4242424242424242”作为表单提交的卡号之后。很多东西的验证仍然失败。

于 2013-05-29T13:25:58.137 回答
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]" >

缺少选择器的元素是:

  • 卡[cvc]
  • 卡[exp_month]
  • 卡[exp_year]
  • 卡号]

添加这4个课程并快乐

于 2013-05-31T13:26:47.953 回答