1

我正在为一个大学项目做一个银行网络服务,它接收账户信息和金额,所以我们从账户中提取资金,作为响应,我们发送一条确认消息。

我正在寻找的是如何管理来自客户端的错误,因为我可以进行交易,但是如果由于任何原因客户端失败,那笔钱就会丢失,我怎么知道客户端操作是否成功?

-- 编辑 -- 例如:银行 A - 其他,银行 B - 我。一个人去银行 A 存入银行 B 的支票,所以他使用我的网络服务进行交易,我进行提款并返回 OK 消息,但是在银行 A 设法将钱添加到帐户之前,一些事情失败。所以现在我提款了,但这个人实际上并没有钱,因为银行 A 交易失败。

4

2 回答 2

1

问题是您信任客户从一家银行取出钱并存入另一家银行。真的吗?凉爽的!我将进行一些 API 调用,声称那时我刚刚“收到”了很多钱。哇哈哈哈哈哈!

说真的,应该发生的是客户接受支票并将其提交给银行 A(一次 API 调用)。然后银行 A 将支票出示给银行 B 并获得资金。(另一个 API 调用)。然后也许客户可以联系银行 A 以确认他们的账户余额已经上升。客户在任何时候都不应该联系银行 B。然后,客户只进行一次 API 调用,他们不可能像您的示例中那样破坏系统。

于 2010-11-18T16:46:44.477 回答
1

如果我理解,您想使用网络服务为客户提供从您的“银行”提款的能力。

我会使它成为事务性的,例如,他们调用服务以开始提款,然后您确认交易已经开始并且您的服务期望提取该金额。(也许锁定这笔钱在交易结束之前无法提取,并计时,因此交易在 x 秒后自动失败)

然后客户对这些信息做任何事情,比如调用第二个“银行”。当他们收到来自另一家银行的消息说已添加金额时,他们会使用您的系统调用服务以“提交”交易,实际上是提取金额。

于 2010-11-18T16:30:23.433 回答