3

我已经为亚马逊支付实现了 PHP SDK,目前我面临一个错误,当我点击亚马逊支付按钮时,将打开一个弹出窗口,询问亚马逊的登录凭据,成功登录后,它将重定向到地址簿和支付方式选择页面,在该页面上我面临这个错误,我得到的 Json 响应如下。

AmazonPay\ResponseParser Object
(
    [response] => Array
        (
            [Status] => 401
            [ResponseBody] => 


    Sender
    AccessDenied
    Access denied

  11e659e5-6413-4f49-ab38-339472490e5c


        )

)
{
    "Error": {
        "Type": "Sender",
        "Code": "AccessDenied",
        "Message": "Access denied"
    },
    "RequestID": "11e659e5-6413-4f49-ab38-339472490e5c",
    "ResponseStatus": "401"
}

因此,如果您知道此错误,请向我提出建议。提前致谢!

4

2 回答 2

2

请在 amazon pay 配置文件中设置正确的国家/地区配置设置。即,如果您的国家/地区选择基于英国的亚马逊支付沙盒仅适用于英镑和英国,如果您尝试使用其他地区或货币,那么您将收到此访问被拒绝错误。

还要交叉检查您在文件中设置的 Amazon Sandbox 凭证,并确保所有设置都是正确的。

<?php
namespace AmazonPay;

$config = array(
    'merchant_id' => 'YOUR_MERCHANT_ID',
    'access_key'  => 'YOUR_ACCESS_KEY',
    'secret_key'  => 'YOUR_SECRET_KEY',
    'client_id'   => 'YOUR_LOGIN_WITH_AMAZON_CLIENT_ID',
    'region'      => 'REGION',
    'sandbox'     => true);

$client = new Client($config);

// Also you can set the sandbox variable in the config() array of the Client class by

$client->setSandbox(true);

单击此处查看在您的网站中实施亚马逊支付支付网关的完整文档。

于 2019-11-29T06:59:30.173 回答
1

请,您需要在 amazon pay 配置文件中设置正确的国家/地区配置设置。例如,如果您在卖家中心账户注册时选择 Region is UK 并且 Currency 是 GBP,那么您必须在 amazon pay 配置文件中设置 'region' => 'uk' 和 'currency'=> 'GBP'。如果您添加不同的地区或货币详细信息,那么您将收到拒绝访问错误。

请..按照下面的代码

 <?php
namespace AmazonPay;

$config = array(
    'merchant_id' => 'YOUR_MERCHANT_ID',
    'access_key'  => 'YOUR_ACCESS_KEY',
    'secret_key'  => 'YOUR_SECRET_KEY',
    'client_id'   => 'YOUR_LOGIN_WITH_AMAZON_CLIENT_ID',
    'region'      => 'uk',   //set value here
    'currency_code' => 'GBP' //set value here
    'sandbox'     => true);

$client = new Client($config);
于 2019-11-29T07:31:15.117 回答