支持Plone中的即时支付通知。
项目描述
一个Plone插件包,作为支持不同即时支付通知提供商(如PayPal、JVZoo、Click2Sell等)的基础。
子包
你可能不想单独使用此包,而是使用其子包之一。
工作原理
此包作为niteoweb.ipn.*包的基础层。它提供了这些子包必须重复的代码。
创建新成员。
更新现有成员。
禁用现有成员。
触发事件,您的项目代码可以捕获并在其上执行自定义任务。
以下信息作为成员属性存储以供以后使用
- product_id
购买项目的IPN提供商的产品ID。
- affiliate
推荐买家的联盟。
- valid_to
成员订阅有效的日期。
- history
对成员采取的行动的历史。对以后的分析很有用。
假设
电子邮件用作用户名。
“禁用”成员意味着撤销她的成员角色,并将她放入禁用组,同时从所有其他组中移除。
“启用”成员意味着创建一个新成员(如果她尚未存在),授予她成员角色(如果她尚未拥有)并添加到产品组。
“产品组”是一个包含已购买相同产品的成员的组。产品组ID等于产品ID——这是它们相互关联的方式。
当niteoweb.ipn.core创建一个新的成员对象时,不会发送注册电子邮件。您的第三方代码应负责此操作(例如,通过订阅PAS发出的IPrincipalCreatedEvent)。
每当启用一个成员时,都会在成员对象上设置一个“valid_to”属性,表示该成员可以使用该站点的截止日期。然后您需要设置一个cronjob,每天调用@@validity视图,以禁用那些有效期已过的成员。在plone.app.registry控制面板中,您可以设置一个需要作为请求参数传递到@@validity视图的密钥。
安装
您可能不想直接安装niteoweb.ipn.core,而是使用niteoweb.ipn.*子包中的一个。
变更日志
1.5.4 (未发布)
尚未有任何更改。
1.5.3 (2014-03-07)
向enable_member方法添加可选的note参数。[matejc]
1.5.2 (2014-01-26)
修复另一个包括CHANGELOG.rst到发布的错误。[zupo]
1.5.1 (2014-01-26)
将.rst文件包含在发布中。[zupo]
1.5 (2014-01-26)
也为已存在的成员设置product_id。[zupo]
1.4 (2013-10-07)
@@validity视图在繁忙站点上引发ConflictError,通过在禁用每个用户后提交事务来解决。[Matej Cotman]
1.3 (2013-01-08)
使用当前用户的用户名作为日志条目的前缀。[zupo]
1.2 (2013-01-05)
product_id参数在disable_member中不一定总是需要,因此不要使其成为必需。[zupo]
@@validity视图现在支持dry-run模式。[zupo]
@@validity视图现在将处理结果打印到浏览器。[zupo]
更好的valid_to默认值。[zupo]
1.1 (2013-01-02)
使用ipn_作为产品组ID的前缀。[zupo]
1.0 (2012-12-27)
初始发布。[zupo]
许可(3条款BSD)
版权(c)2013,NiteoWeb Ltd.。保留所有权利。
在满足以下条件的情况下,允许以源代码和二进制形式重新分发和使用,无论是否修改:
源代码的重新分发必须保留上述版权声明、本条件列表和以下免责声明。
二进制形式的重新分发必须复制上述版权声明、本条件列表和以下免责声明在随分发的文档和其他材料中。
NiteoWeb Ltd.的名称或其贡献者的名称不得用于认可或推广源自本软件的产品,除非事先获得书面许可。
本软件由版权所有者和贡献者“按原样”提供,并且任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证均予以放弃。在任何情况下,NITEOWEB LTD.均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,无论此类损害是由于何种原因造成的,无论是在合同、严格责任或侵权(包括疏忽或其他)理论中,即使已被告知此类损害的可能性。