PHP开发支付宝之电脑网站支付--流程简介
前言
前端时间自己开发了一个drupal的支付宝模块,现在整理一下过程,因为支付宝官方网站提供的接口及文档都是新接口的,而且使用新接口的过程比较麻烦一点,所以整理一下
1.支付宝的账号必须经过企业资格的审核才可以进行正式环境的支付。不过不是企业也可以过一把支付宝开发的瘾,因为支付宝提供了沙箱环境,供你(对,就是还不具备企业资格或者审查没通过的你)测试
2.支付宝新的开发接口和老的不太一样,以前只要有账号就行,现在必须申请“应用”才可以,一个账号可以申请多个应用,一个应用可以具有多个功能,比如“电脑网站支付”,“手机网站支付”等等
一、开发流程概览
1.只看官网文档就够了蚂蚁金服开放平台
2.下载PHP的SDK&demo
3.申请应用 OR 使用沙箱环境
4.生成应用私钥&应用公钥
5.配置config.php
二、具体实(kai)施(gan)
1.进入开放平台
百度“蚂蚁金服开放平台”,对,没错,就是叫这个名字,现在支付宝的开发接口都在这个开放平台上!这里有各种文档供你搜索和学习。
第一次使用的话,进入“文档中心”-》“开发文档”
这里有各种选择,总有一款适合你:
我们这里选择电脑网站支付:
如上图所示,左侧的菜单对应的内容,足够指导你了。不过我还是要继续bala······
下载php的sdk,单击左侧菜单“SDK&Demo”,下载php对应的文件:
下载之后的demo还不能直接使用,因为需要配置config.php文件:
2.申请应用 or 使用沙箱环境
登录“蚂蚁金服开放平台”之后,单击“开发者中心”
2.1 申请应用
登录之后,单击“开发者中心”-》“创建应用”,具体步骤参考支付宝官网文档:电脑网站支付快速接入,这里不再赘述
2.2使用沙箱环境
恩,没错,我只是一个屌丝程序员,不是企业或者个体工商户,所以没法申请一个正式的“应用”,因为2.1步骤里需要提交企业的资料才行。
所以我们就是用沙箱环境,恩,就是这么机智。
单击"研发服务"下的“沙箱环境”-》“沙箱应用”,配置应用公钥
接下来就需要生成密钥对,配置支付宝平台上的。支付宝提供了生成私钥、公钥的工具,很好操作。
2.2.1生成密钥
鼠标放到“RSA2(SHA256)密钥(推荐)”的图标上,就会出现提示:
单击生成方法,就会进入对应页面,下载工具,生成公私密钥。
2.2.2配置config.php
生成之后:
应用公钥配置到沙箱应用的RSA2对应的应用公钥里;
应用私钥配置到config.php的“商户私钥”;
沙箱应用的APPID复制到config.php的appid里;
沙箱环境的“支付宝公钥”配置到config.php的“支付宝公钥”里面;
config.php的“支付宝网关”需要改为沙箱应用的“支付宝网关”。
congfig的notify_url和return_url,主要是通过支付宝返回的数据,处理自己业务的接口。可以先不配置,因为目前已经可以成功请求支付宝的支付接口了。
三、配置之后,请求支付宝
1.config.php:
2.支付宝官方demo页面:
3.单击“付款”:
OK啦
---------------------------------------------------------------------------------------end-----------------------------------------------------------------------------------------------------------------------------
最后吐槽一下,沙箱环境的支付没法走通!
原因是:支付界面必须使用支付宝提供的产品“沙箱钱包”通过扫一扫支付,我们手机上正常的支付宝是没法扫一扫支付的,而且只提供Android版,见下图:
于是我去下载,但是我下载下来之后,必须注册新账号(类似于测试账号),但是一直注册不成功,打了支付宝客服咨询,然并卵,客服说他自己也不懂,不过客服的态度倒是挺好
---------------------------------------------------------------------补充一下,正式应用的支付界面------------------------------------------------------------
PHP开发支付宝之电脑网站支付--流程简介的更多相关文章
- 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结
前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...
- 支付宝支付-PC电脑网站支付
支付产品全面升级(更新时间:2017/05/05 ),若您使用的是老接口,请移步老版本即时到账文档. 支持沙盒环境的测试 此项目已开源欢迎Start.PR.发起Issues一起讨论交流共同进步 htt ...
- 支付宝手机网站支付流程(Node实现)
前言 公司M站要接入支付宝,借机研究了一下支付宝的支付流程.毕竟,只有公司才能拿到支付接口权限. 主要参考文档: https://doc.open.alipay.com/doc2/detail?tre ...
- 支付宝:电脑网站沙箱测试(Java)
1.下载电脑网站的官方demo: 下载地址:https://docs.open.alipay.com/270/106291/ 2.下载解压导入eclipse readme.txt请好好看一下. 只有一 ...
- 自己动手搞定支付宝手机Wap网站支付接口 FOR ECShop
支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语. 主要是得自己查看支付宝官方提供的SDK中的开发文档. 支付宝sdk下载地址:https://doc.open.alipay ...
- 支付宝电脑网站支付 alipay.trade.page.pay
只涉及支付接口 其他接口没有使用 支付宝官方文档:https://docs.open.alipay.com/270/105899/ 支付接口文档 https://docs.open.alipay.co ...
- Android开发---支付宝功能接口(支付功能)(转载!)
最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...
- laravel5集成支付宝alipay扫码支付流程(Laravel 支付解决方案)
首先我们来探讨如何在Laravel应用中使用支付宝进行支付,对此,GitHub上有很多相关的包,其中最流行的两个包:Omnipay For Laravel 5 & Lumen 和 Larave ...
- java开发支付宝支付详细流程_demo的运行
首先我要吐槽一下支付宝的开放平台简直就是一个迷宫,赞同的顶一下,下面我把要下载的地址给贴出来要不真不好找: 一.准备工作 1.签名工具下载 https://docs.open.alipay.com/2 ...
随机推荐
- 初学Oracle
初学Oracle,遇到了很多的问题,下载的是Oracle11g,没有找到合适的管理工具,所以用sql plus 创建表,以下是本人总结的一些sql plus的命令行的命令,希望对大家有用 与sql p ...
- 架构师养成记--35.redis集群搭建
前记:redis哨兵经验之谈.哨兵做主从切换可能要花费一两秒,这一两秒可能会丢失很多数据.解决方法之一是在java代码中做控制,try catch 到 链接断开的异常就sleep 一两秒钟再conti ...
- JVM调优总结 -Xms -Xmx -Xmn -Xss(转自:iteye unixboy)
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...
- jinja url_for js 参数
在JavaScript中,也就是客户端,向flask路由服务器端使用post请求并在url_for中传递参数,服务器端获取不到该参数, Jinja不能使用Javascript变量,如下所示: var ...
- 【杂题】[LibreOJ 2541] 【PKUWC2018】猎人杀【生成函数】【概率与期望】
Description 猎人杀是一款风靡一时的游戏"狼人杀"的民间版本,他的规则是这样的: 一开始有 n个猎人,第 i 个猎人有仇恨度 wi.每个猎人只有一个固定的技能:死亡后必须 ...
- 使用mint-ui的 InfiniteScroll 做数据分页请求
1.首先 npm install mint-ui 2.在main.js引用 import { InfiniteScroll } from 'mint-ui'; Vue.use(InfiniteScro ...
- symfony4 404页面未找到
symfony4 404页面未找到 安装好symfony4后,发现除了首页能正常显示,其他页面如/_profiler_/等其他创建的router访问都显示The requested URL /xxx ...
- .Net Core 发布异常 An assembly specified in the application
在Core 2.0站点发布时.. DotNet WW.kkkk.dll 报错..报文内容如下: Error: An assembly specified in the application depe ...
- Mac下用Launchd实现使用rc.local执行开机启动命令
其实原理很简单,使用Launchd创建一个开机启动的服务,然后这个服务关联/etc/rc.local文件,那么接下来操作rc.local就和Linux下一样的了. 当然,这种思路还可以直接使用在~/. ...
- Mac下使用crontab来实现定时任务
说明: 1.Linux和Mac下操作crontab都是一致的 2.配置文件都在/etc/crontab下,如果没有就创建. 3.测试发现直接使用crontab -e命令创建的定时任务是放在临时文件夹的 ...