ASP.NET MVC C# PayPal Rest API - UNAUTHORIZED_PAYMENT
Posted
技术标签:
【中文标题】ASP.NET MVC C# PayPal Rest API - UNAUTHORIZED_PAYMENT【英文标题】: 【发布时间】:2014-03-28 04:27:26 【问题描述】:我正在尝试将 paypal rest api 集成到我的 Web 应用程序中。在挖掘了所有可用的资源之后,我被卡住了。
我正在使用此处的 paypal rest api 示例: GitHub-PayPal-DotNet-Sample
我将 nuget 更新为最新的 sdk 版本,并用我自己的实时密钥替换了 cliendId 和 secret。
现在我的问题是,我总是选择“credit_card”,我得到一个 401 错误响应:
"name": "UNAUTHORIZED_PAYMENT", "message": "未经授权的支付", "information_link": "https://developer.paypal.com/webapps/developer/docs/api/#UNAUTHORIZED_PAYMENT", “debug_id”:“1d25a990be5db”
出于测试目的,我将货币设置为“CHF”(应用程序在瑞士运行),金额设置为“0.05”。我还检索了一个有效的访问令牌!
尝试了各种信用卡,有些属于我的商家帐户有些不属于我的商家帐户,仍然是同样的错误。
使用“paypal”选项似乎可以使用,但我想直接在应用程序中提供信用卡。
瑞士没有什么东西吗?对这个问题有什么建议吗?我是不是忽略了什么?
提前致谢!
示例代码:
Payment pay = null;
Amount amount = new Amount();
amount.currency = "CHF";
amount.total = "0.05";
Transaction transaction = new Transaction();
transaction.amount = amount;
transaction.description = orderDescription;
List<Transaction> transactions = new List<Transaction>();
transactions.Add(transaction);
FundingInstrument fundingInstrument = new FundingInstrument();
CreditCardToken creditCardToken = new CreditCardToken();
creditCardToken.credit_card_id = GetSignedInUserCreditCardID(email);
fundingInstrument.credit_card_token = creditCardToken;
List<FundingInstrument> fundingInstrumentList = new List<FundingInstrument>();
fundingInstrumentList.Add(fundingInstrument);
Payer payer = new Payer();
payer.funding_instruments = fundingInstrumentList;
payer.payment_method = paymntMethod.ToString(); //credit_card
Payment pyment = new Payment();
pyment.intent = "sale";
pyment.payer = payer;
pyment.transactions = transactions;
pay = pyment.Create(AccessToken);
return pay;
【问题讨论】:
【参考方案1】:Per this 仅在美国、英国支持直接卡支付(请查看页面了解英国的更多要求)。
【讨论】:
以上是关于ASP.NET MVC C# PayPal Rest API - UNAUTHORIZED_PAYMENT的主要内容,如果未能解决你的问题,请参考以下文章
在 ASP.NET MVC 站点上集成 PayPal 的简单解决方案
在 ASP.NET MVC 站点上集成 PayPal 的简单解决方案