Paypal .Net SDK 实施

Posted

技术标签:

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

尊敬的 *** 社区, 我们已经开始在我们的项目中实现 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 报告任何交易。

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

谢谢!

【问题讨论】:

【参考方案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返回的对象中

以上是关于Paypal .Net SDK 实施的主要内容,如果未能解决你的问题,请参考以下文章

没有信用卡管理的 Paypal ASP.NET

如何使用 PayPal-iOS-SDK?

Paypal - 尝试实施定期付款时的付款问题

我尝试在本地将“srmklive/paypal”:“〜1.0”实施到我的laravel项目中,在测试实施时,我在下面遇到错误

Paypal - IOS SDK - 商业账户/个体户

Paypal Marketplace 平台 - 如何实施合作伙伴费用?