(这篇文章默认支付接口是正确可用的)
在写项目的时候,客户要求做一个店铺扫码支付的功能,这个功能在支付宝上很容易实现,官网上集成了这个方法。
但是微信却不然,微信的这个功能实现需要程序员对于微信本身的公众号支付的接口进行二次开发。
开发的思路也很简单就是程序员这边做一个可以输入价格的界面,然后调用微信的公众号支付接口即可。
但是就这么简单的功能,我就卡了好几天。
出错的地方在于在线上微信内扫码打开上面的页面之后,点击表单提交,不论是get还是post都无法实现数据的正确传递。
基于我是一个从没有写过html页面的人,我一开始怀疑我的页面写的不对,我仔细检查完了之后,确定在除去线上微信内
的其他地方都是可以正确的得到预期的数据。
于是我就去问万能的度娘,得到的结果应该和大家的差不多,微信内post以及get传参有可能失败的,正当我准备骂娘的时候,
突然意识到,我们公司一直都在开发微信内的业务呀,也没发现有传参参不过来的问题呀。于是在稀里糊涂的搞了几天之后,我终
于发现了问题所在,吼吼!
对微信支付有一定了解的人都知道微信公众号支付即JSAPI支付需要去微信公众平台配置用户的支付权限目录,问题就出现在
这个支付目录,微信对于这个支付目录的限制很死,例如http://xxx/就是你设置的支付目录,那么你的支付接口代码写的路由至多
只能在设置好的支付目录下一层。不然都会报该路由没有支付权限。这只是其一,其二是进入支付目录的传参也会被微信保护,所
以get-post传的值会被微信取代或者拦截掉。
知道了上述的两点:那么解决方法也就很简单了,就是通过路由来传递参数,例如http://xxx/0-价格-备注,然后在后台的代
码中用 explode('-',变量名); 方法来对路由的最后部分进行字符串数组拆分,就可以在微信的规则下得到需要传递的参数了。
在这里我就不展示我php的代码了,因为里面都是公众号支付的代码,和此篇的文章内容不符合,我就冒昧的贴出我的html代码,
展示如何将参数放在路由上传递吧(其实也没什么)。
<html><head> <meta charset="UTF-8"> <title>微信扫码支付</title> <style> .hide{display: none;} </style></head><body><h1 id="微信扫码支付">微信扫码支付</h1> 数额:<input type="text" id = 'price' name="price" ></br> 备注:<input type="text" id = 'tradingReason' name= "tradingReason" ></br> <input class="hide" type="text" id = 'url' name= "url" value="{{ url }} "></br> <input type="submit" value="支付" onclick="sub(getValue('price'), getValue('tradingReason') , getValue('url'))"></body><script type="text/javascript"> /* * 模板套的时候单击事件中的跳转方法不要改变(不然值传不到后台)--对传送的价格要进行合法性的验证 * */ function getValue(id) { return document.getElementById(id).value; } function sub(price, tradingReason , url) { var str =url+'-'+price+'-'+tradingReason; self.location = str; }</script></html>
最后展示一下最终的劳动成果吧!
本文永久地址:http://blog.it985.com/16089.html
本文出自IT985博客 ,转载时请注明出处及相应链接。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML的作用是通过标签和属性定义网页的结构和内容。1.HTML通过到、等标签组织内容,使其易于阅读和理解。2.使用语义化标签如、等增强可访问性和SEO。3.优化HTML代码可以提高网页加载速度和用户体验。

htmlisaspecifictypefodyfocusedonstructuringwebcontent,而“代码” badlyLyCludEslanguagesLikeLikejavascriptandPytyPythonForFunctionality.1)htmldefineswebpagertuctureduseTags.2)“代码”代码“ code” code code code codeSpassSesseseseseseseseAwiderRangeLangeLangeforLageforLogageforLogicIctInterract

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

如何设计菜单中的虚线分割效果?在设计菜单时,菜名和价格的左右对齐通常不难实现,但中间的虚线或点如何...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具