首页 > 微信应用  > 

公众号支付接口的开发

公众号支付接口的开发
这次给大家带来公众号支付接口的开发,公众号支付接口开发的注意事项有哪些,下面就是实战案例,一起来看一下。

这次给大家带来公众号支付接口的开发,公众号支付接口开发的注意事项有哪些,下面就是实战案例,一起来看一下。

公众号支付就是在微信里面的H5页面唤起微信支付,不用扫码即可付款的功能。做这个功能首先要明确的就是,只有和商户号mch_id匹配的appid才能成功支付。商户号在注册成功的时候就会将相关信息发送到邮箱里面。而唤起支付的一个关键是靠openid拿到统一下单。而openid是和appid一一对应的。也就是说如果你登录使用的appid不是公众号的appid,得到的openid就无法唤起公众号内的支付(会出现appid和商户号不匹配的错误)。曾经就在这个地方绕了个弯,因为微信的开放平台可以创建网站应用,也有一个appid和appsecreat,也可以在微信里面一键登录。

业务流程

下面是微信的官方流程,看似有点复杂,重点就是要拿到统一下单接口返回的json串,其他按照官方demo基本就能正确,下面说一下几个细节。

创建订单

在调用微信公众号支付之前,首先我们自己要把订单创建好。比如一个充值的订单。主要是先确定下金额再进行下一步。

  public JsonResult CreateRecharegOrder(decimal money)        {            if (money <h3 style="text-align: left;">调用统一下单</h3><p style="text-align: left;">订单创建成功之后,页面跳转到支付页面,这个时候就是按照官方的流程去拿prepay_id和paySign,微信的demo中提供了一个jsApiPay的对象。但这个对象需要一个page对象初始化。</p><pre class="brush:php;toolbar:false">       [LoginValid]        public ActionResult H5Pay(string orderNumber)        {            var user = _workContext.CurrentUser;            var order = _paymentService.GetOrderByOrderNumber(orderNumber);            //判断订单是否存在            //订单是否已经支付了            var openid = user.OpenId;            var jsApipay = new JsApiPayMvc(this.ControllerContext.HttpContext);            jsApipay.openid = openid;            jsApipay.total_fee = (int)order.Amount * 100;            WxPayData unifiedOrderResult = jsApipay.GetUnifiedOrderResult();            ViewBag.wxJsApiParam = jsApipay.GetJsApiParameters();//获取H5调起JS API参数                 ViewBag.unifiedOrder = unifiedOrderResult.ToPrintStr();            ViewBag.OrderNumber = order.OrderNumber;            return View();        }

公众号支付接口的开发由讯客互联微信应用栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“公众号支付接口的开发