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

前言git

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

 

方案一异步

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

 

方案二进程

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

开源&贡献支付宝

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

https://github.com/xljiulang/PayProxy开发

老九20151009部署

相关文章
相关标签/搜索