【问题标题】:How to integrate and test PayPal in an MVC4 website: do I really need to expose my dev environment?如何在 MVC4 网站中集成和测试 PayPal:我真的需要公开我的开发环境吗?
【发布时间】:2014-11-16 17:28:24
【问题描述】:

我在这里阅读了很多关于 PayPal 的问题,以及网上很多不同的页面,但我很困惑。我找到了一些不同类型的付款的例子,但很多都已经很老了,我不确定它们的相关性,因为我被告知最近发生了变化。不幸的是,开发人员/沙盒 PayPal 网站上似乎没有任何有用的示例或文档,或者我就是找不到它们!

我想知道是否有人可以向我指出一些好的示例、文档或教程,它们可以帮助我解决以下问题:

我是否认为如果我希望对 PayPal 交易进行任何后处理,即更新我的数据库中的交易(成功等),我需要使用 IPN/PDT 并且使用这些我需要向 PayPal 公开监听器吗?

如果这是真的,我对这么多开发人员可以使用这个系统感到困惑,因为我真的无法想象将我的开发/测试环境暴露给外部世界以进行测试和调试。我什至在 asp.net 网站上观看了一个视频,该视频就是这样做的 http://www.asp.net/mvc/videos/mvc-1/aspnet-mvc-storefront/aspnet-mvc-storefront-part-22-restructuring-rerouting-and-paypal 这不是我在工作环境中真正可以考虑的事情。

当我指定 IPN 的 url 时,我还在努力寻找任何文档或示例来说明实际返回给我的内容。目前我假设它类似于myurl.com/?item=blah&item1=blah&item2=foo 等,但在我能找到的任何地方都没有指定。返回的项目也没有指定。目前我假设我可以将这些项目作为表单数据访问,但没有这样的示例(除了上面视频中的 MVC1 示例)。

我也认为我需要使用 IPN,因为如果用户使用信用卡然后没有点击返回卖家网站按钮,PDT 甚至可能无法返回。这是真的吗?

我想要做的就是在我的网页上放置一个按钮,这将允许用户支付年度订阅费用。我想将一个唯一的交易 ID 传递给 PayPal,他们将返回给我,说明成功或失败。然后我将更新我的数据库,以便用户收到他们的订阅。

当我为 SagePay(我们目前的提供商 - 我们只是为了能够在没有不同货币银行账户的情况下进行国际支付)做这件事时,我曾认为这样做已经够糟糕了,但 PayPal 似乎更糟糕.对于 SagePay,我只需将提交的 URL 从测试更改为实时。很简单,他们给我发回了一个加密的回复,实际上有关于回复内容的文档。

我真的希望我只是在这里搞错了,并且有一种明智的方法可以将 PayPal 集成到我的网站中。目前,我似乎必须在我当前的实时服务上设置一个 PayPal 可以访问的 URL,然后调试实时服务器以准确查看我收到的内容并调试我的代码。这似乎非常错误。

非常感谢您的帮助!

【问题讨论】:

    标签: c# asp.net-mvc-4 paypal paypal-ipn


    【解决方案1】:

    在使您能够进行测试方面,PayPal 实际上比大多数人都好。有一个完整的测试沙盒解决方案 (support document),在添加/编辑您的 REST API 应用程序时,您可以单击“应用重定向 URL”旁边的“编辑”链接,并指定测试 URL 和用于生产的实时 URL。这应该为您提供在本地测试所需的一切,而不会将您的网站暴露给外界。

    如果它最终让你无法使用 localhost,总有像 localtest.me 这样的服务可以让你绕过它。

    【讨论】:

      【解决方案2】:

      您确实需要查看Paypal的官方网站:https://developer.paypal.com/webapps/developer/docs/classic/products/instant-payment-notification/ 他们有非常详细的解释。一步一步按照他们的指示进行。当你真正遇到问题时提出问题。

      我以前使用过的另一个网站是:http://www.codeproject.com/Tips/84538/Setting-up-PayPal-Instant-Payment-Notification-IPN

      对于您的问题: “我需要向 PayPal 公开听众吗?” 是的,你需要。 Paypal 也有这部分的 C# 教程。

      “PDT 甚至可能不会被传回” 可能是。但 IPN 也有错失机会。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-27
        • 1970-01-01
        • 1970-01-01
        • 2020-07-10
        • 1970-01-01
        • 2016-07-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多