文章目录
支付宝有哪些能力可以查看文档: https://opendocs.alipay.com/open/00a0ut,我们主要看它的 支付能力。
支付能力如下:
- 当面付,当面付包括付款码支付和扫码支付两种收款方式。适用于线下实体店支付、面对面支付、自助售货机等场景。
- 这种目前用的很多,线下的商户扫描用户,用户扫描商户
- 线上的pc浏览器和H5的扫码支付
- App支付
- uniapp、原生app
- 手机网站支付
- 电脑网站支付
- …
接入支付流程
网站地址:https://openhome.alipay.com/
https://opendocs.alipay.com/open
前提:你要先有个支付宝账号,这个应该人人都有了吧,我使用的个人支付宝账号哦
支付宝的开放业务存在三种角色类型:
- 开发者角色:需要开发者账号,一般登录支付宝 开放平台 完成应用开发相关操作。
- 商家角色:需要商家账号,一般登录 商家服务平台 开通支付服务并完成商家经营相关操作。
- 系统服务商(ISV)角色:需要服务商账号,异步登录 服务商平台 完成代商户签约等操作。
三种角色的账号都可通过注册实名认证的支付宝账号登录相应平台完成开通。
由于应用(APPID)在支付宝开放平台创建,因此归属于对应开发者账号。如果要在应用中使用支付和资金等相关的能力,必须完成应用(APPID)同商家账号(PID)的绑定,通过账号关联可实现将商家签约的业务能力授权给应用(APPID),应用即可调用需要商家签约的业务能力(如当面付、转账到支付宝账户等)。
1.登录开放平台
地址:https://openhome.alipay.com/platform/developerIndex.htm
直接拿着你的支付宝扫码登录吧兄弟
2.选择服务范围
注意是个人账号还是企业账号,功能不同,企业账号更牛逼
登录开放平台后,若未完成入驻,则系统自动引导进入入驻流程。首先选择本账号支持的服务范围,根据开发者实际提供的服务可选择:自研开发服务 和 自研开发服务+提供第三方服务。
以上两种身份都需要完成实名认证,系统会提示并引导进行实名认证。
3.创建应用
创建-自研服务- 网页移动应用-支付接入
在完成入驻后,开发者可以对接平台能力为商户提供服务。而对接过程需要通过“应用”这个载体来实现。应用分为两种类型:自研服务型应用 和 三方服务型应用。
- 自研服务型应用:使用开放的功能,为自己或自己公司开发应用,详细定义参考 自研服务型应用。自研型应用分为网页/移动应用,小程序和生活号应用。
- 三方服务型应用:适用于服务商(ISV),为商户开发应用,拓展商户使用,详细定义参考 三方服务型应用。
应用详细定义请参见 应用介绍,应用创建详细步骤请参见 创建应用。
4.添加应用功能
开发者在开发过程中,可以添加自己需要的功能到 能力列表 或添加自己所需的解决方案到 解决方案列表, 不同的功能会有不同的使用条件,若功能使用条件为 需签约,则使用此功能前需要签约对应的产品。
注意:
- 自研应用与第三方应用的签约方式略有差异,具体签约方式可参考 签约功能。
- 若添加能力后提示 **列表存在需要与商户账号绑定才能使用的功能!**请使用商户账号进入商家中心绑定此应用,请根据 绑定应用 指引完成商家账户与对应应用绑定。
- 应用名称:应用名称和应用图标会在授权、分享的场景中露出,请准确填写相关信息。
- 应用图标:代表应用的应用图标,不可上传黄赌毒图片,符合蚂蚁开放 审核规范。
https://opendocs.alipay.com/open/200/105310
此处请注意开发者和使用者的区别:
- 开发者:应用(功能或者服务)的开发人员(或者企业)。
- 使用者:购买和使用应用(功能或者服务)的人员(或者企业)。
当开发者自己使用自己开发的应用时,开发者和使用者的两个身份是重合的。
添加完成后,若应用状态为开发中状态,只能在沙箱环境下进行调试。应用申请上线后,会同时申请此列表的功能,接口即生效。
注:手机端支付可以添加 APP支付 和手机网站支付。APP支付使用原生开发,调用支付宝支付SDK。手机网站支付是在网页中调用支付宝,所以使用h5+mui方式开发APP可使用此功能,无需跳转至原生。这里根据需要酌情选择。
5.配置应用环境
- 接口加签方式:必填。开发者可根据接入产品需求选择 公钥证书模式 或 公钥模式,并保证接口中使用的私钥与此处设置公钥成对匹配,否则无法调用接口,且接口参数 sign_type=RSA2。详情请参见 生成密钥并上传。
- IP 白名单:可选。为提高商户访问开放平台的安全性,避免商户因应用私钥泄露等原因导致业务受损,开放平台提供 IP 白名单机制,详情可参考 IP 白名单接入指南。IP 白名单旨在保证开发者的资金安全,开发者视实际情况选用。
- 应用网关:可选。用于接收支付宝异步通知,开发者视实际需要填写。例如:现金红包、转账到支付宝账户 中单据状态变更后触发的 alipay.fund.trans.order.changed (转账单据状态变更通知)。 [C2C 现金红包](https://opendocs.alipay.com/open/20190111144811460526/quickstart#C2C 现金红包) 退款成功时触发的 alipay.fund.trans.refund.success(资金退回成功通知) 。
- 注意:支付结果异步通知支付宝会根据支付 API 中传入的异步通知地址 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。
- 接口内容加密方式:可选。即 AES 密钥可用于加解密数据信息。接入 获取会员手机号、运动数据 等需解密数据功能必须配置。详情请参考 内容加密指引。
- 授权回调地址:可选。第三方应用授权 或 [用户信息授权](https://opendocs.alipay.com/open/284/web#关于 redirect_uri 的说明) 后回调地址。授权链接中配置的 redirect_uri 的值必须与此值保持一致 (如:https://www.alipay.com)/) ,用户成功授权后将在该 url 后携带授权码等信息并跳转至该页。
- 注意:当填入该地址时,系统会自动进行安全检测,详情请参考 安全检测。
注意:
- 必须填写 接口加签方式 ,才可以提交审核。
- 密钥和应用(APPID)一 一对应,即开发者需要为名下的每个应用分别设置密钥,且不同应用的密钥不能混用。
6.获取APPID
7.商家绑定应用
作为开发者,到这里我们可以不用管了,一些注册的东西需要具体的商户去提交材料申请签约开通,我们直接用沙箱环境即可
操作流程可分为普通商户发起绑定和系统服务商(ISV)代商户发起绑定两种类型,请根据自身需求及角色选择对应方式绑定应用。
详情链接:https://opendocs.alipay.com/open/0128wr
普通商户操作流程
第一步:进入发起绑定入口
登录 商家中心 > 账号中心 > 绑定 > APPID绑定,点击 添加绑定。
第二步:提交绑定申请
填写应用 APPID,点击 下一步 即可完成绑定。
注意:同一主体账号绑定应用不会通知商户,且不同主体账号不支持绑定应用。
8.配置秘钥
支付宝开放平台开发助手即密钥生成工具,用于对应用的客户端服务端之间的交互进行加密保护。工具主要功能有生成密钥、签名、验签、格式转换、密钥匹配、智能反馈、开放社区。
支持如下工具:
地址:https://opendocs.alipay.com/open/291/105971
9.一站式开发套件(Idea插件)
IntelliJ IDEA 工具,安装 Alipay DevTools
插件,辅助开发的可搞可不搞。
地址:https://opendocs.alipay.com/open/11111/canpro
10.沙箱环境
对于我们开发来说,这个非常重要,因为商户账号不好申请,我们也不是真正的公司或者商户,所以我们的开发调试都是用这个沙箱环境,等真正的商户账号有了,我们登陆上执行7.商家绑定用户,替换相应的PID、APPID、公钥、私钥、网关等即可。
开发者中心 --> 研发服务 --> 沙箱,进入沙箱管理界面
相关地址:
-
https://opendocs.alipay.com/open/200/105311/
电脑扫码支付接入示例(当面付)
申请当面付功能
使用企业支付宝账号也可以,个人支付宝账号也可以,企业支付宝账号不太好搞,直接个人账户喽。
所需核心配置参数
- APPID,在第6步,创建完应用后可以获取APPID
- 商家私钥,在第8步,配置秘钥处获得
- 支付宝公钥,在第8步,配置秘钥处获得,注意这里是用商家公钥换取支付宝公钥
- 加密签名算法RSA2,在第8步,配置秘钥处获得
- 网关地址,在第5步,配置应用环境处获得,注意沙箱环境和生产环境不同
- 支付回调地址,开发时,设置的一个动态入参,指定的是我们外网服务器的一个接口
当面付简介
当面付包括付款码支付和扫码支付两种收款方式。适用于线下实体店支付、面对面支付、自助售货机等场景。
- 付款码支付:商家使用扫码枪或其他扫码机具扫描用户出示的付款码,来实现收款。
- 扫码支付:商家提供收款二维码,由用户通过支付宝扫码支付,来实现收款。
付款码支付
扫码支付
1.在沙箱环境获取配置参数
地址:https://openhome.alipay.com/platform/appDaily.htm?tab=info
2.集成SDK
地址:https://search.maven.org/artifact/com.alipay.sdk/alipay-sdk-java
<dependency>
<groupId>com.alipay.sdk</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>4.17.0.ALL</version>
</dependency>
3.示例代码
对接指引地址:https://opendocs.alipay.com/open/194/105072
直接去沙箱复制代码:https://opendocs.alipay.com/apis/028ln0
4.使用沙箱app扫码测试
沙箱钱包只支持扫一扫、付款码、门店详情页功能,其余功能不提供
目前沙箱钱包仅提供Android版本,可点击下载