Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 亚马逊支付:验证成功,钱包显示失败_Javascript_Amazon Pay - Fatal编程技术网

Javascript 亚马逊支付:验证成功,钱包显示失败

Javascript 亚马逊支付:验证成功,钱包显示失败,javascript,amazon-pay,Javascript,Amazon Pay,我正在尝试将亚马逊支付(仅支付,不使用亚马逊登录)集成到我的网站中 我可以成功显示付款的身份验证表单: <div id="AmazonPayButton" /> @{ var callbackurl = string.Format("{0}://{1}/Account/AmazonConfirm", Request.Url.Scheme, Request.Url.Authority); } &

我正在尝试将亚马逊支付(仅支付,不使用亚马逊登录)集成到我的网站中

我可以成功显示付款的身份验证表单:

<div id="AmazonPayButton" />
          @{
              var callbackurl = string.Format("{0}://{1}/Account/AmazonConfirm", Request.Url.Scheme, Request.Url.Authority);
           }
           <script type="text/javascript">
               OffAmazonPayments.Button("AmazonPayButton", "M_MYSELLERID_1234567", {
                   type: "PwA",
                   size: "medium",
                   authorization: function() {
                      loginOptions =
                           {scope: "payments:widget", popup: true };
                      authRequest = amazon.Login.authorize(loginOptions, "@(callbackurl)");
                   },
                   onError: function(error) {
                        alert('We could not connect to Amazon to process your payment, try again later');
                   }
              });
      </script>
</div>

@{
var callbackurl=string.Format(“{0}://{1}/Account/amazonfirm”,Request.Url.Scheme,Request.Url.Authority);
}
OffAmazonPayments.Button(“AmazonPayButton”,“M_MYSELLERID_1234567”{
类型:“PwA”,
尺码:“中等”,
授权:函数(){
登录选项=
{范围:“付款:小部件”,弹出窗口:true};
authRequest=amazon.Login.authorize(loginOptions,@(callbackurl)”;
},
onError:函数(错误){
警报(“我们无法连接到Amazon以处理您的付款,请稍后再试”);
}
});
验证后,Amazon成功重定向到我的回调URL。但是,当我尝试显示具有相同卖家ID的钱包小部件时,会出现“无效卖家ID”错误:


新的OffAmazonPayments.Widgets.Wallet({
sellerId:“M_MYSELLERID_1234567”,
onReady:功能(计费协议){
var billingAgreementId=billingAgreement.getAmazonBillingAgreementId();
},
协议类型:'BillingAgreement',
设计:{
大小:{宽度:'400px',高度:'260px'}
},
onPaymentSelect:功能(计费协议){
//将此代码替换为要执行的操作
//选择付款方式后。
},
onError:函数(错误){
警报(error.getErrorMessage());
}
}).bind(“walletWidgetDiv”);

为什么认证有效,但钱包显示却被拒绝

更新@Brent Douglas在他的回答中触发我重新检查我的卖家ID,我在一个脚本引用中指定了一个不正确的ID。现在我得到以下错误:

“卖方ID未处于执行请求的适当状态”


不知道那是什么意思。我检查了我的帐户,指定了存款/银行信息,在集成设置页面上未标记任何其他信息。帐户中是否还有其他需要添加/验证的内容?(除了典型的网页URL和其他信息)

您需要登录卖家中央帐户,确保在顶部的下拉列表中选择“Amazon Payments Advanced”,单击右上角的“设置”,然后单击“集成设置”。在此页面上,您将看到“您的商户ID”。这是您的卖家ID。在任何地方都用此卖家ID替换M_MYSELLERID_1234567

假设您使用的是正确的卖家ID,您还需要确保在显示钱包小部件的handle登录页面中包含以下内容

<!-- since you are using 'popup' -->
<script type='text/javascript'>
    window.onAmazonLoginReady = function () {
        amazon.Login.setClientId('[YOUR_CLIENT_ID]');
        amazon.Login.setUseCookie(true);
    };
</script>

window.onamazonloginrady=函数(){
amazon.Login.setClientId(“[YOUR_CLIENT_ID]”);
amazon.Login.setUseCookie(true);
};
然后需要包含Widgets.js文件

对于沙盒模式,您将使用此选项

<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/sandbox/js/Widgets.js'></script>
<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js'></script>

对于生产,你会使用这个

<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/sandbox/js/Widgets.js'></script>
<script src='https://static-na.payments-amazon.com/OffAmazonPayments/us/js/Widgets.js'></script>

我用同样的错误到处搜索,找到了这个

这意味着“你需要在亚马逊支付中使用沙箱凭证。”


检查此项

查看钱包选项卡上的。。。你在哪里定义了顶部零件?还有。。。到目前为止,这比我在网上找到的任何地方都要详细。有时错误并不准确,也可能是其他信息丢失。你在沙盒中吗?@glowy.penguin我确实定义了该部分,只是忽略了它,将重新检查你的文档linked@Abkarino是的,在沙盒模式下,我想他只是为了隐藏他的个人信息!!事实上,他说对了一半,我使用了错误的卖家ID。我按照集成设置的说明进行了操作,现在我使用了该页面上的“商户ID”。我现在收到一个不同的错误,所以我更新了问题。这通常意味着你的帐户有问题。在卖家中心点击“设置”>“账户信息”。在“产品状态”部分,它应该告诉您需要更正的内容。它说“不活动。您只能在沙箱环境中进行交易。请参考您的帐户验证状态或联系卖家支持。”但我处于沙箱模式进行测试,它不应该工作吗?跟进:所以有两个问题1)一个脚本链接我包含了错误的卖家ID 2)“无效帐户状态”问题是一个错误的剪切和粘贴,我使用的是生产脚本URL而不是沙箱。感谢您的帮助我正在使用一个沙盒帐户,我将创建另一个测试用户,以确保创建了一个新的测试买家帐户,并且我遇到了相同的错误。我认为您应该尝试从头开始一步一步地阅读指南,或者使用示例代码进行测试,以便您了解问题的来源。我从逐步指南开始。如果你看我的代码,它是从亚马逊支付-自动支付部分剪切粘贴的