扑动波狂欢的蟒蛇包装
python-rave的Python项目详细描述
巨蟒狂欢
简介
在address
的情况下,您需要调用rave.card.updatepayload(suggestedauth,payload,address={the_address_dictionary})
典型的地址字典包括以下参数:
billingzip
,
计费城市
,
帐单地址
,
帐单状态
,
billingcountry
注意:suggestedauth
是初始充电呼叫返回的suggestedauth,而有效负载
是原始有效负载
.validate(外部参照)
成功充电后,大多数情况下会要求您使用OTP进行验证。要检查是否需要,请检查收费呼叫的res
中的validationrequired
键。
要验证,您需要从收费呼叫的res
和OTP中传递flwref
。
示例验证调用是:
res2=rave.card.validate(res["flwref"],"12345")
返回
如果成功,此调用将返回一个字典,其中包含txref
,flwref
等。
如果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'}
。验证(txref)
您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res
参数中的txref
返回的任何调用(charge
或validate
)。
验证调用示例为:
res=rave.card.verify(数据["Txref"])
返回
此调用返回一个dict,其中包含txref
、flwref
和transactioncomplete
,指示事务是否已成功完成。
如果您的呼叫未能成功完成,则会引发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交易。
包括的功能:
。充电
。验证
。充电(有效载荷)
调用此命令以启动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'}代码>
。验证(txref)
您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res
参数中的txref
返回的任何调用(charge
或validate
)。
验证调用示例为:
res=rave.mpesa.verify(数据["Txref"])
返回
此调用返回一个dict,其中包含txref
、flwref
和transactioncomplete
,指示事务是否已成功完成。
如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor
。
完成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
这用于促进加纳的移动货币交易。
包括的功能:
。充电
。验证
。充电(有效载荷)
这被称为启动加纳移动货币交易。有效负载应该是包含帐户信息的字典。它应该具有以下参数:
金额
,电子邮件
,电话号码
,网络
,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}
。验证(txref)
您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是res
参数中的txref
返回的任何调用(charge
或validate
)。
验证调用示例为:
res=rave.ghmobile.verify(数据["Txref"])
返回
此调用返回一个dict,其中包含txref
、flwref
和transactioncomplete
,指示事务是否已成功完成。
如果您的呼叫未能成功完成,则会引发TransactionVerificationerRor
。
完成GHMobile充电流程
try:
#Your charge call
except RaveExceptions.AccountChargeError as e:
print(e.err["errMsg"])
print(e.err["flwRef"])
0
rave.ussd
这是用来促进ussd交易的。
包括的功能:
。充电
。验证
。充电(有效载荷)
这被调用以启动ussd事务。有效负载应该是包含付款信息的字典。它应该具有以下参数:
开户银行
,帐号
,金额
,电子邮件
,电话号码
,IP
或者,可以使用txref
参数。请注意,如果您没有指定一个,它将自动生成。我们确实提供了一个在MISC库(添加链接)中生成事务引用的函数。
示例调用是:
需要进一步操作,操作=rave.ussd.charge(有效载荷)
返回
此调用返回两个响应。第一个变量指示是否需要进一步操作来完成事务。第二个变量是调用时从服务器返回的内容。
< BR>。验证(txref)
您可以调用此函数来检查事务是否已成功完成。您必须传递在收费点生成的事务引用。这是操作
参数中的txref
返回的任何调用(charge
或validate
)。
验证调用示例为:
成功,data=rave.ussd.verify(data["Txref"])
完成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
。捕获(flwref)
这是用来获取帐户中的资金。与validate调用类似,它要求您传递flwref
。通过在初始充电呼叫的操作
(第二个返回变量)中搜索flwref
,可以从中获取flwref。
示例捕获调用是:
rave.preauth.capture(数据["flwref"])
.void(flwref)
这用于作废预授权事务。与validate调用类似,它要求您传递flwref
。通过在初始充电呼叫的操作
(第二个返回变量)中搜索flwref
,可以从中获取flwref。
示例捕获调用是:
rave.preauth.void(数据["flwref"])
。退款(flwref)
这用于退还预授权交易。与validate调用类似,它要求您传递flwref
。通过在初始充电呼叫的操作
(第二个返回变量)中搜索flwref
,可以从中获取flwref。
示例捕获调用是:
Rave.Preauth.Refund(数据["flwref"])
完成预授权充电流程
try:
#Your charge call
except RaveExceptions.AccountChargeError as e:
print(e.err["errMsg"])
print(e.err["flwRef"])
2
传送
它用于启动和管理支出
包括的功能:
。启动
.bulk
。获取
.getfee
.getbalance
完整的传输流程
try:
#Your charge call
except RaveExceptions.AccountChargeError as e:
print(e.err["errMsg"])
print(e.err["flwRef"])
3