bugfix
This commit is contained in:
parent
b30303214e
commit
8e71c942e7
@ -1,5 +1,6 @@
|
|||||||
# init.py
|
# init.py
|
||||||
import os
|
import os
|
||||||
|
from appPublic.log import log,exception
|
||||||
from ahserver.serverenv import ServerEnv
|
from ahserver.serverenv import ServerEnv
|
||||||
from .notify import get_provider, get_provider_channel
|
from .notify import get_provider, get_provider_channel
|
||||||
from .paylog import PaymentLog
|
from .paylog import PaymentLog
|
||||||
@ -40,6 +41,10 @@ async def create_payment(request, params_kw=None):
|
|||||||
if provider not in PROVIDERS:
|
if provider not in PROVIDERS:
|
||||||
return {"error":"unknown provider"}
|
return {"error":"unknown provider"}
|
||||||
try:
|
try:
|
||||||
|
if PROVIDERS[provider] is None:
|
||||||
|
e = Exception(f'{provider} cannot pay')
|
||||||
|
exception(f'{e}')
|
||||||
|
raise e
|
||||||
pl = PaymentLog(request._run_ns)
|
pl = PaymentLog(request._run_ns)
|
||||||
channel = get_provider_channel(provider)
|
channel = get_provider_channel(provider)
|
||||||
userid = await get_suer()
|
userid = await get_suer()
|
||||||
@ -67,6 +72,10 @@ async def query_payment(request, params_kw=None):
|
|||||||
if provider not in PROVIDERS:
|
if provider not in PROVIDERS:
|
||||||
return {"error":"unknown provider"}
|
return {"error":"unknown provider"}
|
||||||
try:
|
try:
|
||||||
|
if PROVIDERS[provider] is None:
|
||||||
|
e = Exception(f'{provider} cannot pay')
|
||||||
|
exception(f'{e}')
|
||||||
|
raise e
|
||||||
res = await PROVIDERS[provider].query(data)
|
res = await PROVIDERS[provider].query(data)
|
||||||
return res
|
return res
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -81,6 +90,10 @@ async def refund_payment(request, params_kw=None):
|
|||||||
if provider not in PROVIDERS:
|
if provider not in PROVIDERS:
|
||||||
return {"error":"unknown provider"}
|
return {"error":"unknown provider"}
|
||||||
try:
|
try:
|
||||||
|
if PROVIDERS[provider] is None:
|
||||||
|
e = Exception(f'{provider} cannot pay')
|
||||||
|
exception(f'{e}')
|
||||||
|
raise e
|
||||||
res = await PROVIDERS[provider].refund(data)
|
res = await PROVIDERS[provider].refund(data)
|
||||||
return res
|
return res
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -95,6 +108,10 @@ async def payment_notify(request, callback, params_kw=None):
|
|||||||
headers = dict(request.headers)
|
headers = dict(request.headers)
|
||||||
body = await request.text()
|
body = await request.text()
|
||||||
try:
|
try:
|
||||||
|
if PROVIDERS[provider] is None:
|
||||||
|
e = Exception(f'{provider} cannot pay')
|
||||||
|
exception(f'{e}')
|
||||||
|
raise e
|
||||||
data = await PROVIDERS[provider].handle_notify(headers, body)
|
data = await PROVIDERS[provider].handle_notify(headers, body)
|
||||||
# 这里 data 应包含标准化字段:out_trade_no/status/attach 等
|
# 这里 data 应包含标准化字段:out_trade_no/status/attach 等
|
||||||
# TODO: 业务幂等处理
|
# TODO: 业务幂等处理
|
||||||
|
|||||||
@ -17,6 +17,7 @@ def get_provider_channel(name:str):
|
|||||||
return channels.get(name, '9')
|
return channels.get(name, '9')
|
||||||
|
|
||||||
def get_provider(name: str, conf: Dict):
|
def get_provider(name: str, conf: Dict):
|
||||||
|
try:
|
||||||
if name == "wechat":
|
if name == "wechat":
|
||||||
return WechatGateway(**conf)
|
return WechatGateway(**conf)
|
||||||
if name == "paypal":
|
if name == "paypal":
|
||||||
@ -25,5 +26,7 @@ def get_provider(name: str, conf: Dict):
|
|||||||
return AlipayGateway(**conf)
|
return AlipayGateway(**conf)
|
||||||
if name == "stripe":
|
if name == "stripe":
|
||||||
return StripeGateway(**conf)
|
return StripeGateway(**conf)
|
||||||
|
except:
|
||||||
|
return None
|
||||||
raise ValueError("unknown provider")
|
raise ValueError("unknown provider")
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user