微信支付sdk是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。通过使用微信支付SDK,网页开发者可借助微信高效地使用微信支付功能,为微信用户提供更优质的网页体验。
微信支付的模式有:刷卡支付、扫码支付、公众号支付、App支付
地址:https://open.weixin.qq.com/
使用公司管理者/高层帐号登录微信开放平台,进入“账号中心”,进行开发者资质认证,需要填写公司资料,如公司注册号,公司营业执照,公司对外办公电话,公司对公银行卡信息等。
每个应用/游戏要调用微信的接口都需要有一个微信标志,这个唯一标志通常成为APP_ID或者APP_KEY,各开放平台差异并不大,进入管理中心,创建移动应用,每个开发者具有10个应用的创建机会,申请appid需要填写应用信息:应用名称,包名,签名(keystore的md5值去分号小写),icon(28*28 & 108*108),app下载地址等信息,即可分配到一个appid。
在管理中心,查看需要集成支付能力的app,找到“微信支付”一栏,点击右侧“申请开通”,填写一些企业信息后等待审核,审核通过后,会得到一个企业商户号及密码,对公银行卡中将收到几分钱,进入商户平台,输入收到的金钱金额以验证。验证通过后即可开始集成支付调用。但在这之前,调用支付接口是无法完成支付的。
1.客户端代码得到用户购买的商品信息,将之传给自己公司app服务器
(备注:详细字段请参考:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1)
2.app服务器调用微信“统一下单”接口,得到prePayId订单号并返回prePayId给手机客户端;
3.手机客户端使用prePayId及商品信息调起微信客户端进行支付;
备注:用户操作:输入密码进行支付;返回键取消支付;网络无连接支付失败等;
4.微信客户端回调支付结果给咱们的APP客户端;
5.微信服务器异步通知咱们公司app服务器支付结果(服务器的工作,与客户端无关)
地址:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
由于低版本的SSL存在高危漏洞,需要确认系统所使用的SSL版本是否需要升级
详细说明:https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1414562353&version=11&lang=zh_CN
如果服务器开启了IPV6支持,由于当前互联网对IPV6支持不完整,导致在DNS解析时通常会碰到超时问题;建议在调用支付API时,显示指定使用IPV4解析。
(1) 是否存在跨运营商访问的情况,详见网络超时的定位
可以ping api.mch.weixin.qq.com查询对应的解析IP
通过访问ip.qq.com获取取口IP,也可以根据商户侧服务器的外网IP确认
(2)是否使用的阿里云主机
由于阿里云使用的BGP,需要确认解析出来的IP是否为182.254.44.159,否则需要调整DNS设置,使用阿里本身的DNS服务器
(3)是否使用curl库访问
需要指定参数使用iPV4,具体可参考http://www.jb51.net/article/39788.htm
(4)确认java程序使用的HttpClient的版本是否<=4.3.4
可升级HttpClient到4.3.6版本
秀友百科词条内容均由网友提供,仅供参考。如发现词条内容有问题,请联系管理员。