扑动波狂欢的蟒蛇包装

python-rave的Python项目详细描述


巨蟒狂欢

简介

这是一个python包装器,它围绕着fatterwave的rave-by-fatterwave的api

实施的付款类型:

安装

要安装,请运行

pip安装python rave

注意:目前正在积极开发中

导入包

这个包的基类是"rave"。若要使用此类,请添加:

来自python rave import rave

初始化

在沙盒中实例化:

要使用rave,请使用公钥实例化rave类。我们建议您将密钥存储在名为rave_secret_key的环境变量中。因此,实例化rave对象非常简单:

rave=rave("您的公共密钥")

在没有环境变量的情况下实例化(沙盒):

如果您选择不将密钥存储在环境变量中,我们会提供一个usingenv标志,可以将其设置为false,但请注意,在生产环境变量不存在的情况下,不要使用此包

rave=rave("您的公开密钥","您的秘密密钥",usingenv=false)

在生产中实例化:

要在生产中初始化,只需将production标志设置为true。这是非常不鼓励的,但如果您选择不使用环境变量,您可以使用上述相同的方式。

rave=rave("您的公共密钥",production=true)

锐舞对象

这是python rave所有组件的文档

旅行帐户

这是用来促进帐户交易的。

包括的功能:

< BR>

。充电(有效载荷)

这被调用以启动帐户事务。有效负载应该是包含卡信息的字典。它应该具有以下参数:

  • 开户银行

  • 帐号

  • 金额

  • 电子邮件

  • 电话号码

  • IP

也可以使用txref参数添加自定义事务引用。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。

示例调用是:

res=rave.account.charge(有效载荷)

返回

此调用返回字典。示例响应为:

{'error':false,'validationrequired':true,'txref':'mc-1530899106006,'flwref':'achg-1530899109682,'authUrl':none}

如果处理事务时出现问题,则此调用将引发accountchargeerroraccountchargeerror包含有关您的交易的一些信息。您可以这样处理:

try: 
    #Your charge call
except RaveExceptions.AccountChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':'mc-1530897824739,'flwref':none,'errmsg':'抱歉,该帐号无效,请检查并重试'}

< BR>

.validate(外部参照)

成功充电后,大多数情况下会要求您使用OTP进行验证。要检查是否需要,请检查收费呼叫的res中的validationrequired键。

如果从收费呼叫返回authURL,则可以跳过验证然后简单地将authURL传递给最终用户。

authURL=res['authURL']

要验证,您需要从收费呼叫的res和OTP中传递flwref

示例验证调用是:

res2=rave.account.validate(res["flwref"],"12345")

返回

如果成功,此调用将返回一个字典,其中包含txrefflwref等。

如果OTP不正确或处理您的请求时出现问题,则此调用将引发TransactionValidationError

要处理此问题,请写入:

try:
    # Your charge call
except RaveExceptions.TransactionValidationError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':'mc-1530899869968,'flwref':'achg-1530899873118,'errmsg':'pending otp validation'}

< BR>

。验证(txref)

您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res参数中的txref返回的任何调用(chargevalidate)。

验证调用示例为:

res=rave.account.verify(数据["Txref"])

返回

此调用返回一个dict,其中包含txrefflwreftransactioncomplete,指示事务是否已成功完成。

如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor

< BR>

完整的帐户流程

from python_rave import Rave, RaveExceptions, Misc
rave = Rave("ENTER_YOUR_PUBLIC_KEY", "ENTER_YOUR_SECRET_KEY", usingEnv = False)
# account payload
payload = {
  "accountbank": "232",# get the bank code from the bank list endpoint.
  "accountnumber": "0061333471",
  "currency": "NGN",
  "country": "NG",
  "amount": "100",
  "email": "test@test.com",
  "phonenumber": "0902620185",
  "IP": "355426087298442",
}

