1.分类
目前支付宝支付分类为:
APP支付:商家APP向支付宝APP发起请求,使用SDK,支付方法为alipay.trade.app.pay
手机网站支付:手机网页发起支付请求,貌似可以get也可以post,ajax祝你幸福,效果是首先唤起支付宝APP,不行转为网页收银台帐号密码支付,支付方法为alipay.trade.wap.pay
电脑网站支付:电脑网页发起支付请求,转向网页收银台,可以帐号密码支付也可以扫码支付,支付方法为alipay.trade.page.pay
支付时统一需要向后台获取签名参数,然后发起请求
但是支付宝还有一些其他接口,alipay.trade.pay,alipay.trade.create,alipay.trade.precreate等,这些接口主要用户线下扫码或者条码支付,虽然能生成二维码,但是不是给网页支付使用的,网页支付是扫支付宝网页收银台的码
2.请求方式
在文档、demo当中看到过post、get请求方式,事实上都是可以的,但是有一个字符转义的问题,我遇到的情况是:
前端form表单提交post请求,成功
后端使用nodejs的request库提交post请求失败,一直签名失败,我直接拼接的签名字符串,没有url编码!!!!!没有url编码!!!!
后端使用库发出get请求,查询字符串用qs库生成,一次成功
所以说,与其去测试如何对参数进行转义,不如就使用查询字符串吧,反正查询字符串肯定是要url编码的,但是这个过程应该比较统一,没有什么异议