import urllib.parse if params_kw.amount is None: return { "status": "error", "data": { "message": "需输入充值金额" } } if params_kw.provider not in ('alipay', 'wechat', 'transfer'): return { "status": "error", "data": { "message": f'{params_kw.provider}: 不支持的渠道' } } if params_kw.currency != 'CNY': return { "status": "error", "data": { "message": f'{params_kw.currency}:不支持的币种' } } params_kw.amount = float(params_kw.amount) debug(f'user_recharge.dspy: {params_kw=}') try: url = await create_payment(request, params_kw) qr_url = 'https://api.qrserver.com/v1/create-qr-code/?size=280x280&data=' + urllib.parse.quote(url, safe='') return { "status": "ok", "data": { "code_url": url, "qr_url": qr_url } } except Exception as e: return { "status": "error", "data":{ "message":str(e) } }