try:
    res = rave.Account.charge(payload)
    if res["authUrl"]:
        print(res["authUrl"])

    elif res["validationRequired"]:
        rave.Account.validate(res["flwRef"], "1234")

    res = rave.Account.verify(res["txRef"])
    print(res)

except RaveExceptions.AccountChargeError as e:
    print(e.err)
    print(e.err["flwRef"])

except RaveExceptions.TransactionValidationError as e:
    print(e.err)
    print(e.err["flwRef"])

except RaveExceptions.TransactionVerificationError as e:
    print(e.err["errMsg"])
    print(e.err["txRef"])




旅行卡

这是用来促进信用卡交易的。

包括的功能:

  • 。充电

  • 。验证

  • 。验证

  • .gettypeofargs是必需的

  • .updatepayload

< BR>

。充电(有效载荷)

这被称为启动卡交易。有效负载应该是包含卡信息的字典。它应该具有以下参数:

  • 卡号

  • cvv

  • expirymonth

  • expiryYear

  • 金额

  • 电子邮件

  • 电话号码

  • 名字

  • 姓氏

  • IP

也可以使用txref参数添加自定义事务引用。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。

示例调用是:

res=rave.card.charge(有效载荷)

返回

此调用返回字典。示例响应为:

{'error':false,'validationrequired':true,'txref':'mc-1530899106006,'flwref':'achg-1530899109682,'suggestedauth':none}

如果在处理事务时出现问题,此调用将引发CardChargeErrorCardChargeError包含有关您的交易的一些信息。您可以这样处理:

try: 
    #Your charge call
except RaveExceptions.CardChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':'mc-1530897824739,'flwref':none,'errmsg':'对不起,该卡号无效,请检查并重试'}

< BR>

rave.misc.updatepayload(authmethod,payload,arg)

根据充电呼叫的提示身份,您可能需要使用pin或地址更新负载。要知道您需要哪种身份验证,只需调用rave.card.gettypeofargsrequired(suggestedauth)。这将返回pin地址

C中的P>对于pin,您需要调用rave.card.updatepayload(suggestedauth,payload,pin="the_customer_pin")

address的情况下,您需要调用rave.card.updatepayload(suggestedauth,payload,address={the_address_dictionary})

典型的地址字典包括以下参数:

billingzip

计费城市

帐单地址

帐单状态

billingcountry

注意:suggestedauth是初始充电呼叫返回的suggestedauth,而有效负载是原始有效负载

< BR>

.validate(外部参照)

成功充电后,大多数情况下会要求您使用OTP进行验证。要检查是否需要,请检查收费呼叫的res中的validationrequired键。

要验证,您需要从收费呼叫的res和OTP中传递flwref

示例验证调用是:

res2=rave.card.validate(res["flwref"],"12345")

返回

如果成功,此调用将返回一个字典,其中包含txrefflwref等。

如果OTP不正确或处理您的请求时出现问题,则此调用将引发TransactionValidationError

要处理此问题,请写入:

try:
    # Your charge call
except RaveExceptions.TransactionValidationError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':none,'flwref':'flw-mock-a7911408bd7f55f89f021189d6fd370,'errmsg':'otp is required'}

< BR>

。验证(txref)

您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res参数中的txref返回的任何调用(chargevalidate)。

验证调用示例为:

res=rave.card.verify(数据["Txref"])

返回

此调用返回一个dict,其中包含txrefflwreftransactioncomplete,指示事务是否已成功完成。

如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor

完整的卡充值流程


from python_rave import Rave
rave = Rave("YOUR_PUBLIC_KEY", "YOUR_SECRET_KEY", usingEnv = False)

# Payload with pin
payload = {
  "cardno": "5438898014560229",
  "cvv": "890",
  "expirymonth": "09",
  "expiryyear": "19",
  "amount": "10",
  "email": "user@gmail.com",
  "phonenumber": "0902620185",
  "firstname": "temi",
  "lastname": "desola",
  "IP": "355426087298442",
}

