iOS微信支付和支付宝支付相关知识描述

微信支付踩的坑:

大坑1: 文档不清晰  大坑2: timeStamp

5.常见异常Bug处理

1)常见问题为微信支付调起不成功,每次调起只能调起一个带有返回确认按钮的页面。

原因:参数错误,特别注意参数(签名),后台返回的参数不正确。

解决方案:逐个校验参数,签名可以本地加密处理,不要依赖后台的返回签名,有的时候后台返回的是不正确的。

支付宝支付大致原理图:


iOS微信支付和支付宝支付相关知识描述_第1张图片

特别注意:

构造交易数据并签名必须在商户服务端完成,商户的应用私钥绝对不能保存在商户 APP 客户端中,也不能从服务端下发。

同步返回的数据,只是一个简单的结果通知,商户确定该笔交易付款是否成功需要依赖服务端收到支付宝异步通知的结果进行判断。

商户系统接收到通知以后,必须通过验签(验证通知中的 sign 参数)来确保支付通知是由支付宝发送的。建议使用支付宝提供的 SDK 来完成,详细验签规则参考异步通知验签


iOS微信支付和支付宝支付相关知识描述_第2张图片

与支付宝支付不同的是,微信支付在支付的时候会在我们的服务端进行一个预支付,这时候有我们的服务端来生成预付单,生成预付单之后会获得一个prepay_id,然后服务端将参数再次签名发送到App,App端请求支付即可。

你可能感兴趣的:(iOS微信支付和支付宝支付相关知识描述)