美文网首页
app跳转小程序发起支付再返回app,经验分享

app跳转小程序发起支付再返回app,经验分享

作者: 不忘初心_d | 来源:发表于2020-04-28 16:13 被阅读0次

    前言

    最近公司项目要求app拉起微信小程序,使用微信小程序进行支付,开始一听,有点懵逼,迷茫,不知所措.....后来经过一番折腾,预研,查看相关资料,请教相关人士,终于有了结果,下面给大家分享一下吧。

    欢迎加我技术交流QQ群 :811956471

    前提条件准备:app和微信开放平台进行绑定

    一.app端要做的事情:

    详细demo参见:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&verify=1&id=21526646437Y6nEC&token=&lang=zh_CN</u>

    原生语言:
    public void do_WX(String paramString) {
        this.api = WXAPIFactory.createWXAPI(this.context, "wx13421424214");//小程序appid
        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
        req.userName = "gh_1aXXXXXX";//小程序ID
        req.path = paramString;
        req.miniprogramType = 1;
        this.api.sendReq(req);
      }
    支付按钮事件:
    button.setOnClickListener(new View.OnClickListener() {
              public void onClick(View param1View) { MainActivity.this.do_WX("小程序url?Param1=XX&param2=YY"); }
      });
    我用的是uni-app开发的app,代码片段:
    onLoad() {
          // #ifdef APP-PLUS  
          plus.share.getServices((s)=> {
            var shares = {};
            for (var i = 0; i < s.length; i++) {
              var t = s[i];
              shares[t.id] = t;
            }
            var sweixin = shares['weixin'];
            this.sweixin=sweixin
          }, function(e) {
            console.log("获取分享服务列表失败:" + e.message);
          });
          //#endif
        },
        methods: {
          kanshipin: function() {
            //#ifdef APP-PLUS  
            this.sweixin ? this.sweixin.launchMiniProgram({
              path: 'pages/test/test?phone=13201860552',
              type: 1,//可取值: 0-正式版; 1-测试版; 2-体验版。 默认值为0。
              id: '原始微信小程序id'
            }) : plus.nativeUI.alert('当前环境不支持微信操作!');
            //#endif  
          }
        }
    
    

    好了,到此app打开小程序的事情已经做完了

    二:小程序端要做的事情

    1、发起支付:

    在微信小程序里面指定一个页面,当app跳转到这个页面的时候,在onLoad的函数里面判断app传递过来的参数,直接调用小程序的api发起支付即可,此处省略代码一千行,详情看小程序的开发文档即可。

    2、发起支付完成返回app:

    用小程序的api:
    <button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打开APP</button>
    

    效果就是直接返回到了刚刚app打开小程序的那个页面,非常棒。

    三、总结:

    (1)商户小程序与APP主体一致,直接调用,如无,自助完成绑定关系;
    (2)商户App调用自有微信小程序的跳转接口并携带商户的身份和交易核心数据;
    (3)小程序接收到数据后,调用统一下单接口;
    (4)在小程序中确认支付;
    (5)完成支付之后返回商户自己App(Android/IOS通用),完成整个支付流程,收银宝完成异步通知。

    四、注意事项:

    1、前提条件准备:app和微信开放平台进行绑定
    2、小程序目前不可以直接打开app,打开app的前提是,是app打开小程序之后,才可以在小程序里面打开app(说白了其实就是小程序直接返回app)

    相关文章

      网友评论

          本文标题:app跳转小程序发起支付再返回app,经验分享

          本文链接:https://www.haomeiwen.com/subject/nctbwhtx.html