AppStore服务器通知延迟并出现重复交易ID的问题
创始人
2024-09-11 12:00:50
0

针对此问题,可以在客户端实现一个对未收到服务器响应的队列进行管理的逻辑,当接收到一条新的交易时,将其加入队列中,并设置一个超时时间。当超时时间到达时,如果服务器还未响应,则可以将该条交易重新发送至服务器。同时,在服务器端可以增加一个对于重复交易 ID 的判断逻辑,当检测到重复交易 ID 时,可以直接返回该交易已经处理成功的响应,避免重复处理。以下是 Swift 实现代码示例:

客户端:

class PaymentQueue {
    var transactions: [Transaction] = []
    
    func addTransaction(_ transaction: Transaction) {
        transactions.append(transaction)
        DispatchQueue.main.asyncAfter(deadline: .now() + 30) { [weak self] in
            if let index = self?.transactions.firstIndex(where: { $0.id == transaction.id }) {
                self?.transactions.remove(at: index)
                self?.addTransaction(transaction)
            }
        }
    }
    
    func removeTransaction(_ transaction: Transaction) {
        if let index = transactions.firstIndex(where: { $0.id == transaction.id }) {
            transactions.remove(at: index)
        }
    }
}

struct Transaction {
    let id: String
    let amount: Double
}

服务器端:

app.post('/receivePayment', (req, res) => {
    const transactionId = req.body.transactionId;
    if (isDuplicateTransaction(transactionId)) {
        res.json({ success: true });
        return;
    }
    saveTransactionToDatabase(transactionId);
    processTransaction(transactionId);
    res.json({ success: true });
});

function isDuplicateTransaction(transactionId) {
    // Check if the transactionId is already processed before
}

function saveTransactionToDatabase(transactionId) {
    // Save the transaction to the database
}

function processTransaction(transactionId) {
    // Process the transaction
}

相关内容

热门资讯

透视好牌!德普之星有没有挂,w... 自定义德普之星有没有挂系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管...
透视挂透视!hhpoker辅助... 透视挂透视!hhpoker辅助器,xpoker辅助工具,必胜教程(一直是真的有挂)科技教程也叫必备教...
透视脚本!aapoker俱乐部... 透视脚本!aapoker俱乐部靠谱吗,hhpoker透视脚本下载,每日必备(有挂攻略)是一款可以让一...
辅助透视!智星德州菠萝安装,h... 辅助透视!智星德州菠萝安装,hhpoker辅助挂下载,AI教程(原来有挂)准备好在智星德州菠萝安装 ...
透视教学!wpk辅助器下载,w... 您好,wpk辅助器下载这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
透视苹果版!wepoker底牌... 透视苹果版!wepoker底牌透视脚本,德普之星透视辅助插件,2025新版教程(固有有挂)关于德普之...
透视存在!wepoker透视脚... 透视存在!wepoker透视脚本安卓,aapoker有脚本吗,必看攻略(有挂透明)1)wepoker...
透视玄学!hhpoker开辅助... 透视玄学!hhpoker开辅助软件,wpk辅助哪里买,wpk教程(切实真的是有挂);亲,其实确实真的...
透视ai!wepoker底牌透... 透视ai!wepoker底牌透视脚本,hhpoker透视脚本视频,每日必备(有挂黑科技)1、任何德州...
透视科技!hhpoker开辅助... 透视科技!hhpoker开辅助软件,aapoker透视脚本,切实教程(一贯真的是有挂);(需添加指定...