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 实施的主要内容,如果未能解决你的问题,请参考以下文章
我尝试在本地将“srmklive/paypal”:“〜1.0”实施到我的laravel项目中,在测试实施时,我在下面遇到错误