关于 Paypal 和经典 API

Posted

技术标签:

【中文标题】关于 Paypal 和经典 API【英文标题】:Concerning Paypal and classic API 【发布时间】:2016-11-22 14:32:27 【问题描述】:

我有几个关于 PayPal 和 Classic API 的问题。在过去的几天里,我一直在阅读和试验 1. 使用变量和 html 发布表单的单一 PayPal 付款。 2. 同上,但用于定期/订阅付款。尽管我几乎成功地完成了我想要完成的大部分工作,但我仍然有几个问题和灰色地带我想揭穿。

这里是:

    是否可以使用经典 API、HTML 表单、PayPal 变量并向 PayPal/Sandbox 发布请求并且仅使用信用卡信息,而无需登录 PayPal 或拥有 PayPal 帐户? 我从来没有成功过,并且在您点击付款按钮后,PayPal 总是会阻止,返回安全码错误消息或错误的卡/帐号等。 如果是,我如何以及在哪里可以找到 HTML/MVC-C# 的真实代码示例或演示?

    付款后,我收到一个无效的响应,没有任何反应,然后,我收到第二个 IPN 响应,这个响应已经过验证等。我真的需要回复 PayPal/Sandbox 吗?告诉他们一切都好?如果是的话,我可以看到某处的信息或代码示例/演示吗?我的观点是因为我在 IPN 上收到了很多点击,我想确保我得到正确的响应,确保我没有双重订阅等。

    某处是否有好的 MVC 或 C# IPN 代码示例?我可以阅读和分析/处理大多数可能的场景/错误/响应代码以及如何处理它们?不是复制和粘贴,而是可以适应我的代码的可靠的东西。

    李>

    我已经成功地通过 PayPal 帐户获得了对我的 IPN 的响应,我不得不使用此指令以某种方式破解安全协议 --> ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072;//SecurityProtocolType .Tls1.2; 而且我还必须使用 ngrok 来提供“有效”返回 URL。我的问题是,我是否需要在进行 PROD 时删除该指令?

非常感谢您,

市场。

【问题讨论】:

【参考方案1】:

    是的,但这是该问题被否决的原因之一。您需要注册 Payments Pro 才能使用信用卡(或者您也可以使用 REST API),然后您将使用这些特定的 API 来处理信用卡。问题是,根据您最终使用的 Pro 版本或您是否决定使用 REST,API 会有所不同,因此目前很难有人告诉您该使用什么。

    是的,您需要 POST 回 PayPal 以验证数据是否确实来自他们。通过这种方式,您可以丢弃任何潜在黑客向您的 IPN 侦听器发布垃圾的任何数据或其他类似情况。

只要您的 IPN 脚本完成并从您的服务器成功返回 200 响应,那么 PayPal 将只发送一个 IPN。如果你得到倍数,你一定是失败了,在这种情况下,你需要troubleshoot that accordingly。

    是的,PayPal 提供了大量的示例代码。这是您的问题可能被否决的另一个原因。看来您还没有花时间自己研究这些东西。转至http://developer.paypal.com,在查看 API 后,您会发现它们提供了SDKs for different languages。每个都带有示例,他们的 GitHub 存储库也包含示例。

当然,通过快速的 Google 搜索,您还可以找到大量教程和示例。

在开发者网站中,您还可以找到 Integration Wizard,它可以让您选择 C#,选择您想要的支付集成,它会为您构建所有内容,以便您了解它是如何工作的。

然后,在处理这些示例或尝试实际代码时,如果您有特定的问题/疑问,您会来到这里并使用您尝试过的代码示例发布该特定问题。那么这里的人会很乐意提供帮助。

    由于 SSLv3 中的安全漏洞,TLS 1.2 现在是几乎所有 Web 服务的标准要求。如果你有“破解”任何东西(也许是配置文件之外的东西),那么你可能在做一些不必要的事情。它只需要确保服务器上的软件堆栈不仅支持 TLS 1.2 HTTP 请求,而且默认使用它。

【讨论】:

答案 1. 我提到了Classic API的使用。但是好的,我想我必须在合适的时候去申请 PRO 帐户。我不想在我的网站上托管任何财务数据,也不想要任何 SSL 许可证。回答否 2. 好的,谢谢... 回答 3. 我去了 Github、Payapl dev、wizard 等获取代码示例,我找到了一个功能性的 IPN,但很难找到你需要的一切......一些代码示例已经用完了日期,甚至不起作用..只想找到一个完整的 IPN 示例...答案 4。我必须用 Ngrok 添加这一行代码...否则 IE 不会返回 IPN 响应... 我可以再问一个简单的问题吗?我阅读了至少 10 篇关于设置 Paypal page_style=your_style_name 变量的帖子,但是当我预览标题徽标图像时它似乎可以工作,但是当我在我的网站上尝试它时,我什么也没看到,我试图硬编码隐藏字段,删除缓存,重建ans等等,但我根本看不到我的标志!!我什至没有背景颜色,只有贝宝标题中的图像。这是我的隐藏: 我什至将其设置为主要或贝宝默认设置为主要但没有任何效果!看不到我的标志 在 PayPal 配置文件中设置自定义页面样式会更容易。您可以从那里设置颜色、横幅图像、徽标图像等,然后无论您使用哪种类型的 PayPal 结账,它都会发挥作用。 使用 Pro 时,您将需要 SSL。使用 Pro 无法解决这个问题,因为您直接通过您的站点处理卡片,因此需要对其进行加密。不过,对于大多数托管公司来说,这些费用仅为 70 美元/年。 是的。这正是我所做的。我在我的贝宝沙盒帐户(企业帐户)中配置了我的自定义页面样式,并且在预览中可以看到我的徽标(我尝试将其设置为主要而不是主要,甚至添加高级 var page_style=mystylename)。问题是当我在我的网站上运行我的页面时,它没有显示图像徽标标题?!为什么?我在我的 html paypal 变量旁边添加了隐藏的 page_style 的自定义按钮,但它也不起作用......我阅读了几次说明并按照字母的所有内容进行操作,但它没有显示徽标。我只在贝宝沙盒预览中看到它..

以上是关于关于 Paypal 和经典 API的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Adaptive Payments REST API 还是经典?

关于无法从开发者沙箱触发 Paypal REST API webhook 事件

我不断收到关于 paypal php 自适应支付 API 支付的错误“您的支付无法完成......”

PayPal 经典 api 是不是仍然有效?

将经典 PayPal api 迁移到新的客户端 REST API

Python 中的 PayPal 自适应付款转换货币请求(已弃用的 API)