【问题标题】:How to get transaction details using transaction ID of a paypal transaction in asp.net mvc C#?如何在 asp.net mvc C# 中使用 paypal 交易的交易 ID 获取交易详情?
【发布时间】:2023-03-13 21:51:02
【问题描述】:

我们在我们的网站中集成了 paypal 支付网关,并且交易在 INR(不是美元)的沙盒帐户上运行良好。 但是付款成功后,paypal 重定向到我们的网站,并在其上附加了重定向 url 和查询字符串,例如 paymentId,token,PayerID 我们还从 c# 代码中获取了 Transaction ID。

现在我们需要获取特定交易的详细信息(如图所示),例如名称、买家、送货地址、描述、单价、数量、金额和发票 ID 等。 我如何在我们的网站上获取这些详细信息,以便在 Asp.net MVC 中开具发票。请帮忙。

【问题讨论】:

  • paypal 有一个 API。你有没有看过它是否可以返回你需要的数据?

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


【解决方案1】:

当您在 C# 代码中捕获/执行付款并接收交易 ID 时,您(在同一响应中)也已经收到交易详细信息。

详细信息__那里。在您已有的响应对象中查找它们。


更重要的是,您的集成似乎做了两件坏事:

  • 您已使用旧的 v1/payments API 进行集成,可能与已弃用的 PayPal-Net-SDK 进行了集成
  • 您使用的是重定向而不是上下文集成

解决上述问题的建议:

【讨论】:

  • 我们使用的是最新的 paypal Rest API SDK。对于交易 ID,我们正在使用此代码。 var executedPayment = ExecutePayment(apiContext, payerId, Session[guid] as string);`var trId = executedPayment.transactions[0].related_resources[0].sale.id;`私人Payment ExecutePayment(APIContext apiContext, string payerId, string paymentId) { var paymentExecution = new PaymentExecution() { payer_id = payerId }; this.payment = new Payment() { id = paymentId }; return this.payment.Execute(apiContext, paymentExecution); }
  • 您正在使用已弃用的 PayPal-Net-SDK。
  • 我们使用此 SDK 获得了除买家姓名和买家电子邮件之外的所有详细信息。上面的代码返回所有数据。你能告诉我如何获得买家姓名和电子邮件。我不知道哪个 sdk 是最新的,因为 nuget 包没有显示任何已弃用的消息。贝宝网站也引用了这个 SDK。我正在关注这个网址 [paypal.github.io/PayPal-NET-SDK/Samples/…]
  • 这里是 GitHub 存储库的链接,其中包含弃用消息以及 Checkout-NET-SDK 新存储库的链接:github.com/paypal/PayPal-NET-SDK
  • 记得阅读我上面的两个建议,其中链接到有关如何使用这个较新的 SDK 的文档...
猜你喜欢
  • 2018-12-20
  • 2021-05-30
  • 2019-10-11
  • 2014-07-20
  • 2013-12-26
  • 1970-01-01
  • 2013-06-05
  • 2016-09-12
  • 1970-01-01
相关资源
最近更新 更多