javascript - 使用 Jquery AJAX 进行 Stripe 支付? (仅限 JavaScript)

标签 javascript jquery ajax stripe-payments

我正在尝试为 Stripe 创建自定义支付表单,并且我想手动对 Stripe 进行 AJAX 调用。 (而不是提交事件)

但是,首先我很确定我将它发布到了错误的地方。但我不知道应该向哪个 URL 发出此帖子请求。

如果我使用的是正确的网址。我收到 405 not allowed 响应。没有关于我的请求有什么问题的信息。

这是我得到的:

Stripe.setPublishableKey('pk_test_12345');
    Stripe.card.createToken({
      number: ccNum,
      cvc: ccCVC,
      exp_month: ccMonth,
      exp_year: ccYear
    }, stripeResponseHandler);

这部分工作正常,给我一个 200 OK 状态,我从服务器得到了一个 token 。

function stripeResponseHandler(status, response) {
      console.log('card status: ', status);
      console.log('token: ', response.id);
      $.ajax({
        type: 'POST',
        url: 'https://checkout.stripe.com/checkout.js',
        headers: {
          stripeToken: response.id
        },
        data: {
          number: ccNum,
          cvc: ccCVC,
          exp_month: ccMonth,
          exp_year: ccYear
        },
        success: (response) => {
          console.log('successful payment: ', response);
        },
        error: (response) => {
          console.log('error payment: ', response);
        }
      })
    }

然而,这给了我 405 Not Allowed。端点是一个 .js 文件对我来说似乎有点奇怪。这就是为什么我假设我得到了错误的 URL。

谁能帮我弄清楚如何为 Stripe 付款发出手动发布请求?

最佳答案

免责声明:这是可行的,但这是一种糟糕的做法。不要将其用于实际项目。我需要它用于仅前端测试环境。正如此页面上的其他用户所指出的,您应该在后端执行此操作!

我终于在以下位置找到了一些有用的文档:https://stripe.com/docs/api#create_charge

因为我怀疑我使用的 URL 是错误的。

获得正确的 URL 后,以下 ajax 调用有效:

希望这对其他人也有帮助!大多数答案都是 PHP 或其他后端语言。

$.ajax({
        type: 'POST',
        url: 'https://api.stripe.com/v1/charges',
        headers: {
          Authorization: 'Bearer sk_test_YourSecretKeyHere'
        },
        data: {
          amount: 3000,
          currency: 'usd',
          source: response.id,
          description: "Charge for madison.garcia@example.com"
        },
        success: (response) => {
          console.log('successful payment: ', response);
        },
        error: (response) => {
          console.log('error payment: ', response);
        }
      })

关于javascript - 使用 Jquery AJAX 进行 Stripe 支付? (仅限 JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38819502/

相关文章:

javascript - 第二次调用 Function 时,Jquery Autocomplete _renderItem 不起作用

javascript - Ajax 在表单提交上发送多个请求

javascript - ajax动态加载的html页面上的YQL查询

python - Django 1.9.3 - 如何将 HTML 模板传递给索引模板

javascript - 这个网页是如何动态加载数据的?

javascript - 带有 imagemapster 的 ie8 - 位置 :absolute not working

javascript - 如何按排序键顺序获取对象中的最后一项

javascript - angularjs重启css动画

javascript - jQuery live 函数的简单版本

jquery - 使用 jQuery 模拟单击​​选择元素