本帖最后由 zwj_aaron 于 2010-01-30 23:10:49 编辑

解决方案 »

  1.   

    就像支付宝一样,我们是支付平台,用户通过我们支付成功之后,银行会返回给我们一个成功标志,我们再返回去用户一个成功标志;如果我们接收不到银行的,用户肯定也会收到我们的成功标志,在这两次回调过程中,容易产生丢单。
    我不知bingo_,了解空上流程不?
      

  2.   

    支付成功后 银行会post你的一个url 并且 页面会跳转回你的支付页 如果这2步的验证都失败的话 不妨给个链接 比如[我已经付款了] 用户点击后 进行查询人工查? 不是吧 银行应该有提供查询定单是否支付成功的接口吧  post过去定单号得到结果
      

  3.   

    不是做网上支付的,简单看了下,问个问题,如果银行没有返回付款成功,你们怎么会给个成功标记呢?
    就是说在顾客网上帐户的钱先扣除,给顾客一个成功标记,然后再和银行划帐,如果成功,再标记一次,做为付帐成功。
    这种方式,很好处处理,和支付宝帐户类似,有延时没关系。
    还有一种是顾客支接向银行划帐,成功会取得流水单号,成功给顾客一个标记,并利用多线程与银行对帐,在一定时间内成功没有问题。如不成功,发mail标识,同时标记,后台bt对这种标识的数据定时处理,如几次再不成功,发送紧急mail或信息都可,人工解决,由于钱已过帐,和顾客没有关联,除非银行方面出问题,但那是人工解决问题。个人观点
      

  4.   


    思考了一下你的观点,有几个疑问:
    1.我不知道支付宝是怎么样处理的?如果你先去扣用户网上账户的钱,标记一次,如果用户这次没有银行付款没有成功,怎么办?再去改回刚才的标记吗?如果用户付款成功了,而支付平台由于某种原因没有收到成功信息,那怎么样改标记呢???
     能说一下支付宝是怎么处理的吗?
    2.用户付款之后,一种可能是付款成功了,银行也post了,而支付平台并没有收到成功信息;第二种可能是用户根本就没有付款成功,钱没有达到银行,支付平台订单的状态肯定不能标记为付款失败,还是保持“等待付款”。
      

  5.   


    不是脏数据,用户支付时先生成一个订单,标记为“等待付款”,只有支付成功后我们才去更改支付状态为“支付成功”,swgotobed 对此方法有何看法??
      

  6.   

    就算支付宝也不能保证百分百没有问题的,只是你不知道罢了
    bs程序的稳定性本身就比cs差很多,考虑的问题太多了,用户的浏览器环境、操作方法等等都会导致问题的产生
      

  7.   

    用 .NET的com技术,如果事务操作失败,所操作的事务自动回滚至原状态。
    相信平台和银行交互时通过 握手信号 来交互的。
    我们与其他系统交互信息的时候,都会选用一些专用产品来保证数据安全的。