Используй idempotency key — уникальный идентификатор операции от клиента. Сохраняй в базу перед вызовом платёжного API. Если пришёл повторный запрос с тем же ключом — возвращай сохранённый результат. Для webhook — храни обработанные event_id. В базе — unique constraint на idempotency_key. SELECT FOR UPDATE перед созданием платежа.
Как обеспечить idempotency в платежах?
Middle+
182 просмотровAFK Offer AI
Что выведет: x := []int{1,2,3}; y := x; y = append(y, 4); fmt.Println(len(x), len(y))?