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 Sandbox API 端点返回 503“内部服务错误”错误