主页 > imtoken钱包下载安卓 > PHP微信开发支付接口程序详解
PHP微信开发支付接口程序详解
现在比特币支付接口php,微信支付接口和支付宝一样慢,可以通过API接口实现第三方网站或应用进行支付。 下面是一个php微信支付接口开发程序,已经通过测试。 感兴趣的朋友可以参考一下。
php微信支付接口开发程序说明:
必要条件:
appid //开发者中心在公众号后台获取(与邮件中的一致)
mchid//在邮件中获取
key//商户后台设置
appsecret //从公众号开发者中心获取
两个证书文件比特币支付接口php,在邮件中获取apiclient_cert.pem apiclient_key.pem
防范措施:
公众号后台微信支付-》开发配置-》新增测试目录和测试个人微信账号。
开发者中心-》网页授权获取用户基本信息-》改成你的测试域名。否则会出现redirect_uri参数错误
——————————后续有待完善——————
微信支付就绪页面后台自己进行了三个操作:
1.获取openid
一开始我也是在第一步遇到问题。 获取不到openid,跟某些服务器有关。 该演示使用 curl 来获取它。
奇怪我的服务器curl一直获取不到。 后来改成file_get_contents就可以正常获取了。
但这不是解决方案。 因为后面会需要更多的curl操作。
看到开发文档里面有地方写证书操作需要libcurl 7.20.1以上版本,然后就一直在整台服务器上完善linux的php curl版本。 最后,我只是切换到另一个windows服务器。
暂时先这样吧,下次需要的时候再debug。
第二步:获取并支付订单号id
代码如下
这一步也遇到了很多问题。
首先,微信支付测试难度较大,只能在微信中测试。 我只是用手机来回滑动。
其次,使用 var_dump 进行调试并不好用。 打印一些xml格式的文件,只显示字符长度,不显示内容。 于是用日志的形式写在服务器上进行调试,日志代码:
代码如下
使用 $this->log_d(xxx); 在demo中调用WxPayPubHelper.php。
一开始一直报错是因为我的mchid和appid不匹配。 . 他们给了我错误的帐号。 起初,我不知道如何进行实验。 这一步的调试是var_dump($this->result); 在 getPrepayId(); 你可以看到错误代码。
第三步:生成支付前端js代码,放到网页上:
代码如下
————————点击进入支付——————————
这部分又遇到问题了:
android 返回“System: Access_denied”,ios 返回“access_control: not_allowed”
我在百度上查了很多。 其实我早就看到这东西了,一直没注意!
发起授权请求的页面必须是授权目录下的页面,不能是子目录下的页面,否则会返回错误
我把支付文件放在/domain name/pay/demo/
一开始总是跑到/domain name/pay/结尾,以为就可以了。 支持子目录,结果不行! .
——————————看下图——————
wxpay1
wxpay3
wxpay2
————————进程中的xmljs————————
为生成和支付提交的订单id:
代码如下
提交后,返回正确,其中包含perpay_id:
生成支付js:
支付成功后返回的通知xml:
数据是任意的,请参考上面的格式。 还要注意区分大小写。以上就是本文的全部内容,希望对大家的学习有所帮助