使用flocash支付网关接口与django
djflocash的Python项目详细描述
Djflocash
在django中使用https://www.flocash.com/付款api的python帮助程序。
本产品不完整,欢迎投稿
Flocash是一个网关支付API 在许多非洲国家实现支付 通过信用卡,手机支付等等。
这个库提供了一些可重用的组件,可以在django应用程序中使用。
目前,它实现了重定向样式的api (不是基于webservices的)。
重要
这个程序不是一个官方的flocash库。 flocash是flocash有限公司的注册商标。
设置
在您的项目中,您可以创建自己的模型来继承基模型, 或者直接使用提议的。
在第一种情况下,您可能希望将模型连接到signals.py中定义的处理程序
对于这两种情况,请将djflocash添加到您的已安装应用程序设置中。
您必须定义一些强制设置:
FLOCASH_BASE_URL FLOCASH服务的基本URL
FLOCASH_PAYMENT_URI处理电子商务付款的URI(将urljoined到基本url)
FLOCASH_MERCHANT,FLOCASH_MERCHANT_命名您的商户帐户和显示名称
flocash_notification_token是将添加到通知url的令牌 为了让事情变得不可预知,所以这是你和flocash之间的共同秘密。 (您将在其后端设置flocash通知url)。
请注意,djflocash还使用flocash专用服务进行通知验证。
还有一个选项:
- FLOCASH_PAYMENT_MODEL是在不使用提供的模型的情况下的付款模型
使用量
这个想法是你的访问者将通过他的浏览器提交一个付款。 为此,您需要构建表单,可以使用forms.orderform, 如果通过javascript提交,可以使用to_dict方法。
您可以公开视图。NotificationReceive视图(或您自己的视图)
以获取通知(成功或取消)付款。
它创建一个模型.notification实例
并将其关联到
必须在Flocash后台提供Flocash的通知URL。 默认为https://your.server.com/notification/xxxxxxx/, 其中,xxxxxxx是FLOCASH_NOTIFICATION_TOKEN设置
因此,可能的工作流程如下:
- 您可以创建与您的访客购物篮相对应的模型.payment
- 您可以使用forms.orderform.from_payment生成相应的表单 并在访问者浏览器中渲染(使用隐藏字段)
- 访问者将表单提交到flocash并重定向到flocash支付门户 他在哪里完成交易
- flocash通过views.NotificationReceive提交付款通知, 还有一些你附加的自定义处理程序,例如post\u savesignal 使订单在您的系统中生效
- 访问者会返回到您的网站,在那里您可以告诉他他的购买是有效的
当付款响应挂起时,Djflocash跟踪付款状态 在付款或未付款通知到达之前,将其保留在等待状态 (请参见Payment.is_pending和PaymentManager.pending。 你可以利用这些信息通知你的客户, 正在进行等待付款。
Djflocash的变更日志
格式基于Keep a Changelog 这个项目试图遵守Semantic Versioning
0.1-2018-10-01
第一次释放。
已添加
- 付款任务单删除
- 从付款生成的订单
- 通知模型
- 带验证的通知处理
- 待付款处理