paynova的api的python客户端。对于Django框架。

django-paynova的Python项目详细描述


用于Django的Paynova Aero

Paynova Aero工作流的实现 为Django。使用Paynova APIpython 图书馆: paynova-api-python-client

安装

  1. 安装django-paynova

    pip install django-paynova
    

    python 2.7、3.3、3.4、pypy都支持django 1.6、1.7 支持

  2. django-paynova添加到INSTALLED_APPS

    INSTALLED_APPS=(...'django_paynova',...)
  3. 配置设置:

    PAYNOVA_MERCHANT_ID='MERCHANT_ID'PAYNOVA_PASSWORD='PASSWORD'PAYNOVA_SECRET='SECRET'PAYNOVA_CALLBACK_URL='http://mysite.com'

    对于生产:

    PAYNOVA_LIVE=True
  4. 运行./manage migrate

  5. 添加URL以处理Paynova的回调:

    urlpatterns=patterns('',url(r'^(?i)payments/paynova/',include('django_paynova.urls')),)

用法

  1. 使用默认参数创建订单和初始付款:

    fromdjango_paynovaimportcreate_order,PaynovaExceptiontry:pp=create_order({'orderNumber':'0001','currencyCode':'EUR','totalAmount':10})# TODO: redirect to pp.urlexceptPaynovaExceptionase:# TODO: handle exception

    create_order接受带Create Order parameters的字典

  2. 把手Event Hook Notifications

    fromdjango.dispatchimportreceiverfromdjango_paynova.signalsimportpaynova_payment@receiver(paynova_payment)defpaynova_payment_signal(sender,status,params,**kwargs):# TODO: handle paynova payment notification

    其中

    • sender-PaynovaPayment模型
    • status-付款状态
    • ^{TT8}$-payment params 来自Paynova

高级

您还可以单独创建订单和初始化付款:

fromdjango_paynovaimportcreate_order,initialize_payment,PaynovaExceptiontry:# create orderpp=create_order({'orderNumber':'0005','currencyCode':'EUR','totalAmount':10},init_payment=False)# init payment. http://docs.paynova.com/display/API/Initialize+Paymentpp=initialize_payment({'orderId':pp.order_id})# TODO: redirect to pp.urlexceptPaynovaExceptionase:# TODO: handle exception

错误

如果paynova返回错误,PaynovaException将被引发

fromdjango-paynovaimportcreate_order,PaynovaExceptiontry:pp=create_order()exceptPaynovaExceptionase:# process exception# e.errorNumber, e.statusKey, e.statusMessage, e.errorspass

测试

首先要确定你是在virtualenv。

安装所有依赖项:

make setup

运行测试:

make test

许可证

MIT licence

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

推荐PyPI第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值