给所有支付接口加上了支付宝
This commit is contained in:
@@ -164,35 +164,56 @@ class HuiyuanGoumai(APIView):
|
||||
f"会员{huiyuanid}, 俱乐部{club_id}, 体验={is_trial}, "
|
||||
f"金额{jine}元, 天数{purchase_days}")
|
||||
|
||||
# 7. 生成微信支付参数
|
||||
try:
|
||||
pay_openid, _ = get_payment_openid(request)
|
||||
if not pay_openid:
|
||||
# 7. 生成支付参数(支持支付宝/微信)
|
||||
pay_method = (request.data.get('pay_method') or request.data.get('payMethod') or 'wechat').lower()
|
||||
if pay_method == 'alipay':
|
||||
try:
|
||||
from jituan.services.alipay_pay import generate_alipay_czjilu_pay_params
|
||||
pay_params = generate_alipay_czjilu_pay_params(
|
||||
dingdanid=dingdanid,
|
||||
jine=jine,
|
||||
subject=settings.HUIYUAN_PAY_DESCRIPTION,
|
||||
club_id=club_id,
|
||||
)
|
||||
except Exception as e:
|
||||
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:openid不存在"[:100]
|
||||
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:{str(e)[:40]}"[:100]
|
||||
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
|
||||
logger.error(f"生成会员支付宝参数失败: {str(e)}")
|
||||
return Response({
|
||||
'code': 400,
|
||||
'message': '用户openid不存在',
|
||||
'dingdanid': dingdanid,
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
pay_params = self.generate_wechat_pay_params(
|
||||
dingdanid=dingdanid,
|
||||
jine=jine,
|
||||
openid=pay_openid,
|
||||
pay_type='huiyuan'
|
||||
)
|
||||
except Exception as e:
|
||||
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:{str(e)[:40]}"[:100]
|
||||
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
|
||||
logger.error(f"生成会员支付参数失败: {str(e)}")
|
||||
return Response({
|
||||
'code': 500,
|
||||
'message': f'支付参数生成失败: {str(e)}'
|
||||
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
'code': 500,
|
||||
'message': f'支付参数生成失败: {str(e)}'
|
||||
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
else:
|
||||
try:
|
||||
pay_openid, _ = get_payment_openid(request)
|
||||
if not pay_openid:
|
||||
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:openid不存在"[:100]
|
||||
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
|
||||
return Response({
|
||||
'code': 400,
|
||||
'message': '用户openid不存在',
|
||||
'dingdanid': dingdanid,
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
pay_params = self.generate_wechat_pay_params(
|
||||
dingdanid=dingdanid,
|
||||
jine=jine,
|
||||
openid=pay_openid,
|
||||
pay_type='huiyuan'
|
||||
)
|
||||
except Exception as e:
|
||||
from jituan.services.member_recharge import MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.zhuangtai = MEMBER_CANCELLED_STATUS
|
||||
chongzhi_jilu.shuoming = f"{shuoming} | 下单失败:{str(e)[:40]}"[:100]
|
||||
chongzhi_jilu.save(update_fields=['zhuangtai', 'shuoming'])
|
||||
logger.error(f"生成会员支付参数失败: {str(e)}")
|
||||
return Response({
|
||||
'code': 500,
|
||||
'message': f'支付参数生成失败: {str(e)}'
|
||||
}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||
|
||||
# 8. 返回支付参数和订单ID
|
||||
return Response({
|
||||
|
||||
Reference in New Issue
Block a user