43 lines
847 B
Plaintext
43 lines
847 B
Plaintext
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 = entire_url('/unipay/qr.dspy?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)
|
|
}
|
|
}
|