前言

前端时间自己开发了一个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. npm 常用配置

    npm config list/ls 显示配置信息npm config list/ls -l 更详细npm -h 显示帮助信息,建议多查看npm -l display full usage info ...

  2. windows 域的安装方法

    前面的博客中我们知道了 Windows AD域的升级,下面我谈谈Windows域的安装和卸载. 卸载AD域 配置备份AD域 安装子域 删除子域(必须在根域管理员模式下删除,否则无法删除) 删除命令 导 ...

  3. Protobuf底层存储原理

    参考官网, 序列化原理 底层二进制存储 message Test1 { optional int32 a = 1; } 并设置为a=150,序列化到一个文件中,查看文件,得到下面的二进制: 08 96 ...

  4. angularJs集成百度地图

    app.controller('mapSignController',function($scope,$rootScope,Message, $window,$uibModalInstance){ v ...

  5. 【笔记】AJAX基础

    [笔记]AJAX基础 Django AJAX  知识储备:JSON 什么是 JSON JSON 是轻量级的文本数据交换格式 JSON 独立于语言和平台.JSON 解析器和 JSON 库支持许多不同的编 ...

  6. JSP中使用JSTL表达式

    最近写web项目,为了使JSP代码美观好维护,决定采用EL&JSTL表达式.    EL表达式直接就可以用,但是JSTL表达式是属于apache的一个开源库,这个用起来就需要倒入一些jar包之 ...

  7. Codeforces Round #555 (Div. 3) E. Minimum Array 【数据结构 + 贪心】

    一 题面 E. Minimum Array 二 分析 注意前提条件:$0 \le  a_{i} \lt n$ 并且 $0 \le  b_{i} \lt n$.那么,我们可以在$a_{i}$中任取一个数 ...

  8. CountDownLatch的简单实现

    1. @Data public abstract class BaseLatch { private int limit; protected int running; BaseLatch(int l ...

  9. 基于libcurl实现REST风格http/https的get和post

    c/c++开发中经常要用到http/https协议,直接使用socket工作量很大,要是使用socket实现https,那更不可思议,开源的c/c++的http客户端框架,libcurl是首选,而且也 ...

  10. mysql中sql中的注释

    学习mysql好久了,oracle也是,但是经常使用oracle,有一天突然想,oracle的sql语法中有注释,那么mysql中是不是也有注释,于是从网上搜了一下,原来mysql中的注释还真不少,下 ...