首页 文章

条纹付款,无法从结帐中获得付款金额

提问于
浏览
0

我正在使用Stripe'checkout'来收取付款 . 我在其他网站上成功使用了这个,但是这个特殊的用例与我的正常流程略有不同,并且引起了我的问题 . 我的客户有时可以选择支付押金或全额付款 . 在这种情况下,我提供两个按钮,每个按钮类型一个,例如

<form name="myform" action="paymentpage.php">
... other form stuff
    <!-- Deposit payment button Stripe -->
    <script
      src="https://checkout.stripe.com/checkout.js" class="stripe-button"
      data-key="abcd"
      data-amount="10000"
      data-name="My company name"
      data-description="Deposit payment"
      data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
      data-locale="auto"
      data-zip-code="true"
      data-currency="eur"
      data-label="Pay Deposit">
    </script>
    <!-- Full payment button Stripe -->
    <script
      src="https://checkout.stripe.com/checkout.js" class="stripe-button"
      data-key="avcd"
      data-amount="{{ $stripeCostValue }}"
      data-name="My company name"
      data-description="Full payment"
      data-image="https://stripe.com/img/documentation/checkout/marketplace.png"
      data-locale="auto"
      data-zip-code="true"
      data-currency="eur"
      data-label="Pay in full">
    </script>

我想在顾客完成他们的工作后使用cURL进行充电,例如

curl https://api.stripe.com/v1/charges \
   -u sk_liveabcd1234: \
   -d amount=1000 \
   -d currency=eur \
   -d description="Deposit payment" \
   -d source=tok_89797oioououo

接收发布数据的Laravel控制器默认包含以下Stripe字段:

"stripeToken" => "tok_89797oioououo"
"stripeTokenType" => "card"
"stripeEmail" => "customer@whatever.com"

但我不知道他们是否支付了押金,全额付款或他们支付的金额 . 有没有办法让我知道他们按下了哪个按钮,或者有没有办法从Stripe付款获得更多数据?我无法弄明白 . 我不能将金额或付款类型包含为隐藏字段,因为我不知道客户将推送哪个付款按钮 .

提前致谢

1 回答

  • 1

    问题是您将两个按钮放在同一个表单中 . 因此,您不知道单击了哪一个 .

    最简单的解决方案是简单地使用2个单独的按钮和表单 . 这样,在每种形式中,您都可以放置一个隐藏字段,让您知道在使用表单提交值时单击了哪个按钮 .

    另一种解决方案是使用Custom Checkout . 这使您可以在表单中使用2个单独的按钮,并在JS中添加处理程序以在单击时打开Checkout . 这也可以让您轻松跟踪单击的按钮,然后在创建令牌后将此信息提交给您的服务器 .

相关问题