Latihan 1 dari materi Idempotency di API — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Buat function factory createPaymentHandler() yang mengembalikan handler process(idempotencyKey, amount) dengan dukungan idempotency-key:
Map<string, response> internal.idempotencyKey sudah ada di Map → return response yang disimpan (tanda field cached: true).{ status: "success", amount, id: "pay_" + Map.size, cached: false }, simpan, lalu return.Retry dengan idempotencyKey yang sama harus tidak charge user 2x — cukup return response lama.