代码拉取完成,页面将自动刷新
#统一下单支付接口
def payOrder(request,user_id):
import time
if request.method == 'POST':
#获取价格
price=request.POST.get("price")
#获取客户端ip
client_ip,port=request.get_host().split(":")
#获取小程序openid
openid=MyUser.objects.get(id=user_id).openid
#请求微信的url
url=configuration.order_url
#拿到封装好的xml数据
body_data=pay.get_bodyData(openid,client_ip,price)
#获取时间戳
timeStamp=str(int(time.time()))
#请求微信接口下单
respone=requests.post(url,body_data.encode("utf-8"),headers={'Content-Type': 'application/xml'})
#回复数据为xml,将其转为字典
content=pay.xml_to_dict(respone.content)
if content["return_code"]=='SUCCESS':
#获取预支付交易会话标识
prepay_id =content.get("prepay_id")
#获取随机字符串
nonceStr =content.get("nonce_str")
#获取paySign签名,这个需要我们根据拿到的prepay_id和nonceStr进行计算签名
paySign=pay.get_paysign(prepay_id,timeStamp,nonceStr)
#封装返回给前端的数据
data={"prepay_id":prepay_id,"nonceStr":nonceStr,"paySign":paySign,"timeStamp":timeStamp}
return HttpResponse(packaging_list(data))
else:
return HttpResponse("请求支付失败")
else:
return HttpResponse(request_code())
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。