全球主机交流论坛

标题: PayPal回调问题,ipn通知后还要再发一个post回去?有接入payp.. [打印本页]

作者: 你号没了    时间: 2022-6-16 11:08
标题: PayPal回调问题,ipn通知后还要再发一个post回去?有接入payp..
本帖最后由 你号没了 于 2022-6-16 11:10 编辑

有经验的大佬可以说说吗

通知发过来,我们直接打印cmd=_notify-validate" + body 让接口读取到不行吗?

我看ipn状态也显示完成,不再重复下发通知了啊,

而且里面也有payer_status=verified 这个状态啊,


为啥还要再post一次给它PayPal?不post直接打印出来不行吗

第一次见这么繁琐的接口


  1.    public boolean verifyNotify(final PostPayPalNotifyRequest request, final String body) {
  2.         log.info("开始回调PayPal接口,验证通知...");
  3.         String callBackBody = "cmd=_notify-validate&" + body;
  4.         try {
  5.             String verifyRes = HttpUtils.doPost(verifyUrl, callBackBody, "utf-8");
  6.             log.info("验证结果为:{}", verifyRes);
  7.             return verifyRes.equals(VERIFIED);
  8.         } catch (Exception e) {
  9.             log.error("payPal验证通知异常" + e.getMessage());
  10.         }
  11.         return false;
  12.     }
复制代码

作者: 日美眉    时间: 2022-6-16 12:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 你号没了    时间: 2022-6-16 13:25
日美眉 发表于 2022-6-16 12:43
回调验证是为了防止伪造,你要拿PayPal回传给你的数据去PayPal服务器验证一下比较保险! ...

原来如此,感谢大佬解答
作者: lxfy    时间: 2022-6-17 03:19
这类支付接口都是类似的流程,支付宝你手撸一套的话也会发现这一步,防止伪造。

记得以前好像有哪个版本的 whmcs 支付宝接口没有这一步被人恶意伪充值了多少钱来着
作者: sdqu    时间: 2022-6-17 03:33
如果想省事,可以核对回调服务器ip地址,这样就不再需要反向查询。
作者: flyqie    时间: 2022-6-17 07:31
本帖最后由 flyqie 于 2022-6-17 07:48 编辑
lxfy 发表于 2022-6-17 03:19
这类支付接口都是类似的流程,支付宝你手撸一套的话也会发现这一步,防止伪造。

记得以前好像有哪个版本的 ...


这个不是必须的。

理论上来说 用secret key + request body/request param做md5 作为sign基本也就能够满足需求了(实际确实有很多也是这么做的)。

盗充这个事情,大概率是secret key泄露,这种情况下向支付平台二次发请求做校验确实是有用的(前提是secret key权限别太大,资金只能入不能出)。
作者: 元宇宙    时间: 2022-6-17 08:03
基本上支付的接口都有这个把,你如果放心也可以不验证
作者: 你号没了    时间: 2022-6-17 10:04
感谢 各位大佬,  现在对接成功了,但有的时候通知下发了。我这边却没收到,

有没有手动查询订单的接口文档啊  麻烦了
作者: lxfy    时间: 2022-6-18 05:44
flyqie 发表于 2022-6-17 02:31
这个不是必须的。

理论上来说 用secret key + request body/request param做md5 作为sign基本也就能够满 ...

感谢分享




欢迎光临 全球主机交流论坛 (https://loc.defn.win/) Powered by Discuz! X3.4