在线支付网关包装库。

payit的Python项目详细描述


https://travis-ci.org/meyt/payit.svg?branch=masterhttps://coveralls.io/repos/github/meyt/payit/badge.svg?branch=masterhttps://img.shields.io/pypi/pyversions/payit.svg

在线支付网关包装库。

支持的网关

(伊朗)

  • asanpardakht
  • 伊朗文
  • 梅拉特
  • 付款利率
  • 扎林帕尔
  • 帕西恩(佩科)
  • 巴哈马塔

安装

pip install payit

用法

frompayitimport(GatewayManager,gateways,Transaction,TransactionAlreadyPaidError)# Configure:config={'mellat':{'terminal_id':'1234','username':'demo','password':'demo','callback_url':'http://localhost/callback/mellat'},'zarinpal1':{'merchant':'534534534532225234234','description':'','callback_url':'http://localhost/callback/zarinpal1'},'zarinpal2':{'merchant':'33333333532225234234','description':'','callback_url':'http://localhost/callback/zarinpal2'}}manager=GatewayManager()manager.register('mellat',gateways.MellatGateway)manager.register('zarinpal1',gateways.ZarinpalGateway)manager.register('zarinpal2',gateways.ZarinpalGateway)manager.configure(config)# Make Transaction:my_database={}selected_gateway='zarinpal1'try:transaction=Transaction(amount=1500,order_id=11002)transaction=manager.request(selected_gateway,transaction)# Store `transaction.id` on your databasemy_database['transaction_id']=transaction.id# Get redirection detailsredirection=manager.get_redirection(selected_gateway,transaction)# Now redirect your client to gateway by redirection detailsexceptPayitException:print('Something wrong on payment')raise# Callback# Now user backs from gateway to complete payment procedureselected_gateway='zarinpal1'try:callback_data={'Authority':101}transaction=manager.validate(selected_gateway,callback_data)ifnottransaction.validate_status:raiseRuntimeError('Transaction is not valid')# Check `transaction.id` exist on your databaseiftransaction.idnotinmy_database:raiseRuntimeError('Transaction is not exists')# Now verify transactionmanager.verify(selected_gateway,callback_data)exceptTransactionAlreadyPaidError:print('Transaction Already Paid')raiseexceptPayitException:print('Something wrong on payment')raise# Payment succeed! ?

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

推荐PyPI第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素