PHP如何调用微信支付接口调用

如何实现支付宝以及微信支付的API接口 [问题点数:40分,结帖人beatyou]

支付宝去官网下载SDK
/doc2/)部署,这个应用里面只有api接口。反正就是各种controller,各种action。跟普通web差不多,少了个view层。
2、写一个支付的接口,里面有支付宝、微信的支付创建接口,还有支付宝、微信的接收通知接口,具体支付文档看楼上列出的。
3、记得客户端没用到的数据不要返回,gzip打开。因为访问量一大,接口的流量也是很大的。

1、可以把api单独做为一个应用()部署,这个应用里面只有api接口。反正就是各种controller,各种action。跟普通web差不多,少了个view层。
2、写一个支付的接口,里面有支付宝、微信的支付创建接口,还有支付宝、微信的接收通知接口,具体支付文档看楼上列出的。
3、记得客户端没用到的数据不要返回,gzip打开。因为访问量一大,接口的流量也是很大的。

你的意思是不管是什么样的支付,服务端实现统一下单,前端以及APP客户端,只要发起支付就行,我不知道理解对不对?

这个是有个接口回调的吗

一般都有回调的,支付宝的用起来比较麻烦,微信的要好点

匿名用户不能发表回复!

微信越来越深入人心了,现在的扫码支付接口必须要会开发,支付宝即时到帐开发也必须要会;最近写了一个支付接口开发,你只要需要把配制文件中的APPid、KEY等修改为你自己中你申请的时的就可以,傻瓜式操作,无论你是技术大神还是刚入门的小白,只需修改一下配制文件,就可以轻松写商城、支付接口从此不再难!

演示效果你可以参考下这个:效果图:


一、支付宝修改配制文件如下:

//安全检验码,以数字和字母组成的32位字符

//↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

//签名方式 不需修改

二、微信支付修改配制文件如下:

最后说明:1、修改如上配制文件支付宝和微信支付均可付款成功


2、支付宝和微信支付最终会有个回调函数,去修改订单的状态
3、这个Callback的地址也就是URL就是根据你自己的网站去做配制了
4、微信支付相对比较复杂些、不过只要你安照此教程去修改,包你可以付款成功

三大支付方式里面,最复杂也是坑最多的非微信支付莫属,我们从微信开始讲。另外两个分别是支付宝和银联支付。

常见的微信支付种类有下列四种:

微信JS支付,也称公众号内支付,使用场景就是微信里面的H5商城,在微信以外的地方无法使用

微信PC支付,也称扫码支付,使用场景是PC端,注意这里并不是“原生扫码支付”

微信APP支付,使用场景是原生或者混合APP

微信WEB支付,场景是微信外的触屏网站,这个接口一直都有,只是最近才开放出来可以让普通公司申请,这个如果有机会的话也会讲一讲

从接口申请阶段开始,四种方式就

,这里不得不感谢一下腾讯,替我们增加了很多工作量。

因为是面向开发人员的教程,所以具体的申请条件、如何申请等内容并不会讲的太详细,只需要注意下面几点即可:

请领导把你的微信号设置为公众号的临时管理员

把公众号和商户平台的账号密码拿到手

微信平台需要自己去重查看APPSECRET,这个过程需要公众号管理员授权

商户平台需要自己去配置KEY,这个过程会有两条验证短信发到领导手机上

总之第一阶段最后需要把这四个数据准确的拿到手:

APPID——登录公众平台查看

APPSECRET——登录公众平台申请重置之后查看

KEY——商户平台自己设置的KEY

这里指的配置是配置公众平台,配置有必要详细的说一下,现在各种现成的项目和集成支付代码比比皆是,可是你就是用不起来,这个时候千万不要花时间去审查代码,是你的配置出了问题。让我们从原理上来理解一下:

业务域名、 JS接口安全域名、网页授权域名

这三个参数在同一个页面进行配置,配置方法也相同,直接填写域名即可。如果你遇到的问题是REDIRECT_URI错误,那多半就是这里出现了问题。

这里一定要填写实际发起支付的页面的URL,并且以斜杠结尾。那么就有三个问题:

我完全没搞懂实际发起支付的是哪个URL

我并不清楚什么叫斜杠结尾

在获取OPENID的过程中会有一次重定向,一般是重定向回本页面,但也有部分项目不会这么做,比如ecshop,就被重定向到了别的页面,所以实际发起页面也就变成了别的页面。

斜杠结尾就是把你的URL从右边开始数,碰到第一个斜杠,把你数过的部分删掉,剩下的就是正确的配置内容。当然还有广大ThinkPHP3.2用户,你们的参数用斜杠来传,就意味着你们在支付页面只能带一个参数,否则怎么配置都不会对的。

有可能你压根没配置对,请参考前两条。如果你确定配置对了,请去喝一杯咖啡,这个配置有时候不会马上生效。

倒一杯咖啡,打开你心爱的代码编辑器,按照这6个步骤来,不要浮躁,你将会再次感谢腾讯……

把你在第一阶段准备的参数放到项目中(运气好的话此时你已经完成了开发)

测试CODE有没有获取到

测试OPENID有没有获取到

测试预支付订单是否正常

把踩过的坑或者套路与大家分享一下:

之间少了一个问号。导致的问题就是有一些用GET传参的同学,OPENID死活获取不到。

订单名称里面不能含有&,暂时只发现这个符号会使得支付发起失败

签名错误,一般是再去检查参数,特别是一些看不到的字符可能混在参数中,最好不要怀疑签名方法有问题。流程中有4个左右的地方会签名,或者验证签名,一定要确保所使用的KEY都是正确的。

来接收微信的通知,做好是接收到就存到数据库里,先确保接收到了,再去调签名和业务逻辑。

操作类的内容和理论类的内容是分开的,例如本文就是操作类的,今后将会有探讨JS支付原理或者公私钥原理的文章,但不是现在,因为不想开留太多坑。

在文章节奏的把控上略显得有些不足,不过我会尽量不出现大篇幅代码,多分享经验干货,多以初学者的角度行文。如果有问题欢迎留言讨论,希望能对大家有帮助!

以上内容属于作者原创,特此声明,如需转载,请取得同意

我要回帖

更多关于 微信支付接口调用 的文章

 

随机推荐