params_kw.amount = float(params_kw.amount) debug(f'recharge.dspy: {params_kw=}') try: code_url = await create_payment(request, params_kw) if params_kw.provider == 'transfer': return { "widgettype":"urlwidget", "mode":"replace", "target":"app.sage_main_content", "options":{"url": code_url} } # weixin://wxpay/bizpayurl?pr=xxx → https://wx.tenpay.com/f2f?pr=xxx pay_url = code_url.replace('weixin://wxpay/bizpayurl', 'https://wx.tenpay.com/f2f') return { "widgettype":"NewWindow", "options":{ "url": pay_url, "height": "100%", "width":"100%" } } except Exception as e: return { "widgettype":"Text", "options":{ "width":"100%", "text":f"{e}" } }