使用flocash支付网关接口与django

djflocash的Python项目详细描述


Djflocash

Latest PyPI versionTravis status

在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实例 并将其关联到 >模型。付款< /c> >如果存在,则具有相同的 > OrthyId < /cT>。

必须在Flocash后台提供Flocash的通知URL。 默认为https://your.server.com/notification/xxxxxxx/, 其中,xxxxxxxFLOCASH_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

第一次释放。

已添加

  • 付款任务单删除
  • 从付款生成的订单
  • 通知模型
  • 带验证的通知处理
  • 待付款处理

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
关于JSP转发的java问题   强制Oracle驱动程序向java输出带有时区的时间戳。sql。使用getObject时的时间戳   Java中的配置单元UDF在创建表时失败   eclipse怀疑Java上下文加载器使用不再存在的文件   范围如何为我没有在JavaEE中编写的类定义单例对象?   java Eclipse未启动:JVM已终止。退出代码=14   仅存在于子类中的属性的java别名(Hibernate标准)   Java字符串插入错误   无法打开java@PropertySource,因为它不存在   java从多项目Maven配置生成WAR文件   java Hibernate@Lob注释不再有效:不能用几个字符串超过CLOB的总长度?   java jbutton的鼠标侦听器包含if/else循环阻塞的jvm?   java如何删除最近24小时安卓的通话记录   java Android服务+计数器不工作   java如何获取返回结果的服务器的数据,我希望将该结果更新到另一台服务器   java从javax获得“一切”是可能的。命名。初始上下文?   java Spring云门请求超时不适用于路径   java web应用程序会话缓存   java使用dialogflow的响应通过google助手打开我的应用程序   MongoDB添加createAt updatedAt字段java