支付宝支付的注意事项
最近一个项目中集成了支付宝支付,现在把遇到的问题总结一下。
-
首先要有企业资格,申请支付宝企业账号
-
开发者中心注册对应支付,app,h5,网站等。
-
支付宝的沙盒环境走不通,建议还是直接申请线上环境。
-
密钥的说明
-
密钥可以使用支付宝提的密钥工具生成,一般选择RSA2这个类型,然后如果是java选择pkcs8,其它语言选择pkcs1.
-
生成的一个是公钥,一个是私钥,私钥需要在程序中配置,公钥在支付宝开放平台后台,进入账户中心,进入密钥管理,进入开放平台密钥,配置接口加签方式,这里的appid需要记住,程序里面需要调用。这里需要配置应用公钥(就是第一步生成的公钥),然后它会生成支付宝公钥,这个和应用公钥不同,复制这个公钥,程序中需要使用它来进行验证签名。
- 回调的说明
支付宝后台不需要配置回调url,配置授权域名。
程序中配置notify_url和return_url即可。
注意的事项,如果使用laravel这样的框架,需要将notify_url添加进入VerifyCsrfToken中,否则会导致接收不到支付的回调请求。
-
微信中使用支付宝
我们知道,因为某种原因,微信中不能直接拉起支付宝的支付,需要我们引入支付宝的中间页,它是一个支付宝封装好的判断是否微信浏览器的页面,如果是的话,它会弹出打开浏览器支付,并且将参数赋值给浏览器url,通过这个中间页我们就不需要去判断了,因为在非微信中,它会直接拉起支付宝支付。 -
细节决定成败
有时候可能就是密钥不匹配,返回的参数字段未对应,或者传入的参数不正确,就可能导致支付流程失败,因此,注意每一个细节是成功的关键。