O/S:BrowserStack Live
浏览器:IE11
Payment.prototype = {
pay: function (options, callback) {
let tokenTriggered = false;
_handler = StripeCheckout.configure({
key: Constants[Constants.ENV].STRIPE_KEY,
image: 'image.jpg',
locale: 'auto',
token: function token(token) {
tokenTriggered = true;
const data = {
stripeToken: token.id,
stripeEmail: token.email,
amount: options.amount,
currency: CURRENCY,
capture: options.capture
};
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: '/api/stripe',
success: function success(charge) {
callback(null, charge);
},
error: function error(error) {
callback(error.responseText);
}
});
},
closed: function () {
if (!tokenTriggered) {
// close button click behavior goes here
callback(1);
}
}
});
},
open: function (amount, name, description) {
// Open Checkout with further options:
_handler.open({
name: name,
description: description,
zipCode: true,
currency: 'aud',
amount: amount
});
}
};
**编辑:2017年3月7日**
此错误仅发生在以下情况:进行付款,导航到另一个页面,然后尝试另一个付款。
我解决了这个问题,只在站点加载时初始化一次StripeCheckout。然后,我将该功能从“stripecheckout.configure”移到“handler.open”函数中,并在需要支付时调用该函数。
init: function () {
_handler = StripeCheckout.configure({
key: Constants[Constants.ENV].STRIPE_KEY,
image: 'image.jpg',
locale: 'auto'
});
},
open: function (options, callback) {
let tokenTriggered = false;
// Open Checkout with further options:
_handler.open({
name: 'An app',
description: options.description,
zipCode: true,
currency: CURRENCY,
amount: options.amount,
token: function token(token) {
tokenTriggered = true;
const data = {
stripeToken: token.id,
stripeEmail: token.email,
amount: options.amount,
currency: CURRENCY,
capture: options.capture
};
$.ajax({
type: 'POST',
data: JSON.stringify(data),
contentType: 'application/json',
url: '/api/stripe',
success: function success(charge) {
// _instantiated = true;
callback(null, charge);
},
error: function error(error) {
callback(error.responseText);
}
});
},
closed: function () {
if (!tokenTriggered) {
// close button click behavior goes here
callback(1);
}
}
});
},
当我试图单击位于弹出菜单后面的按钮时,我收到以下错误消息。 此错误消息能够识别阻止我单击的内容的名称 我如何获得这个名称(作为一个元素),以便进行修改, 等待功能不适用,因为此弹出窗口不会消失。我试过网络驱动程序。ActionChains,但它不能解决这个问题
我正在实施贝宝结账。 我有以下javascript代码paypal.button.render({ 弹出(上图)出现时,我点击贝宝按钮,我可以填写信用卡细节等,如图像。它在沙箱所以我使用测试卡号。当我单击“立即付款”按钮时,它会显示“正在处理”,并一遍又一遍地返回到相同的表单。我现在可以在控制台或回调中看到信息 I.W希望看到我的警报 onauthorize:函数(数据,操作){
问题内容: 谷歌浏览器似乎阻止了我通过jQuery创建的弹出窗口。经过一番调查,在ajax调用成功的情况下,调用似乎是一个问题。有没有解决的办法?我的jQuery ajax调用返回要打开的URL。所以我有点卡住。 如果我将外部ajax调用置于外部,它将起作用;但是,在内部(即成功事件中)它被阻止。我认为这与上下文有关,但我不确定。 这是我所拥有的: 问题答案: 只需在成功回调中打开新窗口: 请注意
问题内容: 我知道可以检测其他浏览器是否阻止了弹出窗口的javascript技术。这是基本测试: 但这在Chrome中不起作用。阻止弹出窗口时,永远不会到达“弹出窗口被阻止”部分。 当然,该测试在一定程度上是可行的,因为Chrome实际上并没有阻止弹出窗口,而是在右下角的最小化最小窗口中打开了该窗口,其中列出了“阻止的”弹出窗口。 我想做的就是能够确定弹出窗口是否被Chrome的弹出窗口阻止程序阻
我需要在贝宝中使用部分支付,但我不知道如何在PHP中使用贝宝部分支付。在没有信用卡的情况下使用贝宝账户授权和捕获金额的过程是什么。 例如,如果我在结账时授权1000美元,第一次发货时捕获500美元,第二次发货时捕获500美元。