DJANO集成在DPS支付网关中的应用

django-dps的Python项目详细描述


Django的DPS付款处理。(几乎)完全不可知论 你的模特。默认情况下,您从不处理信用卡详细信息。把手 一次性和经常性付款。

Circle CILatest Version

用法:

您需要在settings.py:^{tt2}中添加一些项$ 以及PXPAY_KEY用于交互式付款和定期付款设置, 以及PXPOST_USERIDPXPOST_KEY用于非交互式和 定期账单。

你还需要include('dps.urls')在你的网址某处。

然后,调用此函数:

dps.transactions.make_payment(obj, request=None, attrs={})其中:

  • obj实现dps.models.BasicTransactionProtocoldps.models.FullTransactionProtocol
  • request是django请求对象或None

如果您打算进行交互式付款,例如通过重定向 用户转到dps页面,然后提供请求。(需要建造 dps重定向回的完全指定的url。)

如果requestNone,函数将尝试查找并使用 存储的计费令牌(如 dps/models.py)并进行非交互式定期付款。

  • attrs是pxpay或pxpost请求参数的字典 合并到对DPS的事务请求中。

这允许您做任何事情,真的,因为您可以覆盖默认值 参数,直接提供信用卡详细信息,指定退款 而不是购买任何dps支持的东西。

要在自己的模型上为其事务设置访问器/关系, 只需使用generirelation:

class MyModel(models.Model):
    ...
    transactions = generic.GenericRelation(Transaction)

还有一个dps.admin.TransactionInlineAdmin可以使用 拥有自己的模型管理员,如so:

class MyModelAdmin(admin.ModelAdmin):
    ...
    inlines = [TransactionInlineAdmin]

admin.site.register(MyModel, MyModelAdmin)

运行测试

创建一个名为tests/dps_settings.py的文件并添加PXPAY_USERIDPXPAY_KEY值-您需要有效的pxpay测试凭据。 然后,假设安装了virtualenvwrapper:

> cd path-to/django-dps
> mkvirtualenv test
> pip install requests
> ./setup.py install
> ./runtests.py

要在所有受支持的python和django版本中运行测试,请使用 tox

> cd path-to/django-dps
> mkvirtualenv test
> pip install tox
> tox

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

推荐PyPI第三方库


热门话题
具有未知数量条件的java If语句   java如何在Spark中使用两个“条件”进行过滤?   雅加达ee为ColdFusion提供的最佳Java ee服务器   java如何在jersey的MessageBodyWriter方法中获取writeTo中的anotations值?   java从脚本文件调用jar文件中的函数   java在执行insert语句后,如何获得id值为的语句?   在OS X上设置OpenCV Java绑定   java使用for循环遍历数组x。以字符串形式返回x的元素,其中每个元素由一个空格分隔   ApacheiClientBuilder为Algolia Java创建的APIClient是线程安全的吗?   java在DFS/BFS算法中获取邻居时避免内存分配?   java使用AES/CBC/PKCS5P加密大文件(2GB)   允许保存/加载列布局的Java DB网格组件   队列大小为1的java Spring调度   跑步带有Java参数的exe   java正则表达式将所有“<”和“>”标记替换为“&lt;”及“&gt;”在<<![CDATA]>标签?   java何时同步变量?