你的位置:首页 > 软件开发 > ASP.net > 微信JSApi支付~订单号和微信交易号

微信JSApi支付~订单号和微信交易号

发布时间:2016-04-07 17:00:08
谈谈transactionId和out_trade_no每个第三方在线支付系统中都会有至少两类订单号,其一为支付系统的订单号,我们称为transactionId,其二为商户平台的订单号,我们通常称为out_trade_no,这两个号一般用来对账,在第三方支付平台你可以通过这两个订 ...

谈谈transactionId和out_trade_no

每个第三方在线支付系统中都会有至少两类订单号,其一为支付系统的订单号,我们称为transactionId,其二为商户平台的订单号,我们通常称为out_trade_no,这两个号一般用来对账,在第三方支付平台你可以通过这两个订单号来查询订单的状态,而在商户自己的网站后台,也可以查询它的状态,一般地,transactionId由支付系统生成,并在回调时转回给商户;而out_trade_no一般在商户平台生成,自己可以设计自己的规则,然后把这个ID转到第三方支付平台,在支付成功后,第三方同样把这个号转回来,我们通过这个号进行商户系统的其它操作。

看一下第三方支付的流程图

微信JSApi支付~订单号和微信交易号

对第三方支付的封装

封装要求通用,对任何一个项目都可以灵活的使用它,这是最重要的,要想实现松耦合,需要记住委托的概念,我们在订单回调时,定义一个订单所要数据的实体,然后以这个实体做为参数,定义一个委托,当然你完全可以使用.net为我们提供的Action,Func等通用的委托对象,这在大叔框架里通常被看到,也是大叔的常客!

下面是微信支付的封装,可以看到业务代码只写自己业务,而不处理任务微信API相关的东西

    /// <summary>    /// 返回链接串    /// </summary>    /// <returns></returns>    public get='_blank'>string Get()    {      int money = 10;      string orderID = "Lind0001";      Logger.LoggerFactory.Instance.Logger_Info("发送订单号" + orderID);      return JsApiImplement.Send(money, orderID);    }    //微信回调    public void Notify()    {      JsApiImplement.Notify((model) =>      {        Logger.LoggerFactory.Instance.Logger_Info("回调订单号" + model.Out_Trade_No);        //更新领域订单状态,用户账户数据,流水等      });    }

原标题:微信JSApi支付~订单号和微信交易号

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。