简介
本文档展示了如何从零开始,使用支付宝开放平台服务端 SDK 快速接入手机网站支付产品,完成与支付宝对接的部分。注意:
文档中的代码示例和 Demo 是用来阐述 API 基本使用方法的,仅针对大众场景。供ISV 参考,特殊情况还请 ISV 自行扩展,确保符合自身业务需求。
支付产品全面升级,若您使用的是旧版接口,请参见旧版手机网站支付文档。
调用接口
手机网站支付产品包含页面跳转类和系统调用类API:
页面跳转类:需要从前端页面以 Form 表单的形式发起请求,浏览器会自动跳转至支付宝的相关页面(一般是收银台或签约页面),用户在该页面完成相关业务操作后再回跳到商户指定页面。例如本产品中的alipay.trade.wap.pay(手机网站支付接口2.0)接口。
系统调用类:直接从服务端发起 HTTP 请求,支付宝会同步返回请求结果。例如本产品中的交易查询等配套 API。
调用流程
如上图所示,手机网站支付的接口调用流程如下:
用户在商户的H5网站下单支付后,商户系统调用alipay.trade.wap.pay(手机网站支付接口2.0)接口参数规范生成订单数据;然后在前端页面通过 Form 表单的形式向支付宝系统发送支付请求。此时支付宝会自动将页面跳转至支付宝 H5 收银台页面,如果用户手机上安装了支付宝 App,则自动唤起支付宝 App,否则提示下载支付宝 App。
用户在支付宝 App 或H5 收银台完成支付后,会根据商户在手机网站支付 API 中传入的前台回跳地址 return_url 自动跳转回商户页面,同时在 URL 请求中以 Query String 的形式附带上支付结果参数,详细回跳参数详见文末附录一:前台回跳参数说明。
除了正向支付流程外,支付宝也提供交易查询、关闭、退款、退款查询以及对账等配套API。
说明:
开发者需要关注安装了支付宝和未安装支付宝的两种测试场景,对于在手机浏览器唤起 H5 页面的模式下,如果安装了支付宝却没有唤起,大部分原因是当前浏览器不在支付宝配置的白名单内。
对于商户 App 内嵌 web-view 中的支付场景,建议集成支付宝App支付产品。或者您可以使用手机网站支付转Native支付的方案,不建议在您的 App 中直接接入手机网站支