繁体   English   中英

ASP.NET MVC C#PayPal Rest API-UNAUTHORIZED_PAYMENT

[英]ASP.NET MVC C# PayPal Rest API - UNAUTHORIZED_PAYMENT

我正在尝试将Paypal Rest API集成到我的Web应用程序中。 在浏览了所有可用资源之后,我陷入了困境。

我在这里使用Paypal Rest API示例: GitHub-PayPal-DotNet-Sample

我将nuget更新为最新的sdk版本,并用自己的活动密钥替换了cliendId和secret。

现在我的问题是,总是选择“ credit_card”,得到401错误响应:

{“名称”:“ UNAUTHORIZED_PAYMENT”,“消息”:“未经授权的付款”,“ information_link”:“ https://developer.paypal.com/webapps/developer/docs/api/#UNAUTHORIZED_PAYMENT ”,“ debug_id”:“ 1d25a990be5db“}

我将货币设置为“ CHF”(应用程序在瑞士运行),并将金额设置为“ 0.05”以进行测试。 我还检索了有效的访问令牌!

尝试过各种信用卡,有些属于我的商人帐户,有些不属于我,仍然是同样的错误。

使用“贝宝”选项似乎可行,但是我想直接在应用程序中提供信用卡。

瑞士没有什么东西吗? 对这个问题有什么建议吗? 我有事吗

提前致谢!

样例代码:

        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;

按照这种方式,仅美国,英国支持直接卡付款(请参阅页面以了解英国的更多要求)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM