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

前言

最近公司项目要求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

原生语言:
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¶m2=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:

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

三、总结:

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

四、注意事项:

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

你可能感兴趣的:(app跳转小程序发起支付再返回app,经验分享)