我今天注意到我的链接通常会弹出一个用于数字商品快递支付的贝宝灯箱的链接已经停止工作。该链接最近在 2012/11/21 工作,我检查了包含旧代码(曾经工作)的服务器上是否存在问题,所以我不认为这是我已经改变的东西,而是paypal在他们的js文件中改变了一些东西。
我使用的代码正是 paypal 向导生成的代码:
<!-- INFO: The post URL "checkout.java" is invoked when clicked on "Pay with PayPal" button.-->
<form action='checkout.java' METHOD='POST'>
<input type='image' name='paypal_submit' id='paypal_submit' src='https://www.paypal.com/en_US/i/btn/btn_dg_pay_w_paypal.gif' border='0' align='top' alt='Pay with PayPal'/>
</form>
....
<!-- Add Digital goods in-context experience. Ensure that this script is added before the closing of html body tag -->
<script src='https://www.paypalobjects.com/js/external/dg.js' type='text/javascript'></script>
<script>
var dg = new PAYPAL.apps.DGFlow(
{
trigger: 'paypal_submit',
expType: 'instant'
//PayPal will decide the experience type for the buyer based on his/her 'Remember me on your computer' option.
});
</script>
首先,当页面现在加载时,看起来名为“nameOnButton”的图像上有一些噪音(“图像”包含文本“su yi”和一些空框),PP javascript 必须插入,因为它不是在我生成的 HTML 中。网络上的各种示例也有这种虚假图像。HTML 看起来像:
<form action="/pay/dpSetCheckout/" method="GET" target="PPDGFrame">
<input type="hidden" name="express">
<input type="hidden" name="trackingNumber" value="UNg0000306">
<span class="nameOnButton"><a href="javascript:"><img src="https://www.paypal.com/webapps/checkout/nameOnButton.gif"></a><br><input type="image" name="paypal_submit" id="paypal_submit" src="https://www.paypal.com/en_US/i/btn/btn_dg_pay_w_paypal.gif" border="0" align="top" alt="Pay with PayPal"></span>
</form>
...
<script>
$(document).ready(function(){
var dg = new PAYPAL.apps.DGFlow({
trigger: 'paypal_submit',
expType: 'instant'
//PayPal will decide the experience type for the buyer based on his/her 'Remember me on your computer' option.
});
});
</script>
当我单击“使用贝宝付款”按钮时,屏幕“变为灰色”,但从未出现贝宝弹出窗口。大约 5 秒后,错误消息“拒绝显示文档,因为 X-Frame-Options 禁止显示。” 出现在 javascript 控制台中,很可能是因为未创建灯箱。我不认为这是后端/配置问题,因为如果我在新选项卡中打开“使用贝宝付款”链接,它会正常打开。
我不太确定从哪里开始调试它(看到没有任何 javascript 错误消息)。