C# 贝宝.NETSDK的实现

C# 贝宝.NETSDK的实现,c#,.net,paypal,paypal-sandbox,paypal-rest-sdk,C#,.net,Paypal,Paypal Sandbox,Paypal Rest Sdk,亲爱的社区:, 我们已经开始在我们的项目中实现PayPal.NETSDK 我们使用以下代码创建付款: var payment = Payment.Create(GetDefaultApiContext(), new Payment { intent = "sale", payer = new Payer { payment_method = "p

亲爱的社区:, 我们已经开始在我们的项目中实现PayPal.NETSDK

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

 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/"
            }
        });
var payment=payment.Create(GetDefaultApiContext(),新付款
{
intent=“销售”,
付款人=新付款人
{
付款方式=“贝宝”
},
事务=新列表
{
新交易
{
description=“测试”,
发票编号=“009”,
金额=新金额
{
货币=“欧元”,
total=“41.00”,
详细信息=新的详细信息
{
tax=“0”,
shipping=“0”,
小计=“40”,
手续费=“1”
}
},
项目列表=新项目列表
{
项目=新列表
{
新项目
{
name=“12号房间”,
货币=“欧元”,
price=“10”,
数量=“4”,
}
}
}
}
},
重定向\u URL=新的重定向URL
{
返回url=”https://google.de/",
取消url=”https://google.de/"
}
});
还将创建付款,并生成相应的链接。如果我们现在用我们的测试帐户付款,钱就不会被借记,也不会发生更多的事情,转发也会正常工作。但是,没有向PayPal报告任何交易

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


谢谢大家!

在重定向回您提供的
返回url
后,您需要显示订单审查页面,然后当用户确认订单时,您必须执行支付执行API调用,这将导致PayPal交易。如果不执行executeapi调用,则不会有事务

不要担心钱从付款人帐户中被借记,因为付款人帐户有资金来源,沙箱中有无限的资金


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


与您的两条新路线配对的最佳审批流是

感谢您的快速回答,我现在已更新到API v2,因此只有在捕获创建的交易后才能执行交易?对,交易ID将位于返回的payments->captures对象中