微信支付接口中为什么demo中提供的js调用不到支付界面

新手学堂010

微信支付接口中为什么demo中提供的js调用不到支付界面,第1张

demo中提供的js是无法访问到真实的支付界面的。因为demo中只是用来演示的,微信的支付接口是部署在内网的,外网是无法访问的。

(1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用getBrandWCPayRequest接口,发起微信支付请求,用户进入支付流程。

(2)用户成功支付点击完成按钮后,商户的前端会收到JavaScript的返回值。商户可直接跳转到支付成功的静态页面进行展示。

(3)商户后台收到来自微信开放平台的支付成功回调通知,标志该笔订单支付成功。

1。微信接口:应用程序编程接口,简称API(Application

Programming

Interface),微信接口开发及公众平台消息接口为开发者提供了一种新的消息处理方式。

2微信支付接口是微信接口的一种,用于满足支付功能!

1、申请了微信支付,我该如何搭建我们公司的微信店铺? 答:只有微信支付接口是无法完成店铺搭建的,微客来给你提供了最强大的、经过大批微信支付商家检验过的微店铺系统,而且,我们的服务是免费的。 2、我公司售卖商品/服务在经营类目中找不到对应的,怎么办? 答:基于平台风险管理,首期仅开放部分类目,后续将逐渐增加更多可接入类目,欢迎更多商户接入微信支付功能,敬请期待。 3、我提交完申请资料之后一直没有通过审核,为什么? 答:在收到你提交的申请资料之后,微信审核团队会在7个工作日以内给你审核结果。若审核被驳回,你可登录公众平台查看驳回原因,请你尽快根据驳回原因调整填写内容,并再次提交,微信审核团队将继续为你审核。 4、个人可以申请微信支付吗? 答:仅接受公司主体的公众号申请微信支付权限。 5、交纳的微信保证金、支付手续费,会否开具发票或收据吗 答:会开具支付手续费发票,不会开具微信保证金发票,因微信保证金是存放于商户自己的财付通账户中的,处于冻结状态,腾讯没有收到此款项,所以不会提供保证金发票或收据。6、微信支付和财付通的关系? 答:微信支付是以绑定银行卡为基础的支付服务,由财付通提供支付牌照和银行通道的技术支持。用户使用微信支付绑定银行卡,和微信号对应QQ使用财付通的绑定无关。同时,用户使用微信号对应QQ登录财付通,无法查看微信支付绑定的银行卡和对应的交易记录。对于用户,主要认知的是微信支付品牌。对于商户,除了拥有微信公众号的商户身份,还会有微信公众平台分配一个财付通的商户号,用于结账收款。 7、微信除了提供商户的支付接口,还有其他接口能力吗? 答:除了支付接口,微信还会提供订单查询、退款、退款查询、对账单下载等支付相关的接口,和财付通提供给商户的接口能力一样。微信提供的全套接口,微客来均会第一时间跟进完成开发,方便商户的微信店铺经营。 8、微信支付的支付类型是? 答:微信支付使用的是B2C即时到账接口,暂不支持C2C的担保交易类型。 9、收货地址共享的地址格式是? 答:微信收货地址是基于三级的国标数据,地区对应是国标三级地区码,如“广东省-广州市-天河区”,对应的是510630。 10、微信支付的安全性如何保证? 答:有以下手段保证支付安全: - 绑定银行卡需要验证实名信息和银行预留手机号;绑定银行卡后设置支付密码,交易需要验证此支付密码,大额支付还需要验证手机短信; - 微信认证商户网页是安全的支付环境,会有微信安全支付的认证标题,提示用户; - 支付后台有腾讯的大数据支撑,海量的数据和云端的计算能够及时判定用户的支付行为存在的风险性,如异地支付、非常用设备支付、QQ号被盗等情况,会分析和拦截异常支付行为; - 724小时客户服务,加上微信客服,将及时为用户排忧解难;同时为微信支付开辟的专属客服通道,将以最快的速度响应用户的提出问题并做出处理判断; 此外,微信支付还联合PICC推出100%全赔保障,用户如因使用微信支付造成资金被盗等损失,将可获得PICC的全赔保障。而申请赔付时,只需提供相应的损失真实性证明和身份证明即可。 11、接入微信支付,商户担心网页会被假冒和钓鱼? 答:微信会认证安全商户的网页,提示“微信安全支付”;不安全或者高风险的网页,微信会弹出中间页提示不安全,并拦截,未受安全认证的网页内填写相关帐号或者支付,也会提示有系统“网页内提示不要输入QQ密码或请勿支付”。 12、商户使用微信支付需要有一个财付通商户号,能否使用已有的商户号? 答:由于支付权限和支付费率的差异,不能使用已有的财付通商户号,需要在微信公众平台重新申请开通。 13、微信支付为什么之前没有全面开放? 答:一直以来,微信都在开放的道路上不断探索前行。微信支付作为移动电商O2O非常重要的一环,全面开放之所以姗姗来迟,主要是基于体系完善度的考虑。微信的支付接口涉及到商家的认证资质、手续,更重要的是微信始终把用户体验放在第一位,因此对微信支付的开放慎之又慎。此前,微信与众多合作伙伴共同探索,在经过反复的测试,不断的优化之后,才正式对全行业全面开放。 14、本次微信支付全面开放给所有公众号吗?开放规则是什么?为什么目前还有条件限制? 答:本次微信支开放面向已经通过微信认证、且其经营范围属于首次开放类目的服务号。符合资质的服务号可以申请所有开放的类目,目前只限实物类的经营。包括有:商超百货、服饰鞋包、母婴食品、数码家电、图书、化妆品、汽车及配件等20多个类目范畴。 同时,经过一段时间的内测,我们也发现不同行业对平台能力的要求是不同的,还需要更多的平台能力和运营机制的磨合,因此我们本次先向相对成熟的行业开放,后续会根据平台的运营情况再考虑向其它行业逐步开放。 15、微信支付全面开放后的价值是什么? 答:微信支付是连接一切的能力,微信支付的全面开放将助力传统企业的互联网化。微信支付全面开放后,将为基于微信的移动商家提供全新的支付能力,为用户带来全新的购买体验。微信的用户基础,社交能力,开放能力令微信支付不仅仅是一个工具,更形成有效触达用户和提供服务的平台。对整个行业来说,开放的公众平台+全面开放的支付能力,将深刻影响移动互联网未来生活的发展。 16、微信支付未来的开放计划是什么? 答:微信的开放策略将会持续推进,微信支付的开放也才刚刚开始。未来,我们会根据平台的运营情况逐步开放。

这个嘛,BeeCloud提供支付资质代申请服务,帮助您准备及预审申请材料,一对一的客服服务,提高申请通过率,一次提交企业资料,就可以完成多个支付渠道的申请。wenxin支付5~10个工作日,支付宝3~7个工作日,银联支付7~15个工作日。流程大致为:注册账号、创建移动应用、开发资质认证(300元/年)、申请开通移动应用的微信支付功能,微信公众号支付在微信公众平台或企业平台申请开通,流程大致为:注册服务号或企业号(订阅号不能申请微信支付功能)、服务号认证(300元/年)、申请开通微信支付功能,微信公众号的微信支付功能包括微信公众号内支付(又称JSAPI支付,即weixin内H5网页支付)、微信扫码支付、微信刷卡支付。

最近开发单页应用,然后集成在微信端。因为项目需要接通微信支付,而在开发过程中也遇上了一些问题。所以便写下这篇文章,希望给同样遇上问题的朋友一个参考。

在项目打包上线,微信上测试的时候结果报出以上错误。网上查看了很多资料,但是都没有比较详细的解决方案。

也许是出于安全的考虑,在使用微信提供的JSSDK的时候,我们需要给当前的网址签名。我们需要在微信公众平台上填写当前网址的url。具体如下:

那么我们微信公众平台上绑定的url就应该是 wwwtestcom/orderPlus/ 。微信允许网址最后一个参数可变化,此刻我们就能够正常调用微信支付接口了。

如果你访问的网址如下,就会出现上图中的错误,当前页面url未注册的警告。

因为微信签名url只能允许url地址最后一个参数可变化。但是,实际开发中,我们的支付页面可能有很多个,而且深入程度不同,而微信允许添加的url授权地址又只有5个。那样的话如何解决呢!

如果遇到以上问题,我们可以使用H5的historypushState()和historyreplaceState()这两个方法。这两个方法的作用是相同的,他们只会修改当前url的地址,但是不会刷新我们的网页,唯一不同点在于一个重新创建一个url地址,而另外一个会修改当前的url地址,导致路由历史记录被覆盖。那么,我们的问题就可以解决了。而这两个方法具体的使用,大家可以查询官方文档。

大致的解决方法是,比如一个充值页面,当我们输入完金额之后,点击充值按钮的时候,首先触发historypushState(null,null,"Ahtml"),传入三个参数,前两个参数大家参考官方,最后一个参数是我们需要修改的url地址。

这里我说明一下,自己使用上述方法后的一点心得。上述方法第三个参数,有一些注意点。

当我们传入"/Ahtml"的时候,他会将我们域名后的参数全部去掉,然后将我们的参数添加上去。

当我们传入"Ahtml"的时候,他只会把网址最后一个参数修改掉。

当我们传入"?Ahtml"的时候,他会将我们的添加的参数,添加到我们的url后。

以上就是需要注意的地方。

原本以为通过上诉的方法,一切会很顺利。结果,在我实际测试的时候,又出现了一个坑爹的情况。测试上安卓手机能够成功唤起支付,而ios却不能唤起。(ios下第一次能够唤起,关闭网页,再次打开就不能正常唤起了)。

查看许多的资料,最后得出的结果是,对于单页应用,ios系统获取签名的url是我们首次进入的地址,而安卓系统获取的是当前的url地址。

我们之前说过,微信能够允许url后一个可变参数,而现在出现两个参数,结果就无法唤起支付了。而安卓是拿取当前的url地址,而我们每次去唤起支付的时候,都会去修改这个地址,所以安卓就没有问题,而ios拿取的是我们首次进入的地址。

既然如此,就只能为ios系统在一开始进入的时候,就将url地址修改掉。

本人使用react框架开发单页应用,所以我在appjs也就是最顶层的组件中将url地址修改掉。成功解决问题。

本来以为一切就此结束,结果,又一个麻烦的问题出现了。项目中url中的一个参数是根据微信授权后,后台根据不同用户产生的不同的id值。这样的话,问题就出现了。

以上只是一个举例,实际上用户是无法预测的。而我们通过微信公众平台后台授权的url地址只有5个,就算没有限制,手动添加也是不可能的。

想了许久,最后我想到了一个方法。这里要使用historypushState()第三个参数的第三种写法,也就是增加一个"?"。因为,在浏览器中,系统会默认将?后面的参数全都忽略。

以上url,系统只会识别 wwwtestcom/orderPlus/demo 至于后面的参数都不会管,而微信授权签名也只会寻找前面有效的参数。那么我们就可以通过这种方式将url地址修改掉。

而且通过这种方式修改的url地址,并不会对单页应用内部路由产生问题。

一、

  1使用网页授权接口

  使用网页授权接口获取用户的基本信息。

  2使用共享收货地址控件

  使用共享收货地址控件,获取用户在微信的收货地址。

  3使用JSAPI发起支付请求

  使用JSAPI在微信的网页中发起支付请求,详细方法见文档中有关JSAPI的章节。

  4使用NativeAPI发起支付请求

  使用NativeAPI发起支付请求,详细方法文档中有关NativeAPI的章节。

  5接入客服维权系统

  所有公众号商户必须接入客服维权系统。接入客服维权系统后,用户可以通过自定义菜单中“维权”菜单,选择订单,向微信发起维权请求。微信将会把维权信息通过payfeedback_url通知到商户,商户必须在规定时间内处理维权请求。

  6在第三方应用上发起支付请求

  在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。

  微信支付接口开发的出现改变了传统网购只有支付宝这种第三方支付平台的格局,无论是买家还是卖家都有了个新的选择,对于人们而言只是有利而无害的。

  二、

  1使用网页授权接口

  使用网页授权接口获取用户的基本信息。

  2使用共享收货地址控件

  使用共享收货地址控件,获取用户在微信的收货地址。微信公众号支付收货地址共享接口文档V16pdf点击下载

  3使用公众号发起支付请求

  使用JSAPI在微信的网页中发起支付请求,详细方法见文档中有关JSAPI的章节。

  使用NativeAPI发起支付请求,详细方法文档中有关NativeAPI的章节。微信支付接口文档及demo(公众账号)zip点击下载

  4接入客服维权系统

  所有公众号商户必须接入客服维权系统。接入客服维权系统后,用户可以通过自定义菜单中“维权”菜单,选择订单,向微信发起维权请求。微信将会把维权信息通过payfeedback_url通知到商户,商户必须在规定时间内处理维权请求。微信公众号支付用户维权系统及接口说明V16pdf点击下载

  5在第三方应用上发起支付请求

  在iOS平台和android平台上的第三方应用,通过微信支付SDK发起支付请求。微信支付接口文档及demo(APP)zip点击下载

  6微信支付退款&对账

  使用微信支付退款和对账功能,帮助轻松实现退款和对账。微信支付(退款&对账接口)文档zip点击下载

  微信支付接口开发对接教程就是这样,微信支付接口开发完后一定要进行对接。现在无论供接口开发、微信接口开发还是需要微信支付接口开发,一品威客网上都有优秀的接口开发设计威客给你提供各种方案。

申请条件:微信支付接口,目前只对通过微信认证的服务号(包括企业、商店商家、非事业单位媒体类服务号)、政府、媒体两大类型的订阅号和企业号开放。申请方法:1进入微信公众平台,申请一个微信公众号,类型为服务号(一天时间审核);2申请微信认证,在左侧菜单栏找到服务,服务中心,里面有两个选项基础接口,微信认证,点击微信认证,3进行商户信息的填写,找到商户功能,提交企业信息表以及银行账户信息。那接下来的就是等待微信官方的审核了, 审核通过了那么将签订在线合同 ,那你就可以开始开发工作,构筑你的微信支付了。