微信公众号支持微信支付流程

发表于:2017-12-19 13:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:斯沃勒科教工作室    来源:51Testing软件测试网采编

  这里模拟一个微商城中选购物品,随后直接通过微信进行支付的场景。
  1、申请微信公众平台账号,主要是身份证、手机号、营业执照等,申请之后等待微信确认,需要拍照上传公司盖章的一个说明,其他没有特殊之处;微信申请之后会获得APPID、APPSECRET等关键参数,后面会用到。
  2、申请微信支付功能,大多数内容直接填写即可,主要是支付商品类型、经营范围、对公银行账户之类的,这里走的弯路是商品经营类型多次勾选不对导致申请失败,要注意根据微信的提示进行修改。
  3、微信支付申请核准之后,微信会向对公账户打一笔小额款项,规定时间内反馈确认即可,然后有一份同意书,点同意签署即可完成。这样,就会得到微信支付商户号,同时根据指引可以设置支付KEY和相关密码。
  4、假设在已经开发了一个商品页面http://xx.xx.xx.xx/demo/demo.php,需要在该页面中集成微信支付功能,流程如下:
  4.1 通过微信公众平台--公众号设置--功能设置JS接口安全域名和网页授权域名,都设置为xx.xx.xx.xx/demo
  4.2 通过微信商户平台--产品中心--开发配置配置公众号支付授权目录,设置为http://xx.xx.xx.xx/demo/
  注意,这一步很关键,必须按照规则配置,否则会报“目录未授权”之类的错误,发生在支付进行时,弹一个对话框
  5、通过https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1下载PHP或者其他语言版本的微信支付官方DEMO,并进行解压。
  6、解压后,会发现里面有index.php,cert,lib,example等目录,其中还有一个doc目录,里面有DEMO使用说明。
  7、将lib、cert目录和example中的jsapi.php、WXPay.JsApiPay.php、notify.php、log.php几个文件,以及DEMO根目录下的index.php文件拷贝到http://xx.xx.xx.xx/demo/目录下,注意不要放在demo的子目录下,否则会弹出“目录未授权”之类的错误。
  8、下面对几个文件进行配置和修改:
  8.1.修改index.php中跳转链接,将http://paysdk.weixin.qq.com/example/jsapi.php修改为http://xx.xx.xx.xx/demo/jsapi.php
  8.2.修改jsapi.php,将其中$input->SetNotify_url中的//paysdk.weixin.qq.com/example/notify.php修改为http://xx.xx.xx.xx/demo/notify.php;将../lib/WxPay.Api.php修改为./lib/WxPay.Api.php
  8.3 将WXPay.JsApiPay.php的require_once "../lib/WxPay.Api.php";修改为require_once "./lib/WxPay.Api.php";
  8.4 修改lib目录下的WxPay.Config.php文件中定义的APPID、APPKEY、MACH_ID、SECRET等参数,修改为自己的
  8.5 将lib目录下WxPay.Api.php的第540行左右的
  curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
  curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,2);//严格校验
  修改为
  curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
  curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);//严格校验2
  这一段不修改,会使得curl出现60的错误。
  8.6 通过商户平台(不是公众号平台)--账户中心--API安全--下载API证书并拷贝覆盖至cert中
  8.7 notify.php是支付成功失败后的回调,可以在其中定制支付成功后的处理操作,如刷新数据库
  8.8 在jsapi.php中有获取openid一段,正常没有问题,但如果公众号已经取得了用户openid,那么将会报code已被占用的错误,这时直接通过赋值的方设置openid就可以了。
  经过以上各步,基本就可以实现公众号的微信支付功能。

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号