我正在开发一个简单的电子商务网站。当用户进行购买时,它会触发几个同步的级联事件。一些数据被写入我们的数据库,信用卡供应商可以(或不)购买,更多的数据被写入我们的数据库,然后发送一封电子邮件。
Step 1. Initial Purchase info recorded on local database
Step 2. Purchase API called on Credit Card vendor
Step 3. Details of transaction written to local database
Step 4. Email receipt/alert sent
当这些步骤之一失败时,是否有经过验证的方法可以处理?例如,如果我们已经写入数据库,但信用卡交易失败。或者我们已经完成了第 1 步和第 2 步,但第 3 步失败了。我正在尝试了解基础知识-例如创建数据的“预购买-快照”是否更谨慎,然后在出现故障时回滚所有内容,或者创建“假购买”对象并假设一切正常,然后将其复制到实际数据库中。
欢迎任何建议。我在这方面远远超出了我的联盟。
干杯!