接口使用方法, 支付接口完成后,需要将非vip变成vip,前端捕获支付完成后,修改权限及时长,调用刷新token和refresh_token,前端将localstore中的token和refresh_token替换掉,接口如下:需要注意前端需要定时调用返回值start_scheduled_call的参数
@routes.get('/api/v1/vip/refresh_token/{out_trade_no}')
@app_permission_authentication
async def users_vip_refresh_token(request):
logger = request.app['logger']
db = request.app['db']
username = request.get('id')
permission = request.get('permission')
out_trade_no = request.match_info.get("out_trade_no", None)
# 查询订单信息状态
order_data = await db['orders'].find_one({'out_trade_no': out_trade_no}, {'_id': 0})
order_status = order_data.get('trade_status')
if order_status == "TRADE_SUCCESS" or order_status == "TRADE_FINISHED":
user_data = await db['users'].find_one({'id': id, "permission": {"$in": [3, 4]}}, {'_id': 0})
if user_data.get('permission') != permission and user_data.get('permission') == 3:
token, refresh_token = AppAuthorization(request)._generate_tokens(username,
user_data["permission"],
id,
duration=user_data.get("duration"))
return get_response(status=True, token=token, refresh_token=refresh_token, user_data=user_data)
elif user_data.get('permission') == permission and user_data.get('permission') != 3:
return get_response(False, "start_scheduled_call")
else:
return get_response(False, "not_update_token")
else:
# 不更新token
return get_response(False, 'not_update_token')
支付完成后如何将非vip变成vip
最新推荐文章于 2024-04-30 19:24:04 发布