- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
随着 super 光滑的更新 Stripe Checkout我一直在研究如何在结帐过程中添加优惠券输入。
我知道我可以设置 allow_promotion_codes: true
在 Session object ...但是已经关注了 Gatsby implementation我正在使用 redirectToCheckout
不会接受这些参数的方法。
你知道一种创建新 session 并将其传递给 redirectToCheckout
的方法吗?方法?
我已经看了很长时间,在网上找不到任何东西来完成工作+鉴于我的浅薄理解/上述内容,这听起来很愚蠢......感觉就像我应该能够做的事情。
最佳答案
TL; 博士;您可以在 Stripe 结账时允许使用优惠券代码,您目前必须通过后端创建 session 来实现这一点,但这非常简单,只需要几行 JS 和后端代码。
为此,它需要:
allow_promotion_codes: true
的 sessionID redirectToCheckout()
一旦从后端获得 sessionID redirectToCheckout()
的默认设置。)
https://js.stripe.com/v3
)。
// bind the button
document.getElementById('checkout-button').addEventListener('click', function (e) {
// stop any normal action (if a link)
e.preventDefault();
// retrieve a session ID
ajax_checkoutsession('YOUR STRIPE PRODUCT ID',function (response) {
// got errors?
if (typeof response.checkoutSessionId == undefined){
// could fallback to sending with redirectToCheckout directly
// otherwise, backend error
}
stripe.redirectToCheckout({
sessionId: response.checkoutSessionId,
})
.then(function (result) {
// if error
if (result.error) {
// If `redirectToCheckout` fails due to a browser or network
// error, display the localized error message to your customer.
// deal with error
}
})
.catch(function (err) {
// deal with non-network Stripe error
});
},function(err){
// deal with AJAX error
});
}
function ajax_checkoutsession(plan,cb,errcb){
var data = {
'action': 'retrieve_checkout_session',
'plan': plan
};
jQuery.ajax({
type: "POST",
url: 'YOUR AJAX ENDPOINT',
"data": data,
dataType: 'json',
timeout: 20000,
success: function(response) {
// callback
if (typeof cb == "function") cb(response);
return response;
},
error: function(response){
// callback
if (typeof errcb == "function") errcb(response);
}
});
}
然后后端 php 非常简单...(需要 Stripe 库、您的 Stripe key 和您的成功/取消 URL):
// load vendor files
require(dirname( __FILE__ ) . '/vendor/autoload.php');
// setup Stripe
\Stripe\Stripe::setApiKey('YOUR STRIPE SECRET KEY');
// retrieve plan / product
$plan = 'defaultplan'; if (isset($_POST['plan'])) $plan = sanitize_text_field( $_POST['plan'] );
// build any line items (for now, simply one)
$line_items = [[
'price' => $plan,
'quantity' => 1
]];
// Sign customer up for subscription
// Note we could use: `client_reference_id`, `customer`, or `customer_email` for returning customers
$checkout_session = \Stripe\Checkout\Session::create([
'success_url' => 'https://yoursite.com/success?session_id={CHECKOUT_SESSION_ID}',
'cancel_url' => 'https://yoursite.com/cancelled',
'payment_method_types' => ['card'],
'mode' => 'subscription',
'allow_promotion_codes' => true,
'line_items' => $line_items
]);
echo json_encode(['checkoutSessionId' => $checkout_session['id']]);
exit();
注意事项:
redirectToCheckout()
调用来解决此问题。关于gatsby - 将优惠券添加到 Stripe Checkout 或 allow_promotion_codes : true on redirectToCheckout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63859411/
融e购拍一拍抽微信1-99元立减金/优惠券 微信搜索并关注“融e购”公众号 回复“拍一拍” 进入然后自己创建个群拉好友或者小号 在群里互拍对方 或者从下面链接进入小编的群大家都可以在里面互拍 每
三只松鼠收集福卡 抢千分礼包+优惠券 扫码进入微信活动文章页面 在活动页面中 下拉进入小程序 完成任务可以获得抽卡机会 收集福卡 可以得新年大礼包 有千分礼包 和 优惠券 大家速度收集 ~
我试图从优惠券折扣中排除一些具有特定产品属性的产品变体。 在我的例子中,我的目标是产品属性“finish”设置为“Classic Frame”或“Box Frame”术语的产品变体。 我尝试使用 "E
我正在使用 Paypal API 对实体商品和数字商品进行支付。 一切都按预期工作,但在我调用 set_express_checkout(使用 AngelEye PHP 类)并将用户重定向到 Payp
我可以在后端创建优惠券,但在结帐过程中,没有输入优惠券的选项。我能找到的唯一其他信息是如何通过注释掉该行来禁用优惠券 block type="checkout/cart_coupon"name="ch
我遇到了一些麻烦。我想要做的是,每次有人订阅我们的时事通讯时,都会在 Magento 中自动生成一个随机优惠券代码。优惠券是任何东西的 10 美元折扣,并且会有 exp。订阅后两周的日期。 所以,我正
我使用 Stripe 的默认表单进行付款处理。如何添加优惠券字段?我已经创建了优惠券,但我不确定如何处理优惠券代码。 " data-amount=1795 da
我正在与一个想要创建 100% 关闭订阅优惠券代码的客户合作。如果用户拥有这些优惠券代码之一,他们不希望用户必须输入信用卡。这在 Stripe 中可能吗? 我正在使用 Laravel Spark,当用
有人知道与Stripe一次性交易是否可以接受优惠券吗? 我知道您可以添加带有定期订阅的优惠券,但我只希望能够提供一次性付款折扣。 最佳答案 我认为这里的想法是,您可以完全控制单个费用(或一次性付款,无
是否有已知的方法可以通过 API 在 Magento 社区版中创建新的优惠券代码(购物车价格规则)? 我希望能够使用另一个网络应用程序自动生成优惠券代码,并通过一些后端通信在 Magento 中同时创
我一直找不到准确的答案。 我们已经知道,PayPal 的 REST API 没有应用折扣代码的选项。但是,我们可以将另一个项目添加到 item_list 中,其中包含一个 I.e. 的描述。促销/折扣
借助 QuantLib C++ 库,我尝试评估在其生命周期内具有不同息票的债券(例如,前三年为 6%,其余三年为 4%)。 我注意到 FixedRateBond 的构造函数类接受优惠券 vector
如标题中所述,我正在尝试通过电子邮件限制访问 WooCommerce 优惠券列表,以便在我的应用程序中使用它。 但是我确实成功访问了优惠券列表,但我无法通过电子邮件而非代码获取它。 现在我尝试使用 P
使用您自己的本地数据库镜像 Stripe 是一件好事吗? 使用 API 调用(创建新计划、优惠券、订阅等)和 webhook(生成新发票或费用、付款失败)进行镜像,因此您可以存储所有数据(字面意思是具
我是一名优秀的程序员,十分优秀!