- 支付宝
- 当面付
- 条码支付
应用场景:商家使用扫码设备,扫描用户支付宝钱包上的条码/二维码,完成收款。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
alipay.trade.pay | 统一收单交易支付接口 | |
|
|
|
业务介绍:https://docs.open.alipay.com/194/106039/
- 扫码支付
应用场景:用户支付宝钱包上的扫一扫功能扫商户二维码,完成付款。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
alipay.trade.precreate | 统一收单线下交易预创建 | https://docs.open.alipay.com/api_1/alipay.trade.precreate |
alipay.trade.query | 统一收单线下交易查询 |
业务介绍:https://docs.open.alipay.com/194/106078/
- APP支付
应用场景:
适用于商家在App应用中集成支付宝支付功能。
商家APP调用支付宝提供的SDK,SDK再调用支付宝APP内的支付模块。如果用户已安装支付宝APP,商家APP会跳转到支付宝中完成支付,支付完后跳回到商家APP内,最后展示支付结果。如果用户没有安装支付宝APP,商家APP内会调起支付宝网页支付收银台,用户登录支付宝账户,支付完后展示支付结果。
支付流程:
同步通知:支付宝sdk对商户的请求支付数据处理完成后,会将结果同步反馈给商户app端。
异步通知:对于App支付产生的交易,支付宝会根据原始支付API中传入的异步通知地址notify_url,通过POST请求的形式将支付结果作为参数通知到商户系统。
API列表:
接口名称 | 描述 | API地址 |
外部商户APP唤起快捷SDK创建订单并支付 |
业务介绍:https://docs.open.alipay.com/204/105297/
- 手机网站支付
应用场景:
适用于商家在移动端网页应用中集成支付宝支付功能。
商家在网页中调用支付宝提供的网页支付接口调起支付宝客户端内的支付模块,商家网页会跳转到支付宝中完成支付,支付完后跳回到商家网页内,最后展示支付结果。若无法唤起支付宝客户端,则在一定的时间后会自动进入网页支付流程。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
外部商户创建订单并支付 |
业务介绍:https://docs.open.alipay.com/203/105288/
- 电脑网站支付
应用场景:用户通过支付宝PC收银台完成支付,交易款项即时给到商户支付宝账户
支付流程:
API列表:
接口名称 | 描述 | API地址 |
PC场景下单并支付 | https://docs.open.alipay.com/api_1/alipay.trade.page.pay |
业务介绍:https://docs.open.alipay.com/270/105898/
- 刷脸付
应用场景:
支付宝刷脸付是基于人工智能、生物识别、3D传感、大数据风控技术,最新实现的新型支付方式。用户在无需打开手机的情况下,凭借“刷脸”完成支付。刷脸付的使用,有效提升用户的消费体验,提高了商家的收银效率。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
收银员使用扫码设备读取用户手机支付宝“付款码”/声波获取设备(如麦克风)读取用户手机支付宝的声波信息后,将二维码或条码信息/声波信息通过本接口上送至支付宝发起支付。 | ||
zoloz.authentication.customer .smilepay.initialize | 人脸初始化刷脸付 | https://docs.open.alipay.com/api_46/zoloz.authentication.customer.smilepay.initialize |
业务介绍:https://docs.open.alipay.com/20180402104715814204/intro/
- 小程序支付
应用场景:
用户在小程序中选择商品下单并确认购买,进入支付环节,用户点击确认支付,进入到支付宝页面后,小程序唤起支付宝支付,出现支付界面,小程序支付和APP支付的支付流程与体验基本一致。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
商户通过该接口进行交易的创建下单 | ||
my.tradePay | 小程序唤起支付 |
业务介绍:https://docs.alipay.com/mini/introduce/pay
- 微信
- 付款码支付(当面付条码支付)
应用场景:
步骤1:用户选择付款码支付并打开微信,进入“我”->“钱包”->“收付款”条码界面;
步骤2:收银员在商户系统操作生成支付订单,用户确认支付金额;
步骤3:商户收银员用扫码设备扫描用户的条码/二维码,商户收银系统提交支付;
步骤4:微信支付后台系统收到支付请求,根据验证密码规则判断是否验证用户的支付密码,不需要验证密码的交易直接发起扣款,需要验证密码的交易会弹出密码输入框。支付成功后微信端会弹出成功页面,支付失败会弹出错误提示。
支付流程:
- 免密支付流程
- 验密支付流程
API列表:
业务介绍:https://pay.weixin.qq.com/wiki/doc/api/micropay_sl.php?chapter=5_1
- Native支付(当面付扫描支付)
应用场景:
用户扫描商户展示在各种场景的二维码进行支付。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
服务商系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再返回给子商户在APP里面调起支付。 | https://pay.weixin.qq.com/wiki/doc/api/native_sl.php?chapter=9_1 | |
|
|
|
业务介绍:https://pay.weixin.qq.com/wiki/doc/api/native_sl.php?chapter=6_1
- APP支付
应用场景:
适用于商户在移动端APP中集成微信支付功能。商户APP调用微信提供的SDK调用微信支付模块,商户APP会跳转到微信中完成支付,支付完后跳回到商户APP内,最后展示支付结果。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
https://api.mch.weixin.qq.com/pay/unifiedorder
| 服务商系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再返回给子商户在APP里面调起支付。 | https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_1 |
调起支付 | 在APP端调起支付的参数列表,注意:该支付参数的签名是服务商在后台生成的,用的是服务商的API密钥 |
|
业务介绍:https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=8_1
- JSAPI支付
应用场景:
商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。
步骤(1):商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。
步骤(2):进入商户网页,用户选择购买,完成选购流程。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
https://api.mch.weixin.qq.com/pay/unifiedorder
| 服务商系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易会话标识后再返回给子商户在APP里面调起支付。 | https://pay.weixin.qq.com/wiki/doc/api/app/app_sl.php?chapter=9_1 |
调起支付 | 在APP端调起支付的参数列表,注意:该支付参数的签名是服务商在后台生成的,用的是服务商的API密钥 |
|
业务介绍:https://pay.weixin.qq.com/wiki/doc/api/jsapi_sl.php?chapter=7_1
- 刷脸付
应用场景:
用户在商超,便利店,餐饮等场景,在屏幕上通过刷脸完成支付。
步骤 1:用户在自助收银机上点击“刷脸支付”;
步骤 2:发起人脸识别,摄像头自动抓取识别用户人脸,提示用户输入 11 位手机号码;
步骤 3:商户收银系统提交刷脸支付;
步骤 4:微信支付后台收到支付请求,验证人脸信息,返回支付结果给商户收银系统。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
下单支付 |
| |
https://payapp.weixin.qq.com/face/get_wxpayface_authinfo
| 获取人脸凭证 | https://pay.weixin.qq.com/wiki/doc/wxfacepay/develop-sdk_android.html |
业务介绍:https://pay.weixin.qq.com/wiki/doc/wxfacepay/
文档下载:https://share.weiyun.com/5dxUgCw
- 小程序支付
应用场景:
微信客户端内小程序支付。
支付流程:
API列表:
业务介绍:
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=7_3&index=1
- H5 支付
应用场景:
H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。 主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。
支付流程:
API列表:
接口名称 | 描述 | API地址 |
https://api.mch.weixin.qq.com/pay/unifiedorder
| 统一下单 | https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_sl_api.php?chapter=9_1 |
|
|
|
业务介绍:https://pay.weixin.qq.com/wiki/doc/api/H5_sl.php?chapter=15_1
- 业务问题
业务处理逻辑注意点:
- 支付
- 商户支付系统商户号和订单号可以使用数据库唯一键进行约束(防止重复下单并支付)。
- 商户支付系统在可以生成订单的支付单号(区别于商户订单系统订单号)作为支付单号给三方支付系统。
- 订单支付成功,三方支付系统会通知商户支付系统进行订单状态修改,商户支付系统也可以定时查询三方支付系统订单状态进行商户支付系统订单状态修改,最终并通知到订单系统(订单状态最终以三方支付系统为准)。退款
- 一条支付订单可以多次退款,订单系统退款时必须生成商户唯一退款单号,商户支付系统使用商户号和订单号做唯一键约束(防止重复退款)。
- 商户支付系统可以设计生成支付系统的退款单号(区别于商户订单系统退款单号)作为退款单号给三方支付系统。
- 退款金额及订单总金额等由商户订单系统来管理。
- 退款接口调用成功,不代表退款成功,需要查询退款接口,最终完成退款状态变更(0:未退款 1:已退款 2:退款中)。