django - 使用Django商户异地处理功能消除经常性付款

标签 django paypal payment recurring-billing

因此,我尝试使用django-merchant进行异地处理来向我的在线游戏添加付款。如果我理解正确,这是处理不安全网站的正确且安全的方法(在非现场处理付款可让服务提供商(即PayPal)处理所有安全问题)。

至少使用Paypal,我已经可以处理常规付款了,我想我已经找到了开始定期付款的方法,但是我找不到有关如何取消定期付款的任何帮助:我可以安全地使用网关吗?还是有其他方法,而不必在我的服务器上遵守现场处理所需的所有混乱规定?

如果我听起来很困惑,那是因为我很抱歉

在此先感谢您的帮助!

最佳答案

为了简化一个复杂的主题(支付安全和监管),希望不要丢下任何关键位:

商家通常会受到“打击”的最大规章是PCI要求,这是来自卡网络的有关如何处理卡信息以保护那些网络和持卡人账户的完整性的要求。

避免这些要求的最简单方法是确保“您”(您的代码,您的网站,您的管理员等)绝对不要触摸(查看,转让,存储)卡号或“高价值代币”(可以转换为卡号或完全替代卡号的东西)。加密的卡号是高价值的令牌。如果可以使用“句柄”或“帐户”或任何从卡处理器处调用的名称(例如,条纹,脑树,网络资源),则该卡是高价值的代币,可用于再次对卡进行任意充值(基本上是为了完成卡号可以做的所有事情)做)。

从技术上讲,在信用卡网络中,PayPal电子邮件和密码(或PIN)不是“高价值令牌”,因为它们可以访问PayPal帐户(而不是卡),但同样危险(如果不是这样),并且贝宝自己的PCI法规等同规定您也永远不能触摸该信息。因此,尽管PayPal登录不受PCI约束,但请以同样的方式考虑。

因此,避免这种泥潭的最简单方法是永远不要触摸类似的东西,而要让钱出现在您的帐户中。您可以触摸金钱:-)。

但这不允许汇款/经常性付款等。因此有时这还不够。

幸运的是,某种有限的代币几乎没有危险,因此不受与“高价值”代币相同的审查。什么是有限令牌?这是一个令牌,不能用于对源帐户进行任意收费(并且不能交换或转换为基础卡号)。

受限令牌可以用于向帐户收费,但仅需遵守特定条件,通常仅包括支付给特定商家(您)的费用,并且可能还存在其他限制,例如费用总额和/或时间段。

一些例子:


许多处理器允许您使用交易ID进行后续交易,包括向客户收取额外费用。但是,由于以这种方式限制了使用,因此持有交易ID不会使您受到PCI(或等效证书)的约束。
来自PayPal或其他付款提供商的重复付款“计费协议”或“订购协议”,交易相同:多次付款,但性质有限;没有PCI。


无论如何:允许您接收的任何令牌也都可以维护。因此,如果您可以设置定期付款协议,则还可以存储该协议令牌,以便取消该令牌(并执行令牌支持的其他任何操作,例如重新计费,调整条款等)。

简要说明另外两个注意事项:

1)诱人的说法是,只要您拥有“令牌”而不是卡号(或PayPal帐户凭据),就可以不受PCI法规的约束。这不是真的!提防高价值代币,这些代币理论上可以交换卡号或以完全等效的方式使用。确保您的令牌数量有限,以符合法规要求以及您和客户的安全。您不希望成为下一个(小型)目标卡违规源。如果黑帽破解网站的动机不强,只要其中包含的所有令牌只能用于扩展他人对您游戏的订阅。但是,如果您有信用卡,请继续游戏。

2)即使PCI不适用,您仍应遵循最佳实践来保护客户。请特别注意两个攻击媒介:

首先,您的付款整合。您的客户可能会在此过程中的某处输入敏感内容(卡号,登录名等)。如果您的网站关闭是一个很好的开始,并且可以帮助PCI ...,但是如果重定向到PayPal的页面遭到黑客入侵并将您的客户重定向到虚假的PayPal网站,您的企业仍然会爆炸式增长,并可能承担法律责任。或者,如果您尝试变得聪明,然后将PayPal页面放入iframe(或其他违反PayPal要求的集成机制)中,并且您的页面遭到跨站点脚本攻击的攻击,该攻击会捕获PayPal登录名或卡号。等等。

即使您从未收到付款,您也应防止的第二个攻击媒介是盗用用户帐户和登录信息。显而易见,如果您的数据库中有很多信用卡,那么您就是目标。可能不太明显,但是考虑到人们在站点之间共享密码的频率,任何带有密码的数据库对黑客都是有用的。即使没有窃取密码文件,也可以使用做得不好的登录页面来允许无限次重试,以测试电子邮件/密码组合,然后可以在其他站点上尝试该组合!甚至任何具有用户名和电子邮件地址的数据库都是有价值的,因为黑帽可以利用它来制造更具说服力的“鱼叉式网络钓鱼”攻击。

简而言之,您接触的信息(尤其是存储的信息)越少,您成为目标的人就越少,每个人都越安全,但是安全性始终是一个考虑因素。因此,请避免使用卡号(因此也请避免使用PCI),但不要就此止步:继续努力保护您的客户。

关于django - 使用Django商户异地处理功能消除经常性付款,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751187/

相关文章:

php - 从沙盒切换到 paypal live

payment-gateway - Bluesnap 市场 - 如何阻止供应商销售?

laravel - 使用 Laravel Omnipay(mollie 网关)付款

android - UPI(统一支付接口(interface))集成android

python - 将Django Python应用程序放入Docker容器后获得404错误消息

python - 导入错误: No module named celery

Paypal 快速结账订单和授权

javascript - 使用 Javascript 更改表单信息?

python - 此字段为必填错误,但字段格式为

javascript - 如何在 Javascript 中访问从 Django 应用程序发送的上下文变量