PayPal:创建付款时出现内部服务器错误

Posted

技术标签:

【中文标题】PayPal:创建付款时出现内部服务器错误【英文标题】:PayPal: Internal Server Error on Create Payment 【发布时间】:2016-03-12 02:48:39 【问题描述】:

我正在使用 paypal API for .NET 来创建付款。

我在控制台应用程序中的确切代码:

        // Get a reference to the config
        var config = ConfigManager.Instance.GetProperties();

        // Use OAuthTokenCredential to request an access token from PayPal
        var accessToken = new OAuthTokenCredential(config).GetAccessToken();

        var apiContext = new APIContext(accessToken);

        var p = new Payment();
        p.intent = "sale";

        p.payer = new Payer();
        p.payer.payment_method = "credit_card"; //paypal or credit_card

        var t = new Transaction();
        t.amount = new Amount();
        t.amount.currency = "GBP";
        t.amount.total = "10.00";

        t.amount.details = new Details();
        t.amount.details.subtotal = "6.00";
        t.amount.details.tax = "2.00";
        t.amount.details.shipping = "2.00";

        t.item_list = new ItemList();
        t.item_list.items = new List<Item>();

        var i1 = new Item();

        i1.quantity = "1";
        i1.name = "OBJETO TESTE";
        i1.price = "6.00";
        i1.currency = "GBP";

        i1.sku = "TESTE";

        t.item_list.items.Add(i1);

        var a = new ShippingAddress();
        a.recipient_name = "ADDRESS";
        a.line1 = "LINE1";
        a.line2 = "LINE2";
        a.city = "LONDOM";
        a.country_code = "GB";
        a.postal_code = "NW19EA";

        t.item_list.shipping_address = a;

        p.transactions = new List<Transaction>();
        p.transactions.Add(t);

        p.redirect_urls = new RedirectUrls();
        p.redirect_urls.cancel_url = string.Format("01", "http://localhost:3161/", "Order/CancelPayment");
        p.redirect_urls.return_url = string.Format("01", "http://localhost:3161/", "Order/CompletePayment");

        var payment = Payment.Create(apiContext, p);

如果我将付款方式更改为贝宝,它可以工作。如果我发送 credit_card 我会收到错误 500。

debug_id: 30e0f1bb08d3f

配置:实时

【问题讨论】:

当您使用credit_card作为付款方式时,您是否还包括funding instrument details for the credit card? 不是因为文档不符合要求 (developer.paypal.com/docs/api/#payer-object)。在我的系统上我没有这个信息,它不能在 paypal 中动态处理? credit_card 的付款方式表明您正在使用 PayPal 处理未与 PayPal 买家账户关联的信用卡交易。如果您希望 PayPal 处理买家使用绑定到其 PayPal 帐户的信用卡的交易,那么您只需使用paypal 作为付款方式。 好的。谢谢你的信息。 【参考方案1】:

英国的商家无法使用 REST API 进行直接(信用卡)付款。 您需要将您的帐户升级到 PRO 才能使用 Direct Card Payments。 只有美国商家可以在没有 PRO 帐户的情况下使用 REST API 进行直接卡支付。

【讨论】:

那个真的不知道,谢谢回复。奇怪的是返回错误代码 500(内部服务器错误)。 @CleitonAdrianoHoffmann 是的,这有点不正确的错误信息

以上是关于PayPal:创建付款时出现内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 rest api 捕获付款时发生 Paypal 内部服务器错误

在 ASP.NET Core 中从贝宝执行付款时出现 INTERNAL_SERVICE_ERROR

Paypal Rest API 内部服务器错误 500

PayPal Sandbox API 端点返回 503“内部服务错误”错误

选择“使用信用卡或借记卡付款”时出现 PayPal 订阅按钮错误

消息:尝试访问 aws gateway api 时出现“内部服务器错误”