支付结果回调参数调试的解决方案

前言

做支付宝网页支付的同学都会遇到一个问题,支付宝平台的支付结果异步回调很难调试,因为这个回调是反馈到部署的外网环境的,而开发环境没有对外独立ip,开发环境在编写支付后续的逻辑代码就显得很困难,如果能让支付宝平台的回调请求到开发环境来,边调试边开发就爽YY了。本文将提供两种解决方案,方案2的提供相关源代码,以方便用到的各位同学。

 

方案一

路由器内网映射,在路由器上配置,将内网的某个ip和端口与外网的某个端口映射绑定。当请求外网的映射端口时,会请求到内网映射的ip和端口,这个方案最简单,但有两个局限:一是部分的路器器不支持和多层路由时可能失败;二是只能请求到内网的一个固定ip,也就是一个开发者。

 

方案二

自己写代码实现数据转发,监听服务部署在公网上,接收支付宝的回调,然后把请求内容转发给内网的多个开发者开发环境中,每个开发者都可以下断调试;这个解决方案由PayProxy和PayClient两部分组成,PayProxy部署在公网,提供Http给支付宝和TCP服务给PayClient,PayClient运行在开发者机器上,用于接收PayProxy发过来的支付结果参数数据,并把这些参数合成一个Http请求,请求到开发者的本机IIS上,开发者就可以使用VS等附加IIS进程下断看了。这个文案要求开发者在IIS里建一个站点,文件目录指到开发目录,调试的时候,使用附加IIS进程调试(实际上我的开发环境都是这样调试,一般不使用直接启动VS里的项目来调试,觉得启动耗时!)。

开源&贡献

如里我的努力同时能给别人带来生产力,这是我很高兴的,所以我也不吝啬把这些举手之劳的东西开源出来,说不定大家在这上面还能挖出使用到其它领域的作用。

https://github.com/xljiulang/PayProxy

老九20151009

 

posted @ 2015-10-09 16:45  jiulang  阅读(7258)  评论(10编辑  收藏  举报