from rest_framework.views importAPIViewfrom rest_framework.response importResponsefrom django.core.cache importcacheimporthashlib,timeimportrandomfrom app01.wx importsettingsimportrequestsclassPay(APIView):defpost(self,request):
param=request.dataif param.get("login_key"):
#从redis中拿到小程序端login_key所对应得opendi&session_key值
openid,session_key=cache.get(param.get("login_key")).split("&")
self.openid=openid#获取用户IP
#1.如果是Nginx做的负载就要HTTP_X_FORWARDED_FOR
if request.META.get('HTTP_X_FORWARDED_FOR'):
self.ip=request.META['HTTP_X_FORWARDED_FOR']else:#2.如果没有用Nginx就用REMOTE_ADDR
self.ip = request.META['REMOTE_ADDR']#调用 生成商户订单 方法
data =self.pay()return Response({"code":200,"msg":"ok","data":data})else:return Response({"code":200,"msg":"缺少参数"})defget_str(self):
str_all="1234567890abcdefghjklmasdwery" # 注意 开发活动功能时, 去掉1,i,0,ononce_str="".join(random.sample(str_all,20))returnnonce_strde

本文介绍了微信小程序支付的后端实现过程,包括从获取用户信息、生成订单、调用微信支付接口、处理预付单信息及二次签名等关键步骤。通过Django框架,结合缓存、请求库和加密算法来完成支付接口的开发。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



