paypal - 构建一个完整的在线支付网关,如 Paypal

标签 paypal payment-gateway banking onlinebanking

<分区>


想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post .

关闭 6 年前

所以这个问题不是关于将现有的支付网关集成到我的站点中。这更像是一个架构问题。

我想建立一个类似Paypal的系统。现在我明白了 Paypal 在屋顶下提供了很多功能,我无法一次实现所有这些功能。我想实现 Paypal 和其他此类服务的核心功能。

所以我的问题是(而不是讨论)围绕如何构建这样一个系统。一些要讨论的要点:

  1. 通过现有银行处理付款。我猜我需要访问本地银行协议(protocol)才能获得此信息。
  2. 允许用户安全地存储和处理他们的付款
  3. Paypal 如何处理交易?

想法?

最佳答案

您所说的是成为支付服务提供商。我去过那里并做到了。大约 10 年前比现在容易得多,但如果您有足够的时间、金钱和耐心,仍然有可能

您需要联系收单银行。你没有说你在世界的哪个地区,但我指的不是本地的银行分行。每个主要银行通常都有一个单独的卡收单部门。所以在英国我们有(例如)Natwest银行,它使用 Streamline (或 Worldpay)作为其收购部门。总的来说,尽管我们有几十家主要银行,但它们最终都使用了大约五家收单机构中的一家。

令人高兴的是,所有英国银行卡收单机构都使用标准协议(protocol)来传达授权请求和日终结算。您会发现一些小怪癖,有些收单银行支持某些功能并且语法略有不同,但差异相当小。英国标准由 Association for Payment Clearing Services (APACS) 发布(现在称为 UKPA)。这些标准通常仍称为 APACS 30(授权)和 APACS 29(结算),但现在正式称为 APACS 70(第 1 至 7 册)。

虽然 APACS 标准在英国得到广泛支持(Amex 和 Discover 也接受这种格式的消息),但它并未在其他国家/地区使用 - 每个国家/地区都有自己的 - 例如:法国的 Carte Bancaire,意大利的 CartaSi,西类牙的 Sistema 4B、丹麦的 Dankort 等。正在努力统一整个欧洲的协议(protocol) - 参见 EPAS.org

可以通过多种方式与收单银行进行沟通。不过,这将取决于您所在的地区。在英国(和欧洲大部分地区),我们有一个通信网关可以连接所有主要收单机构,它们被称为 TNS通过它们与收单银行进行通信的方式有数十种,从拨号 9600 波特调制解调器、ISDN、HTTPS、VPN 或专线。最终授权请求会被转换为X25协议(protocol),这是这些收单行相互通信时使用的协议(protocol)。

总而言之:这完全取决于您所在的地区。

  • 联系一家主要银行并尝试接通他们的信用卡收单部门。
  • 说明您要设置为支付服务提供商,并要求提供有关授权请求和日终结算文件的通信格式的详细信息
  • 设置测试商家帐户并开发授权/结算软件并完成认证流程。大多数收单机构免费帮助您完成此过程,但当您想注册为认可的 PSP 时,有些收单机构会要求收费。
  • 您还需要遵守一些规定,例如您可能需要注册为支付机构

一旦您注册并获得认证,您就可以代表您获得认证的银行接受客户并设置商家账户(请记住,每个收单机构通常会支持多家银行)。必要时与其他收购方一起冲洗并重复。

除此之外,您还有很多其他问题,主要是处理 PCI-DSS。那是另一个话题,本网站上已经有一些关于此的问答。就像我说的,这是一项了不起的事业 - 即使对于规模合理的团队来说,这很可能是一个多年项目,但它确实有可能。

关于paypal - 构建一个完整的在线支付网关,如 Paypal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2647430/

上一篇:angular - 通过项目的可观察属性将可观察数组过滤为另一个可观察数组(另一种类型)

下一篇:paypal - 设置 PayPal 返回 URL 并使其自动返回?

相关文章:

paypal - 根据电子邮件创建付款链接

e-commerce - 将两个用户连接到信用卡以在网站上付款的最佳方式是什么?

java - 通过 VISA/Mastercard 信用卡/借记卡和 paypal 接收付款的 API

payment-gateway - 我可以为 BlueSnap 中的现有购物者手动提交另一笔付款吗?

currency - 如何在应用程序中计费

mysql - 防止MySQL中的重复输入(例如,当快速调用多次插入请求时)

standards - 什么是金融行业——标准、协议(protocol)和数据模型?

ruby-on-rails - 如何通过 activemerchant 确保付款?

php - PayPal Pro 设置错误 10548

c# - 如何在类库项目类型中使用 ConfigurationManager 类