zoukankan      html  css  js  c++  java
  • 【课程章节更新】突破 没有支付权限的小程序 完成支付闭环

    起因

    大家都知道我有个 Python Flask构建微信小程序订餐系统  课程。这个课程主要是讲解 小程序在线商城的。但是有很多学生小程序的账号是没有支付权限的,那么如何完成整个闭环课程的学习咧?接下来我来给大家讲解整个过程。


    实现过程

    原理其实很简单,就是模拟支付完成跳过支付过程。这里我用两种方案给大家实现。


    如下图,由于没有支付权限 就会导致 支付回调 没有。那么我们就得做一件事情:模拟支付回调


    等于就是自己做一个入口 可以调用支付回调的业务逻辑就行了 也就是C


    pay.png

    方案一:web模拟回调

    废话不说,直接上代码

    '''
    模拟回调方法
    其实所有回调基本都是校验合法性 然后找到订单id,所以我们模拟就是直接传递 订单id
    访问url(可以使用浏览器直接访问) : api/order/callback2?id=xxxx
    xxx 就是你想把某个订单设置为成功的订单id值
    '''
    @route_api.route( "/order/callback2" )
    def orderCallback2():
       req = request.values
       id = int(req['id']) if 'id' in req else 0
       if not id:
          return "fail"
       
       target_pay = PayService()
       target_pay.orderSuccess(pay_order_id= id , params={ "pay_sn": "" } )
       return "success"

    方案二:Job 模拟回调

    废话不说,直接上代码

    # -*- coding: utf-8 -*-
    from common.libs.pay.PayService import PayService
    from application import app
    
    '''
    job模拟回调方法 ,新建jobs/tasks/pay/callback.py 
    其实所有回调基本都是校验合法性 然后找到订单id,所以我们模拟就是直接传递 订单id
    python manager.py runjob -m pay/callback -p 1
    '''
    
    class JobTask():
       def __init__(self):
          pass
       def run(self,params):
          id = params['param'][0] if params['param'] and len(params['param']) else 0
          if not id:
             app.logger.info(" fail ")
             return
    
          target_pay = PayService()
          target_pay.orderSuccess(pay_order_id=id, params={"pay_sn": ""})
    
          app.logger.info("it's over~~")



    源代码提供

    课程官方已经上传对应的源码补丁包 : Job源码传送门web源码传送门


    原文地址:【课程章节更新】突破 没有支付权限的小程序 完成支付闭环
    标签:微信   python   flask   小程序   
  • 相关阅读:
    软件测试
    python学习之路
    好用的在线画图工具processon
    spring-boot集成dubbo
    公众号开放,关注软件开发过程中的哪些坑
    crontab 中curl命令无法正常执行
    近一月翻阅资料小结
    nginx+tomat8负载后,利用redis实现tomcat8的session共享
    centos7 安装nginx
    centos 上安装redis 3.0.5
  • 原文地址:https://www.cnblogs.com/apanly/p/12735270.html
Copyright © 2011-2022 走看看