35

我正在使用 Stripe 的checkout.js,因为它很容易设置和使用。有没有办法添加优惠券?

<script src="https://checkout.stripe.com/v2/checkout.js"
    class="stripe-button"
    data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG"
    data-amount="2000"
    data-name="Demo Site"
    data-description="2 widgets ($20.00)"
    data-image="/128x128.png">
</script>
4

4 回答 4

20

Stripe Checkout 目前不支持优惠券。对于按钮或自定义集成,它未在文档中列出。

人们可能想知道是否有一些秘密功能。但是,使用未记录的功能,尤其是涉及到您的支付处理器时,是一个坏主意。句号。


这就是 Stack Overflow - 让我们继续挖掘吧!

启动jsfiddle。将您的代码粘贴到 html 部分。打开开发人员工具,以便您可以查看网络请求。

有一个 en.json,它是一个国际化的字符串文件。如果有优惠券的输入,应该有一个标签说“输入优惠券代码”或类似的东西。空无一人。(当然,Stripe 有可能决定硬编码这个特定的字符串,但这似乎不太可能)。

https://checkout.stripe.com/v3/data/languages/en.json

您还可以看到 inner.js 用于为弹出窗口提供动力。将源码复制到一个js美化器中,你发现并没有提及。实际上,您可以看到解析选项的代码,它们都与优惠券无关。

"lib/optionParser": function(exports, require, module) {
    (function() {
        var BOOLEAN_OPTIONS, DEFAULTS, STRING_OPTIONS, URL_OPTIONS, extractValue, helpers, toBoolean, _;
        _ = require("vendor/lodash");
        helpers = require("lib/helpers");
        DEFAULTS = {
            currency: "usd",
            allowRememberMe: true
        };
        BOOLEAN_OPTIONS = ["billingAddress", "shippingAddress", "notrack", "nostyle", "allowRememberMe", "allowPhoneVerification", "zipCode", "trace", "alipayReusable", "bitcoin"];
        STRING_OPTIONS = ["key", "amount", "name", "description", "panelLabel", "currency", "email", "locale", "alipay"];
        URL_OPTIONS = ["url", "referrer", "image"];

您可以看到此处的每个选项如何与可用于自定义集成的选项一一对应,这些选项映射到按钮的选项(您只需要使用连字符而不是驼峰式)

在这一点上,如果你想进一步说服自己,你可以继续挖掘,但我会联系 Stripe 支持并提出功能请求。快乐挖掘!

于 2014-11-21T05:43:41.690 回答
8

Checkout 仅创建令牌。在将令牌返回到服务器并向客户收费后,将向客户应用优惠券。

stripe.Customer.create(
  source=token,
  plan="basic_monthly",
  email="payinguser@example.com",
  coupon="coupon_ID"
)
于 2015-08-13T03:08:19.553 回答
2

如果您想将优惠券代码传递到您的后端,您只需在表单中为其添加一个输入字段即可。但是,它不会从条带更改弹出表单中的金额,除非您想变得复杂并调用其他 javascript 来检查输入的优惠券代码的参数并更改条带脚本参数。

您可以在表单标签中包含您需要的任何输入,只要它们不被条带使用。

<form action="/your-server-side-code" method="POST">
  Coupon Code: <input type="text" name="coupon_code">
  <br>
  <script src="https://checkout.stripe.com/v2/checkout.js" class="stripe-button" data-key="pk_test_czwzkTp2tactuLOEOqbMTRzG" data-amount="2000" data-name="Demo Site" data-description="2 widgets ($20.00)" data-image="/128x128.png">
  </script>
</form>

于 2017-11-21T16:32:38.013 回答
2

Stripe 在路线图上有多年的 Stripe 结帐/付款折扣代码后终于回应了我们的祈祷

折扣码现在可用于 Stripe 结帐。

见这里:https ://stripe.com/docs/payments/checkout/discounts

您也可以在此处手动创建它:https ://dashboard.stripe.com/coupons/create

对于可能是我们想要的面向客户的促销代码,请在此处查看:https ://stripe.com/docs/billing/subscriptions/discounts/codes

(从技术上讲,优惠券面向商家,促销代码面向客户)

于 2020-11-03T15:06:00.237 回答