我正在为新的授权流程更新网站的amazonpay实施,该流程已成功完成。但是,我发现在此过程的早期,钱包小部件无法正常工作。
运输和钱包小部件都呈现,但是滚动钱包以选择其他付款方式(并测试授权过程的其他结果)无效。
具体地说,当我单击向右箭头以显示下一个方法时,唯一的变化是显示向左箭头,在此过程中,显示或结果没有任何变化。
由于所有这些都是在Amazon生成的脚本中进行的,因此我无所适从如何研究未修改版本的网站中也存在的问题。
首先设置客户端ID,然后包括Amazon库:
<script type="text/javascript" src="https://static-eu.payments-amazon.com/OffAmazonPayments/gbp/sandbox/lpa/js/Widgets.js"></script>
<script type="text/javascript" src="https://static-eu.payments-amazon.com/v2/login.js" id="OffAmazonPaymentsLoginJS"></script>
和小部件本身:
<script>
new OffAmazonPayments.Widgets.AddressBook({
sellerId: '..........',
onOrderReferenceCreate: function(orderReference) {
window.AmazonOfflineData = window.AmazonOfflineData || {};
window.AmazonOfflineData['AmazonOrderReferenceId'] = orderReference.getAmazonOrderReferenceId();
},
onAddressSelect: function(orderReference) {
if ( typeof checkout_cbai_address_change == 'function' ) checkout_cbai_address_change();
if ( !window.OffAmazonPaymentsWalletRendered ) {
new OffAmazonPayments.Widgets.Wallet({
sellerId: '.........',
onPaymentSelect: function (orderReference) {
if (typeof checkout_cbai_payment_change == 'function') checkout_cbai_payment_change();
},
design: {
designMode: 'responsive'
},
onError: function (error) {
console.log(error.getErrorCode() + ' ' + error.getErrorMessage());
}
}).bind("AmazonWalletWidget");
window.OffAmazonPaymentsWalletRendered = true;
}
},
design: {
designMode: 'responsive'
},
onError: function(error) {
console.log(error.getErrorCode() + ' ' + error.getErrorMessage());
}
}).bind("AmazonAddressWidget");
</script>
谢谢!
答案 0 :(得分:0)
这可能是您的样式定义引起的问题。小部件下方的箭头用于在小部件下方通常显示的地址上盘旋,请参见下面以红色标记的部分。
您可能正在使用sty定义,该定义已将小部件缩小到不再可见地址的高度,因此箭头似乎无能为力。
最佳样式定义在integration guide中说明:
onDestroy
您可能还想将您的实现与上面的集成指南中的代码示例进行比较。您的代码中有几处看起来确实有些奇怪,尤其是onAddressSelect回调内部的部分。也不需要引用login.js。