try:
    res = rave.Card.charge(payload)

    if res["suggestedAuth"]:
        arg = Misc.getTypeOfArgsRequired(res["suggestedAuth"])

        if arg == "pin":
            Misc.updatePayload(res["suggestedAuth"], payload, pin="3310")
        if arg == "address":
            Misc.updatePayload(res["suggestedAuth"], payload, address= {"billingzip": "07205", "billingcity": "Hillside", "billingaddress": "470 Mundet PI", "billingstate": "NJ", "billingcountry": "US"})

        res = rave.Card.charge(payload)

    if res["validationRequired"]:
        rave.Card.validate(res["flwRef"], "")

    res = rave.Card.verify(res["txRef"])
    print(res["transactionComplete"])

except RaveExceptions.CardChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

except RaveExceptions.TransactionValidationError as e:
    print(e.err)
    print(e.err["flwRef"])

except RaveExceptions.TransactionVerificationError as e:
    print(e.err["errMsg"])
    print(e.err["txRef"])



rave.mpesa

这用于促进MPESA交易。

包括的功能:

  • 。充电

  • 。验证

< BR>

。充电(有效载荷)

调用此命令以启动MPESA事务。有效负载应该是包含帐户信息的字典。它应该具有以下参数:

  • 帐户

  • 电子邮件

  • 电话号码

  • IP

也可以使用txref参数添加自定义事务引用。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。

示例调用是:

res=rave.mpesa.charge(有效载荷)

返回

此调用返回字典。示例响应为:

{'error':false,'validationrequired':true,'txref':'mc-1530910216380,'flwref':'n/a'}

如果处理事务时出现问题,此调用将引发transactionchargeerror事务chargeerror包含有关您的事务的一些信息。您可以这样处理:

try: 
    #Your charge call
except RaveExceptions.TransactionChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':'mc-1530910109929,'flwref':none,'errmsg':'email is required'}

< BR>

。验证(txref)

您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res参数中的txref返回的任何调用(chargevalidate)。

验证调用示例为:

res=rave.mpesa.verify(数据["Txref"])

返回

此调用返回一个dict,其中包含txrefflwreftransactioncomplete,指示事务是否已成功完成。

如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor

< BR>

完成MPESA充电流程

from python_rave import Rave, RaveExceptions, Misc
rave = Rave("ENTIRE_YOUR_PUBLIC_KEY", "ENTIRE_YOUR_SECRET_KEY", usingEnv = False)

# mobile payload
payload = {
    "amount": "100",
    "phonenumber": "0926420185",
    "email": "user@exampe.com",
    "IP": "40.14.290",
    "narration": "funds payment",
}

try:
    res = rave.Mpesa.charge(payload)
    res = rave.Mpesa.verify(res["txRef"])
    print(res)

except RaveExceptions.TransactionChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

except RaveExceptions.TransactionVerificationError as e:
    print(e.err["errMsg"])
    print(e.err["txRef"])




rave.ghmobile

这用于促进加纳的移动货币交易。

包括的功能:

  • 。充电

  • 。验证

< BR>

。充电(有效载荷)

这被称为启动加纳移动货币交易。有效负载应该是包含帐户信息的字典。它应该具有以下参数:

  • 金额

  • 电子邮件

  • 电话号码

  • 网络

  • IP

  • 重定向URL

也可以使用txref参数添加自定义事务引用。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。

示例调用是:

res=rave.ghmobile.charge(有效载荷)

返回

此调用返回字典。示例响应为:

{'error':false,'validationrequired':true,'txref':'mc-1530910216380,'flwref':'n/a'}

如果处理事务时出现问题,此调用将引发transactionchargeerror事务chargeerror包含有关您的事务的一些信息。您可以这样处理:

try: 
    #Your charge call
except RaveExceptions.TransactionChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])

示例e.err包含:

