亲爱的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报告任何交易。
如果有人能帮我们解决这个问题,那就太好了。
谢谢!
发布于 2020-11-18 23:02:02
在重定向回您提供的return_url之后,您需要提供一个订单审核页面,然后当用户确认订单时,您必须执行一个支付执行API调用,这将导致PayPal事务。如果不执行执行API调用,则不会有事务。
不要担心资金会从支付者账户中借记,因为支付者账户在沙箱中有无限的资金来源。
另请注意,您正在使用的v1/payments SDK已弃用,您应该升级到当前的v2/checkout/orders -NET-SDK,并使用它在服务器上创建两个路由,一个用于“创建事务”,另一个用于“捕获事务”,documented here。
与您的两个新路线配对的最佳审批流程是https://developer.paypal.com/demo/checkout/#/pattern/server
https://stackoverflow.com/questions/64894765
复制相似问题