在不使用 PayPal 按钮的情况下将 PayPal .NET SDK 集成到网站中
Posted
技术标签:
【中文标题】在不使用 PayPal 按钮的情况下将 PayPal .NET SDK 集成到网站中【英文标题】:Integrating PayPal .NET SDK into website without using PayPal button 【发布时间】:2017-04-04 07:16:11 【问题描述】:我们按照以下方式实现了上述内容:
我们正在将PayPal .NET SDK 与公共网站集成,而无需使用 PayPal 的内置按钮(立即购买等)。流程如下:
-
用户单击一个常规 ASP.NET MVC 按钮,该按钮调用一个 Action 方法,该方法创建一个具有所有必要属性集(交易、网址、金额、数量等)的支付对象。
上述操作方法调用必要的 PayPal .NET SDK API,连接到显示自己的用户登录页面的 PayPal,验证显示的金额,通过单击提交按钮进行批准
PayPal - 在批准后 - 将响应发送回我们执行一些后台任务的地方,如果一切正常,我们的“付款成功”页面就会显示出来。
注意:我们的代码也使用了 PayPal 的 Webhook 功能。
问题:我们已经在 PayPal 的 SandBox 上测试了上述过程,它运行良好。我们是否缺少某些东西和/或 PayPal 的内置按钮(“立即购买”等)是必要的?该应用程序用于一次销售一件商品(数字下载)。
【问题讨论】:
您是否使用正确的密钥来验证您的请求? @ZamronyP.Juhara 是的,我愿意。在他们的示例项目here 中,他们使用配置类来获取var apiContext = PayPalConfiguration.GetAPIContext();
等。例如:string accessToken = new OAuthTokenCredential (ClientId, ClientSecret, GetConfig()).GetAccessToken();
。在asspsettings.json
中,我们设置了clientId、clientSecret 等。我将APIContext
对象传递给authenticate
调用并发送一个唯一的请求ID(确保幂等性)。如果您没有显式传递一个请求 ID,SDK 会生成一个请求 ID。你指的是这个吗?
【参考方案1】:
根据 PayPal documentation ,这些按钮只是默认的和最稳定的流程。
PayPal Checkout 为您的买家提供简化且安全的结账体验,让他们在整个付款过程中始终访问您的网站或移动应用程序。
但在现实世界中,“PayPal 智能支付按钮”似乎只是在您的网站中实现 PayPal 行为的最直接的方式。此外,大多数最大的 PayPal 客户(如 Netflix、Google play 或 Spotify)都不使用它们。大多数情况下,它们会为自己的按钮提供额外的逻辑。
所以,我想避免使用 PayPal 默认的“推荐”按钮并没有错。只需确保您的端到端付款流程正常运行即可。
【讨论】:
以上是关于在不使用 PayPal 按钮的情况下将 PayPal .NET SDK 集成到网站中的主要内容,如果未能解决你的问题,请参考以下文章
如何在不声明 32 个插槽的情况下将 32 个按钮的 press() 信号连接到单个函数?
如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN