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   小程序   
  • 相关阅读:
    v-for列表指令
    v-show 指令
    v-else-if 条件语句
    v-else条件语句
    v-if 条件语句
    2020 WPF界面开发新风向:DevExpress WPF支持.NET Core设计时
    轻松进行WPF界面开发,DevExpress WPF Gantt
    Winforms界面使用技巧:Kanban Board增强功能
    2020 WPF界面开发新风向:DevExpress WPF支持.NET Core设计时
    轻松进行WPF界面开发,Data Grid & TreeList
  • 原文地址:https://www.cnblogs.com/apanly/p/12735270.html
Copyright © 2011-2022 走看看