主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
这次给大家带来的是微信官方账号的支付接口的开发。微信官方账号的支付接口开发有哪些注意事项?以下是实际案例。让我们来看看。
微信官方账号支付是微信中H5页面的唤醒微信支付功能,无需扫码即可支付。要做这个功能,首先要明确的是,只有appid匹配商户号mch_id才能成功支付。商家号会在注册成功时将相关信息发送到邮箱。唤起付费的关键之一是依靠openid获得统一订单。Openid与appid一一对应。也就是说,如果你登录的appid不是微信官方账号的appid,那么你得到的openid就无法在微信官方账号中唤起支付(会出现appid与商家号不符的错误)。我以前在这个地方走了弯路,因为微信的开放平台可以创建网站应用,还有一个appid和appsecreat,在微信里也可以一键登录。
业务流程下面是微信的官方流程,看起来有点复杂。重点是获取统一排序接口返回的json字符串。其他的根据官方演示基本可以是正确的。以下是几个细节。
创建订单在调用微信微信官方账号支付之前,我们首先要自己创建订单。例如充值订单。主要是确定金额再进行下一步。
public JSON result creatercharegorder(decimal money){ if(money lt;(十进制)0.01)返回Json(new payment result( ;充值金额不合法!"));var user = _workContext。CurrentUservar order = _paymentService。CreateRechargeOrder(用户。Id,钱);返回Json(new payment result(true){ OrderId = order。订单号});}调用统一订单创建成功后,页面跳转到支付页面。这时候就是按照官方流程来获取prepay_id和paySign了。微信演示提供了一个jsApiPay的对象。但是这个对象需要一个页面对象初始化。
原因是你需要在微信官方账号设置一个支付目录。而且这个支付目录是区分大小写的,要试几次。直到弹出密码输入窗口才是真的。流程是正确的。然后你就可以在支付成功后立刻在js里收到回拨。这时候你就可以处理你的订单和业务逻辑了。
如果摘要是一个生产环境,我们需要多处调用,重新打包。
函数jsApiCall(json,success,fail){ weixinsbridge . invoke( # 39;getBrandWCPayRequest # 39、json、//josn字符串函数(RES){ weixinsbridge . log(RES . err _ msg);//alert(RES . err _ code+RES . err _ desc+RES . err _ msg);if(RES . err _ msg = = ;get _ brand _ WC pay _ request:ok ;){//充值时,要区分是问题充值还是购买奖励。前者冲向他的钱包。//后者直接冲系统账号if(success)success();} if(RES . err _ msg = = # 39;get_brand_wcpay_request:取消 # 39;){//alert( # 39;取消付款 # 39;);if(fail)fail();} } );}function callpay(json,success,fail){ if(type of weixinsbridge = = ;未定义 ){ alert( ;请在微信里打开!");if(document . addevent listener){ document . addevent listener( # 39;WeixinJSBridgeReady # 39,jsApiCall,false);} else if(document . attach event){ document . attach event( # 39;WeixinJSBridgeReady # 39,jsapi call);document . attach event( # 39;onWeixinJSBridgeReady # 39,jsApiCall);} } else { jsApiCall(json,success,fail);} }查看代码
[LoginValid]公共操作结果H5 pay JSON(string or ederid){ var user = _ work context。CurrentUservar order = _paymentService。GetOrderByOrderNumber(or ederid);//确定订单是否存在//订单是否已支付var openid = user。OpenIdvar jsApipay = new jsApipay MVC(controller context。HttpContext) { openid = openid,total_fee = (int) order。金额* 100 };试试{ jsApipay。GetUnifiedOrderResult();返回Json(jsApipay。GetJsApiParameters());//实际上是字符串吗} catch (Exception e) {//统一订单失败返回JSON (new portal result (false,e . message));}}这个调用时直接唤起支付。但如果传入的json不是json对象,微信加载动画就会一直卡在那里。
$.帖子( /check out/H5 pay JSON ;,{ orederId: orderId },函数(JSON data){ var jdata = JSON . parse(JSON data);if (jdata.appId) { callpay(jdata,function () { $。帖子( /payment/WeiXinPaySuccess ;,{ ordernumber: orderId },函数(paymentdata) { if (paymentdata。is success = = = true){ submit question();} else { $。alert(paymentdata。消息);} });},function () { $。警报( 您已经取消了支付!");});} else { alert( ;统一下单失败!");} });相信你看完这个案例已经掌握了方法。更多精彩请关注主机参考其他相关文章!
推荐阅读:
webpack自动刷新和解析的使用
模块热更换组件的详细说明
JS事件先发布后订阅。以上是微信官方账号支付接口开发的详细内容。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
- 最适合Android开发的Linux发行版是什么?(linux android开发)
- 哪个Linux系统最适合Android开发?
- linux在嵌入式系统开发领域的广泛应用(嵌入式Linux应用场景)
- 微信官方账号开发详细介绍(微信官方账号开发方法)
- 传智和黑马微信公众平台开展视频资料共享(传智黑马培训学校怎么样)
本文由主机参考刊发,转载请注明:微信官方账号支付接口开发(微信微信官方账号支付功能开发) https://zhujicankao.com/80941.html
评论前必须登录!
注册