Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 我可以生成带条签出的付款URL吗?_Forms_Url_Stripe Payments - Fatal编程技术网

Forms 我可以生成带条签出的付款URL吗?

Forms 我可以生成带条签出的付款URL吗?,forms,url,stripe-payments,Forms,Url,Stripe Payments,我想创建一个URL,我可以在我的时事通讯中共享,它可以将人们直接发送到一个条带结账表单,以进行小额(固定金额)付款 有了它,我可以生成HTML代码来构建一个按钮,我可以将它包含在网站中。我希望避免将用户发送到必须单击该按钮的网站,而是根据URL中的参数直接发送到付款表单。这是可能的吗?编辑:现在,随着支付链接的启动,这是可能的!在这里查看: 不幸的是,这是不可能的Stripe.js使用可发布密钥为每个重定向到checkout调用生成唯一的重定向页面。这确保了每个客户的页面都是唯一的,因此可以更容

我想创建一个URL,我可以在我的时事通讯中共享,它可以将人们直接发送到一个条带结账表单,以进行小额(固定金额)付款


有了它,我可以生成HTML代码来构建一个按钮,我可以将它包含在网站中。我希望避免将用户发送到必须单击该按钮的网站,而是根据URL中的参数直接发送到付款表单。这是可能的吗?

编辑:现在,随着支付链接的启动,这是可能的!在这里查看:

不幸的是,这是不可能的
Stripe.js
使用可发布密钥为每个
重定向到checkout
调用生成唯一的重定向页面。这确保了每个客户的页面都是唯一的,因此可以更容易地跟踪页面

您无法真正绕过将客户发送到网站的问题,因为即使是旧式结账也需要使用JavaScript生成付款表单。

这可以通过您端的自定义脚本来完成。如前所述,每个页面都有一个用于跟踪的唯一ID,因此不能重复使用

但是有了一个简单的PHP脚本来启动这个支付,你当然可以使用PHP脚本的URL作为支付的“常量”URL

在使用composer和stripe.JS导入stripe php SDK之后,php和JS看起来像这样

<?php
$stripecheckout = \Stripe\Checkout\Session::create([
  'success_url' => 'https://success.url',
  'cancel_url' => 'https://cancel.url',
  'payment_method_types' => ['card'],
  'line_items' => [
    [
      'amount' => 100,
      'currency' => 'usd',
      'name' => '1 item',
      'description' => 'This is my item description',
      'quantity' => 1,
    ],
  ]
]);
 ?>

然后这个javascript

 <script>
 var stripe = Stripe('pk_test_XXXXXXXXXXXXXXX');
 stripe.redirectToCheckout({
 sessionId: '<?php echo $stripecheckout->id; ?>'
 }).then(function (result) {
   // If `redirectToCheckout` fails due to a browser or network
   // error, display the localized error message to your customer
   // using `result.error.message`.
 });
 </script>

风险条带=条带('pk_测试_uuxxxxxxxxx');
stripe.redirectToCheckout({
会话ID:“”
}).然后(函数(结果){
//如果“redirectToCheckout”由于浏览器或网络而失败
//错误,向您的客户显示本地化的错误消息
//使用“result.error.message”。
});

这需要您进行一些定制和错误处理,但在我看来,这是最好的解决方案,因为Stripe无法直接提供。我找到了两种选择:

  • 。唯一的缺点是它不是免费的(只有14天免费试用)。与您的Stripe连接,超级轻松地发布支付链接和发票

  • 考虑到它是完全免费的&与Stripe连接,缺点是它没有选项1那么快。您可以在其中创建发票,直接通过电子邮件发送给您的客户,或通过电子邮件发送给您自己(记住勾选PDF选项),在该电子邮件中将有一个付款链接,您可以通过选择的通信方式发送该链接


  • 您可以在stripe.com上开具发票,该发票将生成一封包含付款链接的电子邮件。使用它,您不需要任何Web服务器。

    从2021年起,您可以直接从Stripe dashboard创建一个支付链接,该链接将生成一个URL,您可以与客户共享

    更多信息:


    披露:我为Stripe工作。

    完全同意你的看法!我一直在寻找完全相同的解决方案,只需使用Stripe发送一个支付URL,试图避免使用其他BE提供商。这可能会有所帮助:我必须生成一个sessionId,然后加载一个html页面来调用JS重定向,我会投票支持这一点。它起作用了。它实际上并不是问题的答案。这只是实现新支付服务的传统方式。它是否可用,或者何时通过API可用?