import tkinter
window = tkinter.Tk()
window.title('电话计费')
window.geometry('260x170')
def calculate():
call = var.get()
min = e1.get()
if call == '0':
money = 0.40*int(min)
l2.config(text='国内长途'+str(min)+'分钟,话费'+str('%.2f'%money)+'元')
else:
money = 0.20*int(min)
l2.config(text='本地通话'+str(min)+'分钟,话费'+str('%.2f'%money)+'元')
var=tkinter.StringVar()
var.set(0)
b1 = tkinter.Radiobutton(window,text='国内长途',variable=var,value=0)
b1.pack()
b2 = tkinter.Radiobutton(window,text='本地通话',variable=var,value=1)
b2.pack()
l1 = tkinter.Label(window, text='输入通话时长')
l1.pack()
e1 = tkinter.Entry(window, width=20)
e1.pack()
b3 = tkinter.Button(window, text="计算", command=calculate)
b3.pack()
l2=tkinter.Label(window,text='')
l2.pack()
window.mainloop()
注意缩进
效果图
用手机话费余额给游戏充值答:充值方法如下:方法一、第一步:进入点券购买界面,选择您所需要购买的点券数量相应的价格。手机话费充值点券仅支持300点券以下的充值(包括300点券)。第二步:支付方式选择界面,默认为财付通快捷支付,只需点击右上角“其他方式”进行更改支付方式即可。方法二、用话费充值王者荣耀点券和王者荣耀微信充值差不多,之实用于安卓用户,ios玩家不可用话费充值的,步骤如下:1、计入王者荣耀游戏首页,通过点击“贵族”或右上角点券图标后的“+”号进入王者荣耀点券充值页面,和王者荣耀ios充值点券步骤大致相同2、选择想要充值的点券数量,小伙伴们需注意,话费充值王者荣耀点券只可选择300点券及其以下的面值,不然不能用话费完成支付3、确认想要购买的点券数量后,点击确认购买,进入付款界面4、在付款界面默认的网银支付,选择其他支付方式,即可更改支付方式,在其他支付方式中选择你想要的“手机话费”支付即可。最近正在做一个小项目,其中一个要实现手机话费充值功能。我在网上搜罗了很久,最终找了聚合数据上的那个手机话费充值api接口,下面就分享一下,希望对需求的朋友有所帮助。聚合数据是一个API聚合平台,提供了超多各类API,它的手机话费充值api接口也是不错的。
1.手机话费充值API
1.1检测手机号码是否能充值
接口地址:http://op.juhe.cn/ofpay/mobile/telcheck
支持格式:json
请求方式:http post/get
请求示例:http://op.juhe.cn/ofpay/mobile/telcheck?cardnum=100&phoneno=13429667914&key=您申请的KEY
接口备注:检测手机号码及金额是否能充值
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "允许充值的手机号码及金额", "result": null, "error_code": 0 }
1.2根据手机号和面值查询商
接口地址:http://op.juhe.cn/ofpay/mobile/telquery
支持格式:json
请求方式:http get/post
请求示例:http://op.juhe.cn/ofpay/mobile/telquery?cardnum=30&phoneno=18913515635&key=您申请的KEY
接口备注:根据手机号和面值查询商品信息
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "成功", "result": { "cardid": "191404", "cardname": "江苏电信话费100元直充", "inprice": 98.4, "game_area": "江苏苏州电信" }, "error_code": 0 }
1.3手机直充接口
接口地址:http://op.juhe.cn/ofpay/mobile/onlineorder
支持格式:json
请求方式:http get/post
请求示例:http://op.juhe.cn/ofpay/mobile/onlineorder?key=KEY&phoneno=18913513535&cardnum=100&orderid=2014111111113&sign=fb1ed32a9540c24b03cc0c06aabbb642
接口备注:依据用户提供的请求为指定手机直接充值,***如果充值过程中,遇到http网络状态异常或错误码返回系统异常100014,请务必通过订单查询接口检测订单或联系客服,不要直接做失败处理,避免照成不必要的损失!!!
请求参数说明:
名称
类型
必填
说明
phoneno
string
是
手机号码
cardnum
string
是
充值金额,目前可选:10、20、30、50、100、300
orderid
string
是
商家订单号,8-32位字母数字组合,由您自己生成
key
string
是
应用APPKEY(应用详细页查询)
sign
string
是
校验值,md5(OpenID+key+phoneno+cardnum+orderid),OpenID在个人中心查询
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "订单提交成功,等待充值", "result": { "cardid": "1900212", "cardnum": "1", "ordercash": 49.25, "cardname": "江苏电信话费50元直充", "sporder_id": "20141120174602882", "uorderid":"2014123115121", "game_userid": "18913515122", "game_state": "0" }, "error_code": 0 }
1.4订单状态查询
接口地址:http://op.juhe.cn/ofpay/mobile/ordersta
支持格式:json
请求方式:http get/post
请求示例:http://op.juhe.cn/ofpay/mobile/ordersta?key=&orderid=a112244411a
接口备注:查询订单的最新状态,请确认订单成功提交后,再查询哦~
请求参数说明:
名称
类型
必填
说明
orderid
string
是
商家订单号,8-32位字母数字组合,请填写已经成功提交的订单号
key
string
是
应用APPKEY(应用详细页查询)
返回参数说明:
名称
类型
说明
error_code
int
返回码
reason
string
返回说明
result
string
返回结果集
JSON返回示例:
{ "reason": "查询成功", "result": { "uordercash": "5.000", "sporder_id": "20150511163237508", "game_state": "1" }, "error_code": 0 }
1.5状态回调配置
充值接口测试完毕,需联系在线客服进行回调配置。
演示:
最后,附《手机话费充值》资费说明:
卡种
面额
价格
10元话费直冲
¥10.00
¥9.80~¥10.2
20元话费直冲
¥20.00
¥19.60~¥20.1
30元话费直冲
¥30.00
¥29.54~¥30
50元话费直冲
¥50.00
¥49.25~¥50
100元话费直冲
¥100.00
¥99.4~¥100
300元话费直冲
¥300.00
¥295.5~¥296.4