如何安全地处理使用Web服务处理的在线支付?

问题描述

| 免责声明:我对Web服务的工作方式只有一个非常基本的了解,对诸如事务等高级WS主题了解不多。 假装我正在使用Java EE,JPA等开发在线商店。也假装我与在线支付处理提供商签有合同来处理付款,并且他们为我提供了WS API。 现在,让我们假设客户已下订单。在会话bean中(例如,在ѭ0中),我打开了一个交易,在数据库中保存了一个Order,现在我在调用支付提供商的WS API。它成功返回(并且我假设到现在为止我的客户的帐户已记入借方),但是在我可以保存订单的关联付款(订单和付款之间存在一对一关系)之前,例外发生并且我的交易被回滚。 如何确保在发生此类例外情况时不会从我的客户帐户中扣款?换句话说,WS调用和“ 0”都应该成功完成并提交,或者两者都应回滚。 如果WS调用失败,回滚2很容易,但是我不知道在WS调用返回后如何回滚。     

解决方法

        您为什么不完成placeOrder流程,而WS则仅在第一个成功完成的情况下进行调用呢?然后,就像您说的那样,很容易回滚placeOrder,如果第二次出现错误,则只需回滚第一个。还是我不明白您的问题对吗?     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...