搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码
为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java来举例。
正所谓知己知彼,百战不殆。首先,我们来看一看支付宝平台给我们的说明。
- 打开支付宝
- 选择商家平台
- 选择电脑支付
进行如上操作后,来到如下图所示的页面
没有商家支付宝账号的需要注册,需要营业执照,经营信息,网址信息,联系人等等数据(图里说的很详细)
服务开通后,我们就可以集成了,我们点击如何集成查看文档
如图所示,我们可以直接下载demo,进行快速集成,这是最方便的办法了,我会采用这种方法,但使用即时到账接口首先需要签约,点击如何签约,支付宝就教你怎么签,无非就是填表,审核。但这一步很重要,因为我们需要生成的密钥组成参数向支付宝发出请求(下面会详细说)。
签约成功之后,我们需要合作伙伴PID和MD5密钥,在如下页面获取(图我从官网文档截得)
前期所有准备都做好了,再总结一下前期需要的东西:
- 开通商家账户和即时到账服务
- 下载demo
- pid和md5密钥
我们来继续,解压demo,选择java utf-8版本,导入项目
支付的流程为
- 买家点击提交订单
- 商家生成订单,以key=value的形式向支付宝发送请求
- 支付宝接到请求后生成订单
- 买家选择扫码或密码支付完成后,支付宝同步或异步向商家发送请求,提示订单完成
商家要传递给支付宝的参数列表在前面给的开发文档中也能找到,支付宝提示的参数有必填和不必填两种,可以自己选择。
在demo src的com\alipay\config包下有AlipayConfig类。大部分参数可以在其中配置,在使用时直接用就可以了,为了维护方便,我们可以用配置文件的方法写到文件里,动态读取。但是有一些参数需要注意:
订单号需要自己随机生成, sign签名是动态生成的。
package com.alipay.config;
/* *
*类名:AlipayConfig
*功能:基础配置类
*详细:设置帐户有关信息及返回路径
*版本:3.4
*修改日期:2016-03-08
*说明:
*以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。
*该代码仅供学习和研究支付宝接口使用,只是提供一个参考。
*/
public class AlipayConfig {
//↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
// 合作身份者ID,签约账号,以2088开头由16位纯数字组成的字符串,查看地址:https://b.alipay.com/order/pidAndKey.htm
public static String partner = "2088好几个数字";
// 收款支付宝账号,以2088开头由16位纯数字组成的字符串,一般情况下收款账号就是签约账号
public static String seller_id = partner;
// MD5密钥,安全检验码,由数字和字母组成的32位字