在线支付网关包装库。

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如何在Gomoku javafx游戏中启用回合转换   java Akka ask onComplete呼叫两次   类实现可序列化时的java NotSerializableException   java在不同情况下使用不同的Hibernate用户类型   使用Jena库从Java中的RDF网页提取URI的xml解析   即使在将github证书添加到%java_HOME%之后,java SSLHandshakeException仍然存在异常   Android Studio Java TelephonyManager错误:非静态方法   java树的23个节点浪费了什么信息?   java如何使用JAXB读取XML文件?   java Jdbc列索引超出范围   java如何在Spring忽略基本包的情况下扫描整个类路径中的组件?   用于动态创建Swing组件的java侦听器   Java方法在嵌套类中不起作用   java在JSF中使用POST而不是GET重定向异地页面   文本向txt文件添加单词列表   java如何将复选框信息从视图发送到Thymeleaf中的控制器?   用于用户提示的java字符串输入   性能java编译器能否优化循环以尽早返回?   java为什么位集不可编辑?