我正在尝试使用Stripes handleCardPayment处理付款意图后的费用。我无法使handleCardPayment函数在另一个Javascript函数中运行。
我尝试逐步调试代码。 Javascript函数将运行,并将在窗口中显示警告。
我在函数顶部设置的Javascript变量也得到设置。
handleCardPayment()函数似乎没有运行?
我尝试尝试/捕获以查看是否可以捕获来自请求的错误,但未记录任何内容。
我对这个问题在哪里有些困惑?尽管我怀疑正确调用stripe函数可能缺少一些基本知识。
function completePayment() {
// Assign client secret from PHP session variable
var clientSecret = "<?php echo $_SESSION['c_secret'] ?>";
try {
stripe.handleCardPayment(
clientSecret, cardElement, {
source_data: {
owner: {email: "<?php echo $_SESSION['m_usr_email'] ?>"}
}
}
).then(function(result) {
if (result.error) {
alert("Error in payment");
} else {
alert("Success in payment");
}
});
}
catch(error) {
console.log(error.message);
}
}
我的付款意图是在单独的PHP页面上创建的。这样可以正常工作,并且会在条带中创建带有关联的客户机密的付款意图。
该应用当前的运行方式:
cardElement是在创建card元素时创建的全局Javascript变量(在初始页面加载时创建)。
我已经调试了两个PHP SESSION变量,并确认在handleCardPayment函数中使用它们之前,已经为它们设置了正确的信息。
关于我在这里做错什么的任何建议吗?
答案 0 :(得分:0)
我有同样的问题。看起来它未执行的功能是因为控制台日志未出现,但是搜索后我发现我缺少$ intent-> client_secret,在此之前,js控制台未向我显示任何内容,我只需要调用功能条。 handleCardPayment没有任何额外的代码,然后控制台向我显示$ intent-> client_secret,它是未定义的。
我的英语说得不太好,我希望它能为某人服务