【问题标题】:Paypal .Net SDK implementationPaypal .Net SDK 实施
【发布时间】:2021-03-01 19:41:49
【问题描述】:

尊敬的 StackOverflow 社区, 我们已经开始在我们的项目中实现 PayPal .Net SDK。

我们使用以下代码创建付款:

 var payment = Payment.Create(GetDefaultApiContext(), new Payment
        {
            intent = "sale",
            payer = new Payer
            {
                payment_method = "paypal"
            },
            transactions = new List<Transaction>
            {
                new Transaction
                {
                    description = "Test",
                    invoice_number = "009",
                    amount = new Amount
                    {
                        currency = "EUR",
                        total = "41.00",
                        details = new Details
                        {
                            tax = "0",
                            shipping = "0",
                            subtotal = "40",
                            handling_fee = "1"
                            
                        }
                    },
                    item_list = new ItemList
                    {
                        items = new List<Item>
                        {
                            new Item
                            {
                                name = "Room 12",
                                currency = "EUR",
                                price = "10",
                                quantity = "4",
                            }
                        }
                    }
                }
            },
            redirect_urls = new RedirectUrls
            {
                return_url = "https://google.de/",
                cancel_url = "https://google.de/"
            }
        });

付款也被创建并生成相应的链接。如果我们现在用我们的测试账户付款,这笔钱没有被借记,也没有任何事情发生,转发也能正常工作。但是,不会向 PayPal 报告任何交易。

如果有人能帮助我们解决这个问题,那就太好了。

谢谢!

【问题讨论】:

    标签: c# .net paypal paypal-sandbox paypal-rest-sdk


    【解决方案1】:

    在重定向回您提供的return_url 后,您应该会显示一个订单审核页面,然后当用户确认订单时,您必须执行支付执行 API 调用,这将导致 PayPal 交易。如果不执行 Execute API 调用,则不会有事务。

    不用担心从付款人账户中扣款,因为付款人账户的资金来源在沙盒中具有无限的资金。


    另请注意,您使用的 v1/payments SDK 已弃用,您应该升级到当前的 v2/checkout/orders Checkout-NET-SDK 并使用它在您的服务器上创建两条路由,一条用于“创建交易”一个用于“捕获交易”,documented here

    与您的两条新路线配对的最佳批准流程是https://developer.paypal.com/demo/checkout/#/pattern/server

    【讨论】:

    • 感谢您的快速答复,我现在已更新到 API v2,因此只有在捕获创建的交易后才能执行交易?
    • 对,交易ID会在payments->captures返回的对象中
    猜你喜欢
    • 1970-01-01
    • 2021-05-07
    • 2016-12-02
    • 2019-12-04
    • 2017-03-24
    • 2023-04-04
    • 2016-01-29
    • 2017-08-16
    • 2015-11-01
    相关资源
    最近更新 更多