谈谈开发支付功能碰到的坑
文章原创于公众号:程序猿周先森。本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号。 最近因为有了新的需求,需要开发支付宝支付功能以及微信支付功能,两三天开发下来碰到了几个Bug,在这里记录下来以供以后可以温故知新。因为支付宝功能是在H5端进行使用,所以使用了支付宝扫码付功能,生成一张支付二维码,然后用户保存二维码去支付宝进行扫码支付操作。一路磕磕碰碰把功能完善出来了,但是碰到了几个坑。支付宝支付开发碰到的问题: 1.无效的APP_ID 这个问题其实是最容易犯的一个错误,因为支付宝支付功能有沙箱测试环境。 沙箱测试网关为: https://openapi.alipaydev.com/gateway.do 正式网关为: https://openapi.alipay.com/gateway.do 经过查阅文档发现支付宝app_id与网关地址不匹配所以导致出现无效的app_id这个问题,定位到问题原因,我在内网中将环境设置成沙箱环境网关地址以及沙箱环境app_id,然后发布外网之后再将环境改成正式环境,然后果然解决了这个问题,然后对信息进行验签操作之后,支付宝会返回一个支付二维码链接,点击则会打开二维码界面 然后进行支付宝扫码付款就完成支付功能。 2.支付宝回调函数多次执行 可能因为沙箱环境不完善的原因,支付宝支付功能在沙箱环境下成功运行,而且回调函数只会执行一次