`
m654352
  • 浏览: 26787 次
社区版块
存档分类
最新评论

支付宝本地调试异步回调Java

阅读更多

初衷:
      解决支付宝无法本地调试的问题,因为支付宝签约商户时有限制,必须在签约的域名上测试支付宝的支付结果。如果直接返回商户的则不需要服务器上调试,但是支付宝的异步通知,必须要在公网上才可以调试,所以每次需要打个war包,放到服务器上去调试,出现了问题页不易发现,不易解决。所以构思了能不能在本地调试支付宝的异步通知方法。


正文:

一、实现的效果

     可以本地调制支付宝的onCallBack异步回调方法

二、需要用到的工具

    内网穿透工具:natapp。
    一台服务器需要装好nginx。

三、使用方法


1、在https://natapp.cn/ 创建账号,并进入到我的后台。

2、购买免费通道


 

3、配置隧道的端口,因为要测试支付宝回调,默认80就可以。



4、点击免费购买,进入此页面,并记住authtoken


 

5、下载Mac OS X 64位,将下载后的压缩包解压到本地没有中文的路径下。
    http://download.natapp.cn/assets/downloads/clients/2_2_0/natapp_darwin_amd64_2_2_0.zip

6、打开终端,给解压出来的软件授权。输入此命令回车
   chmod a+x [color=red]你的目录[/color]/natapp


 

7、在终端中运行此软件输入此命令,红色部分为上面第4条的authtoken,回车。



8、出现以下界面,表示成功,并复制红色框中的地址。不要关闭终端。


 



三、支付宝签约的域名,分配出一个子域名,并指向到服务器ip上。
  比如:alipay.xxx.com 。下面需要把这个地址配置到nginx中


四、配置服务器端的nginx
  1、在linux服务器上安装好 nginx,具体的安装方法请百度。

  2、配置nginx的配置文件 nginx/conf/nginx.conf。蓝色框内为整个配置,把上面第二.8条中复制的地址粘贴到红色框处,并把nginx重启。
 

 


五、需要把本地工程中的onPay方法(就是支付宝生成付款html的方法)中的notify_url(异步通知url)的前置域名定死成上面第三步的子域名。


 



六、调用测试前。
  1、将支付宝去付款需要传的商户号等配置好。
  2、用第三步分配出的子域名访问就可以了。



  • 大小: 670.9 KB
  • 大小: 351.3 KB
  • 大小: 361.6 KB
  • 大小: 55.9 KB
  • 大小: 94.7 KB
  • 大小: 87.1 KB
  • 大小: 52.8 KB
  • 大小: 91.3 KB
分享到:
评论

相关推荐

    java支付宝支付退款

    7. **回调处理**:为了保证交易的可靠性,支付宝还提供了异步回调机制,即退款完成后,会向商户配置的回调地址发送通知。你需要编写一个接收并处理回调的Controller,验证签名,确认退款状态,并更新数据库中的订单...

    java 支付宝支付demo

    4. **订单创建**:在支付流程中,首先需要在服务器端创建一个订单,包含商品信息、金额、回调URL等。Java代码会演示如何构造请求参数并调用`alipay.trade.page.pay`接口来生成支付页面的链接。 5. **前端集成**:...

    java支付宝扫码

    这通常涉及到调用支付宝的`alipay.trade.precreate`接口,传入商品信息、订单金额、回调URL等参数,生成预支付交易的二维码或一维码。 3. **生成二维码或一维码** 一旦得到预支付订单的响应,你可以使用Java的第三...

    java支付宝即时到帐接口

    4. **请求构造**:调用接口时,需要构造符合支付宝规范的请求参数,包括但不限于商品标题、金额、交易类型(即时到帐)、回调URL等。这些参数必须按照规定的顺序和格式组织。 5. **交易处理**:提交请求后,支付宝...

    java支付宝pc及时到账支付

    - **支付处理**:用户在支付宝页面完成支付后,支付宝服务器会回调商家设定的回调地址,传递支付状态等相关信息。 5. **异步通知与同步确认** - **同步确认**:用户支付成功后,页面会自动跳转回商家指定的页面,...

    java 支付宝支付功能

    4. **处理回调通知**:当用户完成支付后,支付宝会向开发者指定的回调URL发送异步通知,告知交易状态。开发者需要接收并验证这些通知,确保交易的真实性和完整性。 5. **同步查询**:为了防止因网络问题未收到回调,...

    java支付宝二维码接口测试

    2. **异步通知**:为了确保交易状态的准确性,支付宝会向开发者提供的回调URL发送异步通知。开发者需要设置对应的Controller来接收并处理这些通知,更新订单状态。 3. **错误处理**:在调用支付宝接口时,可能会...

    java项目加入支付宝功能

    4. **异步通知与同步跳转**:支付宝有两种通知方式,一种是同步跳转(即页面立即返回到指定URL),另一种是异步通知(支付宝服务器会向设置的回调URL发送POST请求)。为了保证交易的可靠性,通常需要同时处理这两种...

    java版支付宝支付源码

    开发者需要编写代码处理这些步骤,比如生成预支付订单、跳转到支付宝支付页面、处理异步回调的支付结果。 4. **签名算法**:为了保证数据安全,支付宝使用了签名机制。Java源码中会有对请求参数进行签名和验证响应...

    支付宝Java demo

    - 支付宝提供了两种通知方式:同步通知(页面跳转)和异步通知(POST数据到指定的回调URL)。Java Demo会展示如何处理这两种通知,确保交易成功后能正确更新订单状态。 5. **页面跳转与页面渲染**: - 当用户完成...

    java对接支付宝支付(直接下载运行即可啥也不用做)

    7. **回调通知(notify_url)**:当支付状态改变时,如支付成功或失败,支付宝会主动发送通知到开发者指定的回调URL。开发者需要在服务器端处理这些通知,更新订单状态,避免因为网络等原因导致的订单状态不一致。 ...

    支付宝电脑网页付款javademo

    6. **页面跳转与回调处理**:在用户完成支付后,支付宝会通过异步通知(notify_url)或同步跳转(return_url)的方式将支付结果返回给商户。Java Demo中会包含处理这些回调的逻辑,例如验证通知的合法性、更新订单...

    java 支付宝支付(电脑网站、APP)、退款、提现

    支付完成后,支付宝会自动向设置的回调URL发送异步通知,Java后端需要监听这个接口,解析并验证通知内容,更新订单状态。同时,前端也可以通过轮询或长连接的方式查询支付状态。 6. **退款接口**: 当需要退款时...

    Java整合支付宝支付接口

    3. **构建请求参数**:根据支付宝API文档,构造请求参数,包括商品信息(如名称、价格)、订单号、回调URL等。这些参数需要按照指定格式进行编码和排序,然后用私钥进行签名。 4. **调用API接口**:使用HTTP客户端...

    java支付宝集成接口文档及源码

    通过分析源码,可以学习到如何封装API调用,处理异步回调,以及如何确保支付过程的安全性。源码通常包括支付请求的构建、签名生成、回调验证等核心部分。 5. **支付流程**:集成支付宝接口涉及到的主要流程包括: ...

    支付宝app支付,网页扫码,退款,查询订单,回调.zip

    这个压缩包文件"支付宝app支付,网页扫码,退款,查询订单,回调.zip"包含了一系列与支付宝支付相关的源代码和配置文件,用于实现从应用程序(App)到网页的各种支付功能,包括订单支付、扫码支付、退款处理以及订单...

    支付宝手机网站支付java版demo

    6. **回调处理(notify_url)**:回调URL接收到支付宝服务器发送的异步通知,需要解析并验证通知内容的签名,然后更新订单状态,如标记为已支付。这个过程必须是幂等的,防止因网络问题导致重复处理。 7. **查询...

    java 微信-支付宝-银联的支付接口调用

    4. 实现异步回调(notify_url)处理,验证支付宝返回的数据,更新订单状态。 5. 集成支付宝的退款接口,处理退款请求。 至于银联支付,其接口调用流程如下: 1. 在银联开放平台注册并获取商户号、证书等必要信息。 ...

    java支付宝沙箱教程

    Java支付宝沙箱教程主要讲解如何在SpringBoot框架中集成和测试支付宝的支付功能,通过模拟真实支付环境,确保在不影响实际生产环境的情况下进行开发和调试。 1. **支付宝沙箱环境** - **测试环境**:支付宝沙箱...

    java简单的支付宝

    3. **异步通知和同步返回**:支付宝支付完成后,会通过HTTP请求将交易结果通知到商户设定的回调URL,这是异步通知。同时,用户在支付页面也会得到同步的返回结果。 4. **订单管理**:在Java代码中,需要创建订单...

Global site tag (gtag.js) - Google Analytics