2

我有一个结帐表格,用于将购物车详细信息发送到不同的支付网关,例如使用 Symfony 和Payum的 paypal 。

现在我正在尝试将付款详细信息发送到条带,以防用户选择条带结帐选项。目前与条纹的集成工作正常,我可以发送付款并从条纹获得响应但是为了将信用卡详细信息发送到条纹我被重定向到capture

在此处输入图像描述

我在哪里看到“用卡付款”按钮,如果我点击它,弹出窗口似乎输入信用卡详细信息

在此处输入图像描述

我想做的是允许用户在我拥有的结帐表格上添加信用卡详细信息,而不是您在弹出窗口中看到的表格。有可能实现这一目标吗?我如何使用自己的表单将数据发送到条带而不是使用条带弹出窗口?

我在这个这个例子中找到了一个非常接近的例子。有没有条纹的例子?任何帮助将不胜感激。

4

2 回答 2

2

这是 Javascript 中的条带示例:

包括 Stripe.js

<script type="text/javascript" src="https://js.stripe.com/v2/"></script>

设置您的可发布密钥:

Stripe.setPublishableKey('YOUR_PUBLISHABLE_KEY');

发送数据:

    Stripe.card.createToken({
      number: $('.card-number').val(),
      cvc: $('.card-cvc').val(),
      exp_month: $('.card-expiry-month').val(),
      exp_year: $('.card-expiry-year').val()
    }, stripeResponseHandler);

回复 :

function stripeResponseHandler(status, response) {
  var $form = $('#payment-form');

  if (response.error) {
    // Show the errors on the form
    $form.find('.payment-errors').text(response.error.message);
    $form.find('button').prop('disabled', false);
  } else {
    // response contains id and card, which contains additional card details
    var token = response.id;
    // Insert the token into the form so it gets submitted to the server
    $form.append($('<input type="hidden" name="stripeToken" />').val(token));
    // and submit
    $form.get(0).submit();
  }
}

有关更多详细信息,请查看此链接 https://stripe.com/docs/stripe.js

于 2015-02-11T11:45:52.227 回答
2

Stripe Checkout 就是这样设计的。你看到按钮点击它,填写所有必需的信息,就是这样。

如果您想提前填写信用卡详细信息,您可以这样做,但在这种情况下,您必须使用

  • 条纹“直接”。在 Omnipay 中实施并通过 Omnipay Bridge 使用
  • 你必须像这样通过omnipay信用卡(更好的​​方法还没有实现):

    $order->setDetails(array('card' => new CreditCard($data), ));

    • 并使用$this->forward而不是重定向。因为信用卡没有保存到数据库,你必须立即处理它们。(示例
于 2015-02-12T09:13:48.470 回答