如何将 PayPal Express Checkout 与 ASP.NET 网页站点(“Razor”)集成

Posted

技术标签:

【中文标题】如何将 PayPal Express Checkout 与 ASP.NET 网页站点(“Razor”)集成【英文标题】:How to integrate PayPal Express Checkout with ASP.NET Web Pages site ("Razor") 【发布时间】:2014-07-18 16:18:03 【问题描述】:

我有一个需要与 PayPal Express Checkout 集成的 ASP.NET Razor / Web Pages 站点。 编辑:这种集成需要的不仅仅是一个简单的 PayPal 生成的按钮,例如,我需要动态设置价格、商品描述、税收等。

我对网页和 PayPal 集成都很陌生,所以想问一下首选方法是什么。

到目前为止,我发现有以下选项:

    使用PayPal Helper for WebMatrix 只需阅读 PayPal 规范并创建一个包含隐藏字段等的表单。 使用一些NuGet packages from PayPal 在一些自定义代码中激发灵感,例如 this one

没有。 1 可能是一些过时的代码(发布日期和最近的评论都表明),不。 2肯定会工作,但我会独自一人,我希望不会。 3 将是最好的答案,但有很多这样的 NuGet 包,我还没有找到任何好的例子,如果没有其他工作,4 是一个选项。

有什么建议吗?目标是有一个简单的表单,在它下面是我自定义的“立即付款”按钮(最好;也可以是 PayPal 提供的按钮),当用户点击它时,网站应该将他重定向到 PayPal,处理付款通知/批准等等

【问题讨论】:

【参考方案1】:

您唯一的选择是从 asp.net 网页调用 rest api。

rest api 的源码可以在以下地方找到。

https://github.com/paypal/rest-api-sdk-dotnet

http://paypal.github.io/sdk/

【讨论】:

该示例链接自原始问题 :) 虽然它是 MVC;会欣赏网页中的示例。 我能看到的唯一选项是 Paypal rest api 查看我编辑的问题 为什么它是唯一的选择?从技术上讲,我仍然可以使用 Classic API,不是吗? 你有一些端到端示例的链接吗? 不,不幸的是没有示例链接!!【参考方案2】:

博雷克,

如果您只想使用 PayPal Express Checkout,最简单的方法是创建一个 PayPal“立即购买”按钮。您无需编写任何代码。

您可以在https://developer.paypal.com/docs/classic/paypal-payments-standard/ht_create-pps-buttons/ 找到操作方法,但基本步骤如下:

    在 PayPal 中创建按钮。 复制 PayPal 中的按钮代码。 将其粘贴到您的网站/电子邮件中。

希望有帮助!

【讨论】:

是的,对不起,我应该提到我需要的不止这些,例如,我需要根据订阅级别等动态设置价格和描述。将更新问题。 【参考方案3】:

我知道这个问题很老了,但是如果您正在寻找 PayPal 提供的支持 Express Checkout 的 SDK,那么您有以下两种选择:

    PayPal .NET SDK

    此 SDK(以前称为“RestApiSdk”)基于较新的 PayPal REST APIs 构建,并通过 Payments API 提供对 Express Checkout 的支持。所有 API 调用都使用 OAuth 令牌来保证安全性,并且调用(和相关代码)比其经典对应物要干净一些。虽然 REST 服务的某些方面与 Classic(例如订阅)相比仍未完全达到标准,但 REST API 的支付部分大部分与 Classic 相当。今后,这是 PayPal 将投资和改进的 SDK,因此建议任何新的集成都使用此 SDK。

    最近,GitHub 上的 .NET SDK 存储库已更新为 Wiki,这有望让您更轻松地开始使用 SDK。此外,还对包含的samples project 进行了大量工作,以帮助展示如何在各种用例中使用 SDK。如果有一个用例丢失或需要更好/更多的解释,绝对不要犹豫让我知道。 :)

    PayPal Classic Merchant SDK

    Merchant SDK 已经存在了一段时间,所有类都是从 PayPal 的公开WSDL schema files 自动生成的。虽然它支持所有与 Express Checkout 相关的功能,但使用它比基于 REST 的 SDK 要麻烦一些。

    PayPal 不再积极支持商家 SDK,只会在必要时提供错误修复。因此,PayPal 不建议将此 SDK 用于新的集成。

    如果您发现您喜欢在此 SDK 中使用的功能在 REST 对应项中不可用,请在此处或在 GitHub 上告诉我。对于希望切换的用户,我们注意到的一个问题是 REST API提供通过经典调用进行的付款的付款历史详细信息。 PayPal SDK 团队目前正在研究如何将此支持添加到基于 REST 的 SDK 中,以便开发人员更轻松地进行过渡。

【讨论】:

如果您在 ASP.NET Web 表单中查看 PayPal 的最新解决方案,请查看此演示:techtolia.com/PayPal

以上是关于如何将 PayPal Express Checkout 与 ASP.NET 网页站点(“Razor”)集成的主要内容,如果未能解决你的问题,请参考以下文章

如何删除“paypal/express/review”步骤

如何将 PayPal Express Checkout 与 ASP.NET 网页站点(“Razor”)集成

如何消除 PayPal Express Checkout 以进行 Payflow 订单审查?

Magento,如何更改 PayPal/Express/Review 页面

贝宝账单协议 ID 不来

如何使用 ActiveMerchant 和 PayPal Express 跳过订单确认页面