| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | 
							- # -*- encoding: utf-8 -*-
 
- """
 
- @File    : PayUtil.py
 
- @Time    : 2022/6/29 11:41
 
- @Author  : stephen
 
- @Email   : zhangdongming@asj6.wecom.work
 
- @Software: PyCharm
 
- """
 
- from urllib.parse import quote
 
- from Ansjer.config import SERVER_DOMAIN_SSL
 
- from Object.AliPayObject import AliPayObject
 
- from Object.WechatPayObject import WechatPayObject
 
- """
 
- 支付服务
 
- """
 
- class PayService:
 
-     @staticmethod
 
-     def create_alipay_payment(passback_params, order_id, price, title, notify_url, content, response):
 
-         """
 
-         创建支付宝支付
 
-         @param passback_params: 携带参数支付宝回调原样返回
 
-         @param order_id: 订单编号
 
-         @param price: 价格
 
-         @param title: 标题
 
-         @param notify_url: 异步回调通知URL
 
-         @param content: 内容
 
-         @param response: 响应结果
 
-         @return: 网站支付链接
 
-         """
 
-         aliPayObj = AliPayObject()
 
-         alipay = aliPayObj.conf()
 
-         subject = title + content
 
-         order_string = alipay.api_alipay_trade_wap_pay(
 
-             out_trade_no=order_id,
 
-             total_amount=price,
 
-             subject=subject,
 
-             return_url="{}web/paid2/success.html".format(SERVER_DOMAIN_SSL),
 
-             notify_url="{}{}".format(SERVER_DOMAIN_SSL, notify_url),
 
-             quit_url="{}web/paid2/fail.html".format(SERVER_DOMAIN_SSL),
 
-             passback_params=quote(passback_params)
 
-         )
 
-         if not order_string:
 
-             return response.json(10, '生成订单错误.')
 
-         return aliPayObj.alipay_prefix + order_string
 
-     @staticmethod
 
-     def create_wechat_payment(attach, order_id, price, ip, notify_url, content, response):
 
-         """
 
-         创建微信支付
 
-         @param attach: 参数微信回调通知原样返回
 
-         @param order_id: 订单编号
 
-         @param price: 价格
 
-         @param ip: 用户支付ip地址
 
-         @param notify_url: 异步通知回调URL
 
-         @param content: 内容
 
-         @param response: 响应结果
 
-         @return: 网站支付链接
 
-         """
 
-         notify_url = "{}{}".format(SERVER_DOMAIN_SSL, notify_url)
 
-         pay = WechatPayObject()
 
-         # 统一调用接口
 
-         pay.get_parameter(order_id, content, float(price) * 100, ip, notify_url, quote(attach))
 
-         sign_params = pay.re_finall(orderid=order_id)
 
-         if not sign_params:
 
-             return response.json(10, '生成订单错误.')
 
-         return sign_params
 
-     @staticmethod
 
-     def get_two_float(f_str, n):
 
-         # f_str = '{}'.format(f_str) 也可以转换为字符串
 
-         f_str = str(f_str)
 
-         a, b, c = f_str.partition('.')
 
-         # 如论传入的函数有几位小数,在字符串后面都添加n为小数0
 
-         c = (c + "0" * n)[:n]
 
-         return ".".join([a, c])
 
 
  |