401切换到实时时未经授权

时间:2015-07-17 18:38:27

标签: c# asp.net-mvc paypal

我正在尝试使用PayPal授权网络付款。我已成功将我的帐户升级到Web Payments Pro,并构建了一个在沙箱中处理良好的解决方案,以处理信用卡付款。

但是,现在我正在尝试切换到实时模式,我收到错误401 Unauthorized。

我做错了什么?

我正在使用OAuth,如下所示:

private OAuthTokenCredential ApiAccessToken
    {
        get
        {
            if (this._authToken != null)
            {
                return this._authToken;
            }

            var clientId = ConfigurationManager.AppSettings["clientId"];
            var secretToken = ConfigurationManager.AppSettings["secretToken"];
            var config = new Dictionary<string, string> { { "mode", ConfigurationManager.AppSettings["PayPalMode"] } };

            this._authToken = new OAuthTokenCredential(clientId, secretToken, config);

            return this._authToken;
        }
    }

我已将模式切换为“直播”,并验证了clientId和秘密令牌。我甚至删除了应用程序并重新创建它。还是错误

3 个答案:

答案 0 :(得分:1)

通常,该错误表示您的客户端ID和密码有问题,或者您可能正在将环境设置为apiContext中的沙箱。您还需要获得REST API直接信用卡付款的批准。您可以在未经批准的情况下在沙盒中执行此操作,但切换到实时您需要获得批准。

登录developer.paypal.com&gt;仪表板&gt;我的帐户并在“实时”列下查看。如果您看到“启用”链接,请单击该链接,它将提交您的申请以获得批准。

答案 1 :(得分:0)

将你的申请带到现场:

  1. 确保您的应用符合PayPal应用政策 和准则。
  2. 在PayPal调用中更新Sandbox API凭据 分配到现场PayPal帐户。
  3. 将您的PayPal端点从沙盒更新到PayPal生产服务器
  4. 使用PayPal注册您的申请。
  5. 如果您的应用程序使用自适应操作,请获取实时操作 的AppID。
  6. 上线!
  7. 有关它的更多详细信息,请查看Paypal https://developer.paypal.com/docs/classic/lifecycle/goingLive/

答案 2 :(得分:0)

我面临同样的问题,我通过改变

解决了这个问题
name="mode" value="sandbox"

name="mode" value="live"
<。>在.net mvc中的web.config