在不使用 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 集成到网站中的主要内容,如果未能解决你的问题,请参考以下文章

paypal智能支付按钮显示问题

如何在不单击任何按钮的情况下将复选框值放入会话变量中?

如何在不声明 32 个插槽的情况下将 32 个按钮的 press() 信号连接到单个函数?

如何在不使用“立即购买”按钮的情况下为自定义购物车集成 Paypal IPN

如何在不使用库的情况下将默认名称“选择文件”更改为“选择文档”? [复制]

在不丢失默认信号参数的情况下将额外参数传递给 PyQt 插槽