1.简单点说就是调用支付宝那边的接口方法,然后传递数据过去,之后会返回一个是否成功的值,然后你拿到之后判断就好了
2.首先你得有淘宝的商铺的合作身份ID,和Key,这个key就是你的密钥。当你的表单提交的时候,表单中的参数会根据这个key来md5加密,同明文参数一同发送到支付宝那边的,然后支付宝那边根据你的key(他们是知道你的key的。因为这个key是他们给你的)来再次加密你的明文参数。如果加密后的数据和你一起传递的密文是相同的话则表示数据在传输过程中没有被修改,就会处理你的请求。。。处理完之后根据你配置的return url,返回到你自己的程序中。根据处理的结果来写业务逻辑代码。。(申请这个id和key。你得拥有自己的网站。并且需要备案。法人也需要是你本人。)当你申请到这个id和key的时候。你可以去支付宝论坛下载他们的开发api。就是纯网关接口那种。有很多种选择包括手机支付快捷支付。你自己下载。你们的文档说的很清楚了。代码注释也很详细。需要你改的地方你就改。一般只需要放进你的身份id和key,和支付成功后返回到你自己项目的url。
流程说明(以Android平台为例):
- 第4步:调用支付接口:此消息就是本接口所描述的开发包提供的支付对象PayTask,将商户签名后的订单信息传进pay方法唤起支付宝收银台,订单格式具体参见“请求参数说明”。
- 第5步:支付请求:手机支付宝支付开发包将会按照商户客户端提供的请求参数发送支付请求。
- 第8步:接口返回支付结果:商户客户端在第4步中调用的支付接口,会返回最终的支付结果(即同步通知),参见“同步通知参数说明”。
- 第12步:异步发送支付通知:手机支付宝支付服务器端发送异步通知消息给商户服务器端(备注:第12步一定发生在第6步之后,但不一定晚于7~11步),参见“服务器异步通知参数说明”。
-
- 构造订单数据并签名
商户服务器端根据手机支付宝支付开发包的接口规则,通过程序生成得到签名结果及要传输给手机支付宝支付开发包的数据集合。签名相关的公私钥生成及配置规则,见PID和密钥管理。 - 发送请求数据
把构造完成的数据集合传递给手机支付宝支付开发包。 - 手机支付宝支付开发包对请求数据进行处理
手机支付宝支付开发包将请求数据根据业务规则包装后传递给手机支付宝支付服务器端,服务器端得到这些集合后,会先进行安全校验等验证,一系列验证通过后便会处理完成这次发送过来的数据请求。 - 返回处理的结果数据
对于处理完成的交易,支付宝会以两种方式把数据分别反馈给商户客户端和商户服务器端。- 在手机客户端上,手机支付宝支付开发包直接把处理的数据结果反馈给商户客户端;
- 在服务器端上,手机支付宝支付服务器端主动发起通知,调用商户在请求时设定好的页面路径(参数notify_url,如果商户没设定,则不会进行该操作)。
- 商户对获取的返回结果数据进行处理
商户在客户端同步通知接收模块或服务器端异步通知接收模块获取到支付宝返回的结果数据后,可以结合商户自身业务逻辑进行数据处理(如:订单更新、自动充值到会员账号中等)。同步通知结果仅用于结果展示,入库数据需以异步通知为准。- 名词解释:
- 请求
手机客户端以字符串形式把需要传输的数据发送给接收方的过程。 - 返回
支付宝以字符串形式直接把处理结果数据返回给手机客户端。 - 通知
服务器异步通知。支付宝根据得到的数据处理完成后,支付宝的服务器主动发起通知给商户的网站,同时携带处理完成的结果信息反馈给商户网站。 - H5支付
浏览器或者App内嵌的Webview中展示H5页面,并完成支付。 - Native支付
唤起支付宝App,展示支付宝App内的Native页面,并完成支付。-
同步通知参数说明
更新时间:2016/07/15 访问次数:150421支付宝对商户的请求数据处理完成后,会将处理的结果数据直接通知给商户。这些处理结果数据就是同步通知参数。
同步返回的数据,对于商户在服务端没有收到异步通知的时候,可以依赖服务端对同步返回的结果来进行判断是否支付成功。同步返回的结果中,sign字段描述了请求的原始数据和服务端支付的状态一起拼接的签名信息。验证这个过程包括两个部分:1、原始数据是否跟商户请求支付的原始数据一致(必须验证这个);2、验证这个签名是否能通过。上述1、2通过后,在result字段中success=true才是可信的。【特别注意,同步结果校验的逻辑,必须放在服务端处理,切记不要放在客户端】【强烈建议商户直接依赖服务端的异步通知,忽略同步返回】说明:
这里的规则仅限于接入sdk支付模式,对于纯粹的WAP浏览器接入的模式不适用,也就是只针对签约mobile.securitypay.pay这个服务的业务适用,浏览器模式,建议走异步通知的方式。
-
- 请求
- 名词解释:
- 构造订单数据并签名