为了账号安全,请及时绑定邮箱和手机立即绑定

使用我自己的各种付款选项的高级设置的自定义条纹结账表单

使用我自己的各种付款选项的高级设置的自定义条纹结账表单

PHP
四季花海 2023-07-21 16:24:48
好的,我可以提供尽可能多的细节,我正在尝试让条形结帐表格与我自己的高级设置一起使用。这意味着在我网站的管理面板中,我可以从那里添加设置或调整价格。我将提供照片和代码。以下是 PayPal 表单代码示例。正如您所看到的,我使用按钮代码变量来处理我设置的不同价格和产品。代码变量示例 = [merchant_id] [item_name] [amount] [item_number] [user_id] [return] [notify] [merchant_button]<form action="" method="post">  <input type="hidden" name="cmd" value="_xclick">  <input type="hidden" name="business" value="[merchant_id]">  <input type="hidden" name="item_name" value="[item_name]">  <input type="hidden" name="amount" value="[amount]">  <input type="hidden" name="no_note" value="1">  <input type="hidden" name="currency_code" value="USD">  <input type="hidden" name="item_number" value="[item_number]">  <input type="hidden" name="custom" value="[user_id]">  <input type="hidden" name="return" value="[return]">  <input type="hidden" name="notify_url" value="[notify]">  <input type="image" src="[merchant_button]" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!"></form>我需要条纹结账表格以同样的方式工作。下图是产品的销售套餐。另外,我还添加了一个产品,如下图所示,按钮会自动添加到会员销售页面。这是创建按钮和结账的表单代码需要执行的地方。这是需要进入表单值的代码变量,以使表单结账适用于每个价格或产品。我有从下面的条纹中尝试过的表格。<!-- Load Stripe.js on your website. --><script src="https://js.stripe.com/v3"></script><!-- Create a button that your customers click to complete their purchase. Customize the styling to suit your branding. --><buttonstyle="background-color:#6772E5;color:#FFF;padding:8px 12px;border:0;border-radius:4px;font-size:1em"id="checkout-button-price_1H2XkYEESdtcMolQIxkRKapX"role="link"type="button">Checkout</button>div id="error-message"></div>我需要能够将以下代码变量 --> [merchant_id] [item_name] [amount] [item_number] [user_id] [return] [notify]<-- 放入条带结帐表单中,以便它能够拾取用户单击的每个价格按钮,这些按钮是我从管理员的“销售包”页面设置的,就像您在 PayPal 中看到的那样。我已经尝试了几天,我想获得正确的表单和脚本,以类似的方式工作。也许我使用了来自 stripe 的错误代码和脚本?
查看完整描述

1 回答

?
慕虎7371278

TA贡献1802条经验 获得超4个赞

当使用“仅客户端”(即仅 Javascript)结账时,只能传入已知的 Price 对象,而不是动态价格:

https://stripe.com/docs/js/checkout/redirect_to_checkout#stripe_checkout_redirect_to_checkout-options-lineItems

这意味着您无法从前端 Javascript 传递商品的金额。相反,您必须在 Stripe Dashboard 中创建产品 + 价格,然后在按钮代码中引用价格的 ID:

(function() {


var stripe = Stripe('pk_test_6pRNASCoBOKtIshFeQd4XMUh');

var checkoutButton = document.getElementById('checkout-button-price_1H2XkYEESdtcMolQIxkRKapX');


checkoutButton.addEventListener('click', function () {

  stripe.redirectToCheckout({

    lineItems: [{price: 'price_1H2XkYEESdtcMolQIxkRKapX', quantity: 1}],

    mode: 'payment',

    successUrl: window.location.protocol + '//proadtraffic.com/success',

    cancelUrl: window.location.protocol + '//proadtraffic.com/canceled',

  })

  .then(function (result) {

    if (result.error) {

      var displayError = document.getElementById('error-message');

      displayError.textContent = result.error.message;

    }

  });

});


})();

</script>

但是,如果您想要从前端传入的可变金额,您可以做的是创建 1 美元的价格(例如),然后根据您销售的每种产品的需要设置数量。我建议使用允许动态定价的客户端-服务器方法,或者为您销售的商品创建价格并传递价格 ID,如上所示。


与 PayPal 按钮不同,这种方法可以防止客户编辑 Web 表单并给自己打折(例如)——Stripe 只允许在 Checkout 中显示已知价格。


查看完整回答
反对 回复 2023-07-21
  • 1 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信