这种支付宝免签是如何实现的? - V2EX
jijifly

这种支付宝免签是如何实现的?

  •  
  •   jijifly Jan 5, 2018 7249 views
    This topic created in 3049 days ago, the information mentioned may be changed or developed.

    翻了一会儿支付宝免签,然后发现这个人 member/hlf2002 在好几个帖子下面都留了一个网址 https://www.paysapi.com ,就点进去看了一下。

    大致看了一下,实现原理其实也是个人对个人,然后后台挂着一个软件不断的去读取交易列表。但也发现了一些新鲜的玩意。

    1、在测试支付的时候,会生成一个付款的二维码,手机扫码会自动填好金额什么的,这个二维码是如何生成的呢?

    2、这种支付方式以前玩过,但有一个问题,假设我的商品都是固定金额,同时有几个用户购买,我如何判断是谁付款的?而在这个网站的 API 里,创建订单接口居然有参数 orderid ( https://www.paysapi.com/docpay ),它是如何判断是哪个用户支付的呢,是在创建的收款二维码里带有某个参数么?

    这 2 个疑问困扰了我好几天了,也搜了很久但没有找到合适的解决方案,还请各位大佬指教~

    Supplement 1    Jan 5, 2018
    确实一开始被这种支付方式惊艳到了,但其实原理没我们想的那么复杂~

    1、不同金额的二维码自己上传,如果没有找到对应金额的二维码,就要手动输入价格。 而网站的测试支付是因为事先已经上传了不同金额的二维码,所以测试的时候还以为收款二维码是自动生成的~

    2、实际上还是通过浮动价格,来区分同时支付的用户。而创建订单接口的参数 orderid,实际上只是为了 webhook 方便。今天在回复的提醒下,仔细看了一遍文档才发现“回调通知”这个接口,参数说明里写了是通过浮动金额区分用户的。

    此贴完结,感谢大家的热心回复,再次感谢 @GooMS @KevZhi 两位小伙伴的热心解答~
    17 replies    2018-01-05 16:02:40 +08:00
    3IOhG7M0knRu5UlC
        1
    3IOhG7M0knRu5UlC  
       Jan 5, 2018 via Android
    收款二维码,不同的价格
    ihacku
        2
    ihacku  
       Jan 5, 2018 via iPhone
    看 faq 好像是要装个 app 的哟 https://www.paysapi.com/faqindex
    Annual
        3
    Annual  
       Jan 5, 2018 via Android
    我自己已经接入并且在使用了。而且我也在弄免签约支付
    KevZhi
        4
    KevZhi  
       Jan 5, 2018 via iPhone
    见过使用付款金额里的小数区分同时多位付款者的,文档里说了,看文档啊……
    带金额的收款码是长期可用的
    zeex
        5
    zeex  
       Jan 5, 2018
    有空可以研究一下,可以查一下推送通知内容。
    是不是 APP 一直在监听本地通知?
    可以查一下本地通知和付款二维码有没有什么相关性?
    期待大家分享。
    lifespy
        6
    lifespy  
       Jan 5, 2018
    期待大家分析实现原理
    jijifly
        7
    jijifly  
    OP
       Jan 5, 2018
    @GooMS
    @KevZhi

    今天深入使用了一下,发现确实要上传不同金额的二维码的;如果没有找到对应金额的二维码,就要手动输入价格。
    区分用户也确实是通过金额的浮动来区分的~

    是我看文档不仔细了,抱歉~
    Nobitasean
        8
    Nobitasean  
       Jan 5, 2018
    那个 alipay 二维码的算法是什么
    jijifly
        9
    jijifly  
    OP
       Jan 5, 2018
    @ihacku 这个是相当于后台挂着读取订单,读取到了就发送 webhook~ 个人对个人都是这样的,要么手机 APP,要么电脑软件~
    jijifly
        10
    jijifly  
    OP
       Jan 5, 2018
    @fadaixiaohai
    @lifespy

    楼上的几位都已经把原理说出来了,原来没我们想的那么复杂~
    1、不同金额的二维码自己上传,如果没有找到对应金额的二维码,就要手动输入价格。
    2、就是浮动价格来区分同时支付的用户~

    此贴完结,感谢大家的热心回复,再次感谢 @GooMS @KevZhi 两位小伙伴的热心解答~
    jijifly
        11
    jijifly  
    OP
       Jan 5, 2018
    @Nobitasean 并没有用算法,就是在个人中心手动传不同金额的二维码,如果没有找到对应金额的二维码,就要支付的用户手动输入价格。
    lifespy
        12
    lifespy  
       Jan 5, 2018
    @jijifly #11 手动输入金额的话,价格就没法浮动了呀
    zeex
        13
    zeex  
       Jan 5, 2018 via iPhone
    @jijifly 一块钱的商品。有的用户支付 1.99 ,有的支付 1.01 吗? 1 元秒杀,100 个人同时支付。
    jijifly
        14
    jijifly  
    OP
       Jan 5, 2018
    @lifespy 我个人理解,应该是把浮动价格也传上去~

    具体再深入的测试就没有做了,或者你也可以加这个网站的客服聊聊。因为我更多的是好奇这种支付原理,本身可能觉得这种个人支付的风险比较高,暂时还没打算接入~
    jijifly
        15
    jijifly  
    OP
       Jan 5, 2018
    @fadaixiaohai 是的

    [付款成功回调通知]接口有个“ realprice ”参数,参数说明是:“一定存在。表示用户实际支付的金额。一般会和 price 值一致,如果同时存在多个用户支付同一金额,就会和 price 存在一定差额,差额一般在 1-2 分钱上下,越多人同时付款,差额越大。”
    yongshou
        16
    yongshou  
       Jan 5, 2018 via Android
    金额要固定吧
    KevZhi
        17
    KevZhi  
       Jan 5, 2018
    @fadaixiaohai
    @jijifly
    一般见过用的都是灰产
    About     Help     Advertise     Blog     API     FAQ     Solana     3090 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 51ms UTC 14:51 PVG 22:51 LAX 07:51 JFK 10:51
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86