前言

前端时间自己开发了一个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开发支付宝之电脑网站支付--流程简介的更多相关文章

  1. 支付宝支付之扫码支付(电脑网站支付)、H5支付(手机网站支付)相关业务流程分析总结

    前言 在上一篇文章<微信支付之扫码支付.公众号支付.H5支付.小程序支付相关业务流程分析总结>中,分析和总结了微信支付相关支付类型的业务流程,这里作为与微信支付平起平坐不相伯仲的支付宝支付 ...

  2. 支付宝支付-PC电脑网站支付

    支付产品全面升级(更新时间:2017/05/05 ),若您使用的是老接口,请移步老版本即时到账文档. 支持沙盒环境的测试 此项目已开源欢迎Start.PR.发起Issues一起讨论交流共同进步 htt ...

  3. 支付宝手机网站支付流程(Node实现)

    前言 公司M站要接入支付宝,借机研究了一下支付宝的支付流程.毕竟,只有公司才能拿到支付接口权限. 主要参考文档: https://doc.open.alipay.com/doc2/detail?tre ...

  4. 支付宝:电脑网站沙箱测试(Java)

    1.下载电脑网站的官方demo: 下载地址:https://docs.open.alipay.com/270/106291/ 2.下载解压导入eclipse readme.txt请好好看一下. 只有一 ...

  5. 自己动手搞定支付宝手机Wap网站支付接口 FOR ECShop

    支付宝WAP网站版本的支付接口网上整合的比较少,看到很多网站在卖,顿觉无语. 主要是得自己查看支付宝官方提供的SDK中的开发文档. 支付宝sdk下载地址:https://doc.open.alipay ...

  6. 支付宝电脑网站支付 alipay.trade.page.pay

    只涉及支付接口 其他接口没有使用 支付宝官方文档:https://docs.open.alipay.com/270/105899/ 支付接口文档 https://docs.open.alipay.co ...

  7. Android开发---支付宝功能接口(支付功能)(转载!)

    最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比较多. 在网上搜索了以下,有很多这方面的教程,但大部分教程过于陈旧,而且描述的过于简单.而且支付宝提供的接口一直在 ...

  8. laravel5集成支付宝alipay扫码支付流程(Laravel 支付解决方案)

    首先我们来探讨如何在Laravel应用中使用支付宝进行支付,对此,GitHub上有很多相关的包,其中最流行的两个包:Omnipay For Laravel 5 & Lumen 和 Larave ...

  9. java开发支付宝支付详细流程_demo的运行

    首先我要吐槽一下支付宝的开放平台简直就是一个迷宫,赞同的顶一下,下面我把要下载的地址给贴出来要不真不好找: 一.准备工作 1.签名工具下载 https://docs.open.alipay.com/2 ...

随机推荐

  1. 40.oracle事务

    一.事务特性 事务必须具备以下四个特性,简称ACID属性 原子性(Atomicity):事务是一个完整的操作.事务的各步操作是不可分割的(原子的):要么都执行,要么都不执行场景:银行转账 A-100 ...

  2. SQL Server——存储过程(Stored Procedure)、事物、触发器

    存储过程(proc 或 procedure) 存储过程(Stored Procedure),计算机用语,是一组为了完成特定功能的SQL语句集,是利用SQL Server所提供的Transact-SQL ...

  3. k-近邻算法 python实现

    必要的注释已经写在code里面了: import operator from numpy import* def init(): grp=array([[1.0,1.1],[1.0,1.0],[0,0 ...

  4. [ZJOI2019]Minimax搜索

    先求出根节点的权值\(w\).根据套路,我们对于每个\(k\),计算\(w(s)\leq k\)的方案数,差分得到答案.为了方便,接下来考虑计算概率而不是方案数. 可以发现,对于一个给定的有解的子集, ...

  5. java回调方法之理解

    以前经常看见"回调方法(或回调函数)"一词,但是没有了解过是什么意思,更不知道用法.现在从网络上搜集了一些很好的资料,自己又整理一下,作为自己的笔记,也作为学习过程中的一个小脚印. ...

  6. JavaScript设计模式-15.适配器模式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 事务操作的统计,TPS的计算,隔离级别的读提交

    对于事务操作的统计 因为InnoDB存储引擎是支持事务的,因此对于InnoDB存储引擎的应用,在考虑每秒请求数(Question Per Second,QPS)的同时,也许更应该关注每秒事务处理的能力 ...

  8. python实例:快速找出多个字典中的公共键

    1.生成随机字典 # 从abcdefg 中随机取出 3-6个,作为key, 1-4 的随机数作为 value s1 = {x : randint(1, 4) for x in sample('abcd ...

  9. java并发编程(6)显式锁

    显式锁 一.Lock与ReentrantLock Lock提供了一种无条件的.可轮询的.定时的以及可中断的锁获取操作,所有的加锁和解锁方法都是显式的 ReentrantLock实现了Lock:并提供了 ...

  10. 使用 Redis 实现分布式锁(转载)

    背景 在一般的分布式应用中,要安全有效地同步多服务器多进程之间的共享资源访问,就要涉及到分布式锁.目前项目是基于 Tornado 实现的分布式部署,同时也使用了 Redis 作为缓存.参考了一些资料并 ...