168

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

我想建立一个类似于 Paypal 的系统。现在我知道 Paypal 提供了很多功能,但我无法一次实现所有功能。我想实现 Paypal 和其他此类服务的核心功能。

所以我的问题是(更确切地说是讨论)一个人将如何构建这样一个系统。需要讨论的几点:

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

想法?

4

2 回答 2

228

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

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

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

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

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

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

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

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

Beyond that you have lots of other issues, mainly dealing with PCI-DSS. Thats a whole other topic and there are already some q&a's on this site regarding that. Like I say, its a phenomenal undertaking - most likely a multi-year project even for a reasonably sized team, but its certainly possible.

于 2010-04-16T10:54:36.123 回答
-11

大任务,您可能不应该重新发明轮子,而是使用现有的轮子(例如贝宝)。

但是,如果你坚持要继续。从小处着手,您可以使用信用卡处理工具(Moneris、Authorize.NET)来处理信用卡。大多数提供商都有一个您可以使用的 API。请注意,您可能需要根据卡类型(Discover、Visa、Amex、Mastercard)和国家(美国、加拿大、英国)使用不同的提供商。因此,构建它以便您可以与多个信用卡处理 API 进行通信。

如果您要存储信用卡和付款详细信息,安全性至关重要。确保您正确加密事物。

同样,不要重新发明轮子。您最好使用现有的提供商,并将您的开发注意力集中在解决不容易购买的问题上。

于 2010-04-15T18:16:48.153 回答