{'error':true,'txref':'mc-1530911537060,'flwref':none,'errmsg':none}

< BR>

。验证(txref)

您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res参数中的txref返回的任何调用(chargevalidate)。

验证调用示例为:

res=rave.ghmobile.verify(数据["Txref"])

返回

此调用返回一个dict,其中包含txrefflwreftransactioncomplete,指示事务是否已成功完成。

如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor

< BR>

完成GHMobile充电流程

try: 
    #Your charge call
except RaveExceptions.AccountChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])
0



rave.ussd

这是用来促进ussd交易的。

包括的功能:

  • 。充电

  • 。验证

< BR>

。充电(有效载荷)

这被调用以启动ussd事务。有效负载应该是包含付款信息的字典。它应该具有以下参数:

  • 开户银行

  • 帐号

  • 金额

  • 电子邮件

  • 电话号码

  • IP

或者,可以使用txref参数。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。

示例调用是:

需要进一步操作,操作=rave.ussd.charge(有效载荷)

返回

此调用返回两个响应。第一个变量指示是否需要进一步操作来完成事务。第二个变量是调用时从服务器返回的内容。

< BR>

。验证(txref)

您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是操作参数中的txref返回的任何调用(chargevalidate)。

验证调用示例为:

成功,data=rave.ussd.verify(data["Txref"])

< BR>

完成USSD充电流程

try: 
    #Your charge call
except RaveExceptions.AccountChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])
1



rave.preauth

这是用来促进预先授权的卡交易。这继承了card类,因此您可以在card上执行任何任务,您可以使用preauth来执行。

包括的功能:

  • 。充电

  • 。验证

  • 。验证

  • .gettypeofargs是必需的

  • .updatepayload

< BR>

。捕获(flwref)

这是用来获取帐户中的资金。与validate调用类似,它要求您传递flwref。通过在初始充电呼叫的操作(第二个返回变量)中搜索flwref,可以从中获取flwref。

示例捕获调用是:

rave.preauth.capture(数据["flwref"])

< BR>

.void(flwref)

这用于作废预授权事务。与validate调用类似,它要求您传递flwref。通过在初始充电呼叫的操作(第二个返回变量)中搜索flwref,可以从中获取flwref。

示例捕获调用是:

rave.preauth.void(数据["flwref"])

< BR>

。退款(flwref)

这用于退还预授权交易。与validate调用类似,它要求您传递flwref。通过在初始充电呼叫的操作(第二个返回变量)中搜索flwref,可以从中获取flwref。

示例捕获调用是:

Rave.Preauth.Refund(数据["flwref"])

< BR>

完成预授权充电流程

try: 
    #Your charge call
except RaveExceptions.AccountChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])
2

传送

它用于启动和管理支出

包括的功能:

  • 。启动

  • .bulk

  • 。获取

  • .getfee

  • .getbalance

< BR>

完整的传输流程

try: 
    #Your charge call
except RaveExceptions.AccountChargeError as e:
    print(e.err["errMsg"])
    print(e.err["flwRef"])
3

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

推荐PyPI第三方库


热门话题
java如何克服带有空值的不可空bean级验证   “此行有多个标记”的authenticateUser上的java MySQLConnection错误   java处理Jackson异常   java Netbeans编辑器如何知道文件在撤消后不会被修改?   目标C相当于Java的ArrayList   java当需要int时,可以将short传递给方法调用吗?   drawString()方法上的java MouseListener   java服务器socket是执行此操作的最佳选项   java需要单个匹配bean,但找到了2:org。springframework。网状物servlet。mvc。方法注释。RequestMappingHandlerMapping   如何在Java中执行Windows命令?   安卓应用程序的java文件主机   java将所有spring引导属性都设置在内。将yml文件转换为系统属性   Java邮件中的html内联链接在邮件客户端中不起作用   Java二进制文件的bazel版本控制   java如何在自定义ListView中使用Intent   java(Spring MVC+Hibernate 4+Test 4)自动连线DAO返回NULL   java一次add()调用可以在Solr服务器中索引多少文档?   java如何获取Avro GenericRecord大小