Stripe-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāϧāĻžāϰāĻŋāϤ āĻŦāĻŋāϞāĻŋāĻ: āĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĄā§āĻāĻž āĻŽāĻĄā§āϞ
Stripe-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāϧāĻžāϰāĻŋāϤ āĻŦāĻŋāϞāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāĻā§āύā§āĻ āϏā§āĻā§āϰā§āĻ āĻāĻŦāĻ āϰāĻŋāĻāύāϏāĻŋāϞāĻŋāϝāĻŧā§āĻļāύ āĻĻāϰāĻāĻžāϰāĨ¤ āĻāĻāĻāĻŋ āϏāϰāϞ āϏā§āĻāĻŋāĻŽāĻž, āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĢā§āϞā§, āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āĻ āĻĄāĻžāĻŦāϞ-āĻāĻžāĻāύā§āĻāĻŋāĻ āϏāĻŽāĻžāϧāĻžāύ āĻļāĻŋāĻā§āύāĨ¤

āĻāĻĒāύāĻŋ āϝāĻž āĻŦāĻžāϏā§āϤāĻŦā§ āĻŦāĻžāύāĻžāĻā§āĻā§āύ (āĻāĻŦāĻ āĻā§āύ āĻāĻāĻŋ āĻā§āĻā§ āĻĒāĻĄāĻŧā§)\n\nāĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦāĻŋāϞāĻŋāĻ āĻļā§āύāĻžāϝāĻŧ āϏāĻšāĻ: āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻšāĻ āĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĻā§ āĻŽāĻžāĻĒā§āύ, āĻŽā§āϞā§āϝāĻā§āĻŖ āĻāϰā§āύ, āĻāĻŦāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻļā§āώ⧠āĻāĻžāϰā§āĻ āĻāϰā§āύāĨ¤ āĻŦāĻžāϏā§āϤāĻŦā§, āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻā§āĻ āĻšāĻŋāϏāĻžāĻŦ āϰāĻžāĻāĻžāϰ āϏāĻŋāϏā§āĻā§āĻŽ āĻŦāĻžāύāĻžāĻā§āĻā§āύāĨ¤ āĻāĻāĻŋ āϏāĻ āĻŋāĻ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§ āĻāĻŽāύ āĻĒāϰāĻŋāϏā§āĻĨāĻŋāϤāĻŋāϤā§āĻ āϝāĻāύ āĻĄā§āĻāĻž āĻĻā§āϰāĻŋāϤ⧠āĻāϏā§, āĻŦāĻžāϰāĻŦāĻžāϰ āĻāϏā§, āĻŦāĻž āĻāĻāύāĻ āĻāϏ⧠āύāĻžāĨ¤\n\nāĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦā§āϝāϰā§āĻĨāϤāĻž āĻā§āĻāĻāĻāĻ āĻŦāĻž āĻĄā§āϝāĻžāĻļāĻŦā§āϰā§āĻĄā§ āĻāĻā§ āύāĻžāĨ¤ āϤāĻžāϰāĻž āĻāĻā§ āĻŽāĻŋāĻāĻžāϰāĻŋāĻ āĻĄā§āĻāĻž āĻŽāĻĄā§āϞā§āĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāϤā§āĻŽāĻŦāĻŋāĻļā§āĻŦāĻžāϏā§āϰ āϏāĻā§āĻā§ āĻāϤā§āϤāϰ āĻĻāĻŋāϤ⧠āύāĻž āĻĒāĻžāϰā§āύ, "āĻāĻ āĻāύāĻāϝāĻŧā§āϏā§āϰ āĻāύā§āϝ āĻā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻā§āύ", āϤāĻžāĻšāϞ⧠āĻļā§āώāĻĒāϰā§āϝāύā§āϤ āĻāĻĒāύāĻŋ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻžāϰā§āĻ, āĻāĻŽ āĻāĻžāϰā§āĻ, āĻŦāĻž āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻšāĻžāϰāĻžāĻŦā§āύāĨ¤\n\nāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻŦāĻŋāϞāĻŋāĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāϝāĻŧā§āĻāĻāĻŋ āĻĒā§āϰā§āĻŦāĻžāύā§āĻŽā§āϝāĻŧ āĻāĻĒāĻžāϝāĻŧā§ āĻā§āĻā§ āĻĒāĻĄāĻŧā§: āĻāĻāĻā§āĻā§āϰ āĻĒāϰ⧠āĻāĻā§āύā§āĻ āĻšāĻžāϰāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧ, āϰāĻŋāĻā§āϰāĻžāĻāĻā§āϞ⧠āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āϤā§āϰāĻŋ āĻāϰā§, āĻĻā§āϰāĻŋāϤ⧠āĻāϏāĻž āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻŽā§āĻ āĻāĻŖāύāĻž āĻāϰāĻžāϰ āĻĒāϰ⧠āĻĻā§āĻāĻž āϝāĻžāϝāĻŧ, āĻŦāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻŽāϧā§āϝ⧠āϏāĻžāĻŽāĻā§āĻāϏā§āϝ āύā§āĻ āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻĒāĻžāϰā§āĻĨāĻā§āϝ āĻŽāĻŋāϞāĻŋāϝāĻŧā§ āύāĻŋāϤ⧠āĻĒāĻžāϰā§āύ āύāĻžāĨ¤\n\nStripe āĻŽā§āϞā§āϝ āύāĻŋāϰā§āϧāĻžāϰāĻŖ, āĻāύāĻāϝāĻŧā§āϏ, āĻā§āϝāĻžāĻā§āϏ, āĻāĻŦāĻ āϏāĻāĻā§āϰāĻšā§ āĻāĻŽā§āĻāĻžāϰāĨ¤ āĻāĻŋāύā§āϤ⧠Stripe āĻāĻĒāύāĻžāϰ āĻĒā§āϰā§āĻĄāĻžāĻā§āĻā§āϰ āϰ āĻUsage āĻāĻžāĻāĻāĻž āĻĄā§āĻāĻž āĻāĻžāύ⧠āύāĻž āϝāϤāĻā§āώāĻŖ āύāĻž āĻāĻĒāύāĻŋ āϏā§āĻāĻŋ āĻĒāĻžāĻ āĻžāύāĨ¤ āĻāϰ āĻĢāϞ⧠āĻāĻāĻāĻŋ āϏā§āϰā§āϏ-āĻ
āĻĢ-āĻā§āϰā§āĻĨ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āĻā§āϰāĻšāĻŖ āĻāϰāϤ⧠āĻšāϝāĻŧ: Stripe āĻāĻŋ āϞā§āĻāĻžāϰ, āύāĻžāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ āϞā§āĻāĻžāϰ āϝāĻž Stripe āĻĒā§āϰāϤāĻŋāĻĢāϞāĻŋāϤ āĻāϰā§?\n\nāĻ
āύā§āĻ āĻāĻŋāĻŽā§āϰ āĻāύā§āϝ, āϏāĻŦāĻā§āϝāĻŧā§ āύāĻŋāϰāĻžāĻĒāĻĻ āĻŦāĻŋāĻāĻžāĻāύ āĻšāϞā§:\n\n- āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞā§āϰ āĻāύā§āϝ āϏā§āϰā§āϏ-āĻ
āĻĢ-āĻā§āϰā§āĻĨāĨ¤\n- Stripe āĻšāϞ⧠āϝāĻž āĻŦāĻžāϏā§āϤāĻŦā§ āĻāύāĻāϝāĻŧā§āϏ āĻ āĻĒā§āĻŽā§āύā§āĻ āĻšāϝāĻŧā§āĻā§ āϤāĻžāϰ āϏā§āϰā§āϏ-āĻ
āĻĢ-āĻā§āϰā§āĻĨāĨ¤\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻĒāύāĻŋ "API āĻāϞ" āĻā§āϰā§āϝāĻžāĻ āĻāϰā§āύāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϞ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϰ āĻāĻāύāĻŋāĻ āĻā§ āϏāĻš āĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰā§āĨ¤ āĻāύāĻāϝāĻŧā§āϏ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻĒāϝā§āĻā§āϤ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻāĻžāϞāĻŋ āĻāϰā§āύ āϝā§āĻā§āϞ⧠āĻāĻāύāĻ āĻŦāĻŋāϞ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ, āϤāĻžāϰāĻĒāϰ Stripe āĻāύāĻāϝāĻŧā§āϏ āĻāĻāĻā§āĻŽ āϤā§āϰāĻŋ āĻŦāĻž āĻāĻĒāĻĄā§āĻ āĻāϰā§āύāĨ¤ āϝāĻĻāĻŋ āĻāύāĻā§āĻļāύ āϰāĻŋāĻā§āϰāĻžāĻ āĻŦāĻž āĻāĻāĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĻā§āĻŦāĻžāϰ āĻāϏā§, āĻāĻāĻĄā§āĻŽā§āĻĒāĻā§āύāϏāĻŋ āύāĻŋāϝāĻŧāĻŽ āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻāĻā§ āύāĻŋāϰā§āĻš āĻāϰ⧠āϤā§āϞā§āĨ¤\n\n## āĻā§āĻŦāĻŋāϞ āĻĄāĻŋāĻāĻžāĻāύ āĻāϰāĻžāϰ āĻāĻā§ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āϝāĻž āύā§āĻāϝāĻŧāĻž āĻĻāϰāĻāĻžāϰ\n\nāĻā§āĻŦāĻŋāϞ āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāĻā§ āϏā§āĻ āϏāĻāĻā§āĻāĻžāĻā§āϞ⧠āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύ āϝāĻž āĻĒāϰ⧠āĻŦāĻŋāϞāĻŋāĻ āĻāĻŋ āĻāĻžāĻŦā§ āĻŦā§āϝāĻžāĻā§āϝāĻž āϝā§āĻā§āϝ āĻĨāĻžāĻāĻŦā§ āϤāĻž āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āĨ¤ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ "āϰāĻšāϏā§āϝāĻŽāϝāĻŧ āĻāύāĻāϝāĻŧā§āϏ āĻŦāĻžāĻ" āĻ
āϏā§āĻĒāώā§āĻ āύāĻŋāϝāĻŧāĻŽ āĻĨā§āĻā§ āĻāϏā§, āĻāĻžāϰāĻžāĻĒ SQL āĻĨā§āĻā§ āύāϝāĻŧāĨ¤\n\nāĻĒā§āϰāĻĨāĻŽā§ āĻāĻĒāύāĻŋ āϝāĻž āĻāĻžāϰā§āĻ āĻāϰā§āύ āϏā§āĻāĻŋāϰ āĻāĻāύāĻŋāĻ āĻ āĻŋāĻ āĻāϰā§āύāĨ¤ āĻāĻŽāύ āĻāĻŋāĻā§ āĻŦā§āĻā§ āύāĻŋāύ āϝāĻž āĻŽāĻžāĻĒāϤ⧠āϏāĻšāĻ āĻāĻŦāĻ āϤāϰā§āĻ āĻāϰāϤ⧠āĻāĻ āĻŋāύāĨ¤ "API āĻāϞ" āϰāĻŋāĻā§āϰāĻžāĻ, āĻŦā§āϝāĻžāĻ āĻ
āύā§āϰā§āϧ, āĻāĻŦāĻ āĻŦā§āϝāϰā§āĻĨāϤāĻžāϰ āĻāĻžāϰāĻŖā§ āĻāĻāĻŋāϞ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ "āĻŽāĻŋāύāĻŋāĻ" āĻāĻāĻžāϰāϞā§āϝāĻžāĻĒā§āϰ āϏāĻŽāϏā§āϝāĻžāϝāĻŧ āĻĒāĻĄāĻŧā§āĨ¤ "GB"-āĻāϰ āĻā§āώā§āϤā§āϰ⧠āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāĻŋāϤā§āϤāĻŋ (GB āĻŦāύāĻžāĻŽ GiB) āĻāĻŦāĻ āĻŽāĻžāĻĒāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋ (āĻāĻĄāĻŧ āĻŦāύāĻžāĻŽ āĻĒāĻŋāĻ) āϞāĻžāĻāĻŦā§āĨ¤\n\nāĻĒāϰāĻŦāϰā§āϤā§, āϏā§āĻŽāĻžāύāĻž (boundaries) āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύāĨ¤ āĻāĻĒāύāĻžāϰ āϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻāĻžāύāĻžāϤ⧠āĻšāĻŦā§ āĻāĻāĻāĻŋ āĻāĻā§āύā§āĻ āĻā§āύ āĻāĻāύā§āĻĄā§āϰ āĻ
āĻāĻļāĨ¤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒā§āϰāϤāĻŋ āĻāύā§āĻāĻž, āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ, āĻĒā§āϰāϤāĻŋ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ, āύāĻžāĻāĻŋ āĻā§āϰāĻžāĻšāĻ āĻ
ā§āϝāĻžāĻāĻļāύā§āϰ āĻāĻŋāϤā§āϤāĻŋāϤ⧠āĻāĻŖā§āϝ āĻšāĻā§āĻā§? āĻā§āϰāĻžāĻšāĻ āĻŽāĻžāĻā§āĻŽāϧā§āϝ⧠āĻāĻĒāĻā§āϰā§āĻĄ āĻāϰāϞ⧠āĻāĻŋ āĻāĻāύā§āĻĄā§ āĻāĻžāĻ āĻāϰāĻŦā§āύ āύāĻžāĻāĻŋ āĻĒā§āϰ⧠āĻŽāĻžāϏ⧠āĻāĻ āĻŽā§āϞā§āϝ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻŦā§āύ? āĻāĻ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤāĻā§āϞ⧠āĻāĻā§āύā§āĻ āĻā§āϰā§āĻĒāĻŋāĻ āĻāĻŦāĻ āĻŽā§āĻ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻžāϰ āύāĻŋāϝāĻŧāĻŽ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āĨ¤\n\nāĻāĻāĻžāĻĄāĻŧāĻžāĻ āĻā§āύ āϏāĻŋāϏā§āĻā§āĻŽ āĻā§āύ āϤāĻĨā§āϝā§āϰ āĻŽāĻžāϞāĻŋāĻ āĻšāĻŦā§ āϤāĻž āĻ āĻŋāĻ āĻāϰā§āύāĨ¤ Stripe-āϏāĻš āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻšāϞā§: āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒ āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻāĻŦāĻ āĻā§āĻĒāύā§āύ āĻā§āĻāĻžāϞāĻā§āϞā§āϰ āĻŽāĻžāϞāĻŋāĻ, āĻāϰ Stripe āĻāύāĻāϝāĻŧā§āϏ āĻ āĻĒā§āĻŽā§āύā§āĻ āϏā§āĻā§āϝāĻžāĻāĻžāϏā§āϰ āĻŽāĻžāϞāĻŋāĻāĨ¤ āĻāĻ āĻĒāĻĻā§āϧāϤāĻŋ āϤāĻāύ āĻāĻžāϞ āĻāĻžāĻ āĻāϰ⧠āϝāĻāύ āĻāĻĒāύāĻŋ āĻāϤāĻŋāĻšāĻžāϏ āύā§āϰāĻŦā§ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰā§āύ āύāĻžāĨ¤ āĻāĻĒāύāĻŋ āϏāĻāĻļā§āϧāύāĻā§āϞ⧠āύāϤā§āύ āĻāύā§āĻā§āϰāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϰā§āĻāϰā§āĻĄ āĻāϰāĻŦā§āύ āĻāĻŦāĻ āĻŽā§āϞ āϰā§āĻāϰā§āĻĄ āĻ
āĻā§āĻ āϰāĻžāĻāĻŦā§āύāĨ¤\n\nāĻāϝāĻŧā§āĻāĻāĻŋ āĻ
āύāύā§āϝā§āĻā§āϝ āύāĻŋāϝāĻŧāĻŽ/schema āϏāĻšāĻ āϰāĻžāĻāϞ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§:\n\n- Traceability: āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦāĻŋāϞ⧠āĻāϰāĻž āĻāĻāύāĻŋāĻ āϏāĻāϰāĻā§āώāĻŋāϤ āĻāĻā§āύā§āĻā§āϰ āϏāĻžāĻĨā§ āĻā§āĻāύāĻŋāĻā§āϝāĻžāϞāĻŋ āϝā§āĻ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤\n- Auditability: āĻāĻĒāύāĻŋ āĻāϝāĻŧ āĻŽāĻžāϏ āĻĒāϰ⧠āĻā§āύ āĻāĻžāϰā§āĻ āĻšāϝāĻŧā§āĻā§ āϤāĻž āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύāĨ¤\n- Reversibility: āĻā§āϞāĻā§āϞ⧠āϏā§āĻĒāώā§āĻ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻĻāĻŋāϝāĻŧā§ āĻ āĻŋāĻ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤\n- Idempotency: āĻāĻāĻ āĻāύāĻĒā§āĻ āĻĻā§āĻāĻŦāĻžāϰ āĻā§āύāĻž āϝāĻžāĻŦā§ āύāĻžāĨ¤\n- Clear ownership: āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĢā§āϝāĻžāĻā§āĻā§āϰ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŽāĻžāϞāĻŋāĻāĻžāύāĻžāϧā§āύāĨ¤\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ "āĻĒāĻžāĻ āĻžāύ⧠āĻŽā§āϏā§āĻ" āĻāϰ āĻāύā§āϝ āĻŦāĻŋāϞ āĻāϰā§āύ, āϤāĻŦā§ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āύāĻŋāύ āϰāĻŋāĻā§āϰāĻžāĻāĻā§āϞ⧠āĻāĻŖā§āϝ āĻšāĻŦā§ āĻāĻŋ āύāĻž, āĻŦā§āϝāϰā§āĻĨ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻā§āύāĻž āĻšāĻŦā§ āĻāĻŋ āύāĻž, āĻāĻŦāĻ āĻā§āύ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āĻāϝāĻŧā§ (āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āϏāĻŽāϝāĻŧ āĻŦāύāĻžāĻŽ āϏāĻžāϰā§āĻāĻžāϰ āϏāĻŽāϝāĻŧ)āĨ¤ āϞāĻŋāĻā§ āϰāĻžāĻā§āύ, āϤāĻžāϰāĻĒāϰ āĻāĻā§āύā§āĻ āĻĢāĻŋāϞā§āĻĄ āĻ āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻļāύ⧠āĻāύāĻā§āĻĄ āĻāϰā§āύ, āĻāĻžāϰ⧠āϏā§āĻŽā§āϤāĻŋāϤ⧠āύāĻž āϰā§āĻā§āĨ¤\n\n## āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻšāĻ āĻĄā§āĻāĻž āĻŽāĻĄā§āϞ\n\nāĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦāĻŋāϞāĻŋāĻ āϏāĻšāĻ āϝāĻāύ āĻāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻā§ āĻšāĻŋāϏāĻžāĻŦāϰāĻā§āώāĻžāϰ āĻŽāϤ āϧāϰ⧠āύā§āύ: āĻāĻžāĻāĻāĻž āϤāĻĨā§āϝ append-only, āĻāĻŦāĻ āĻā§āĻāĻžāϞ āĻĄā§āϰāĻžāĻāĻāĻĄāĨ¤ āĻāĻ āĻāĻāĻāĻžāĻ āϏāĻŋāĻĻā§āϧāĻžāύā§āϤ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦāĻŋāϤāϰā§āĻ āϰā§āϧ āĻāϰ⧠āĻāĻžāϰāĻŖ āĻāĻĒāύāĻŋ āϏāĻŦāϏāĻŽāϝāĻŧ āĻĻā§āĻāĻžāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āϝ⧠āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻž āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻāϏā§āĻā§āĨ¤\n\nāĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻļā§āϰ⧠āĻĒāϝāĻŧā§āύā§āĻā§ āĻĒāĻžāĻāĻāĻāĻŋ āĻŽā§āϞ āĻā§āĻŦāĻŋāϞ āĻĨāĻžāĻā§ (āύāĻžāĻŽ āĻāĻŋāύā§āύ āĻšāϤ⧠āĻĒāĻžāϰā§):\n\n- customer: āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ customer id, Stripe customer id, āϏā§āĻā§āϝāĻžāĻāĻžāϏ, āĻŦā§āϏāĻŋāĻ āĻŽā§āĻāĻžāĻĄāĻžāĻāĻžāĨ¤\n- subscription: āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ subscription id, Stripe subscription id, āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻĒā§āϞā§āϝāĻžāύ/āĻĻāĻžāĻŽ, start/end āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒāĨ¤\n- meter: āĻāĻĒāύāĻŋ āĻāĻŋ āĻŽāĻžāĻĒā§āύ (API āĻāϞ, āϏā§āĻ, āϏā§āĻā§āϰā§āĻ GB-āĻāύā§āĻāĻž)āĨ¤ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ meter key, āĻāĻāύāĻŋāĻ, āĻāĻŦāĻ āĻāĻāĻŋ āĻāĻŋāĻāĻžāĻŦā§ āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ āĻāϰ⧠(sum, max, unique) āϰāĻžāĻāĻŦā§āύāĨ¤\n- usage_event: āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒāϰāĻŋāĻŽāĻžāĻĒāĻŋāϤ āĻ
ā§āϝāĻžāĻāĻļāύā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏāĻžāϰāĻŋāĨ¤ customer_id, subscription_id (āϝāĻĻāĻŋ āĻāĻžāύāĻž āĻĨāĻžāĻā§), meter_id, quantity, occurred_at (āĻāĻāύāĻžāϰ āϏāĻŽāϝāĻŧ), received_at (āĻāĻĒāύāĻŋ āϝāĻāύ āĻāύāĻā§āϏā§āĻ āĻāϰā§āĻā§āύ), source (app, batch import, partner), āĻāĻŦāĻ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ external key āĻĄā§āĻĄā§āĻĒ āĻāύā§āϝ āϰāĻžāĻā§āύāĨ¤\n- usage_aggregate: āĻā§āĻĒāύā§āύ āĻā§āĻāĻžāϞ, āϏāĻžāϧāĻžāϰāĻŖāϤ customer + meter + āĻāĻžāĻāĻŽ āĻŦāĻžāϞā§āĻā§āĻ (āĻĻāĻŋāύ āĻŦāĻž āĻāĻŖā§āĻāĻž) āĻāĻŦāĻ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻ
āύā§āϝāĻžāϝāĻŧā§āĨ¤ āϏāĻāϝā§āĻā§āϤ āϏāĻžāĻŽ āĻ
āĻā§āĻ āĻāĻŦāĻ āĻāĻāĻāĻŋ version āĻŦāĻž last_event_received_at āϰāĻžāĻā§āύ āĻĒā§āύāĻāĻšāĻŋāϏāĻžāĻŦ āϏāĻŽāϰā§āĻĨāύā§āĨ¤\n\nusage_event āĻ
āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϝāĻŧ (immutable) āϰāĻžāĻā§āύāĨ¤ āĻĒāϰ⧠āϝāĻĻāĻŋ āĻā§āύ⧠āĻā§āϞ āĻā§āĻāĻā§ āĻĒāĻžāύ, āϤāĻāύ āĻāϤāĻŋāĻšāĻžāϏ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻāĻāĻŋ āĻĒā§āϰāϤāĻŋāĻļā§āϧ⧠(compensating) āĻāĻā§āύā§āĻ āϞāĻŋāĻā§āύ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦāĻžāϤāĻŋāϞā§āϰ āĻāύā§āϝ -3 āϏā§āĻ)āĨ¤\n\nāĻ
āĻĄāĻŋāĻ āĻ āĻŦāĻŋāϤāϰā§āĻā§āϰ āĻāύā§āϝ āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύāĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻ
āύāύā§āϤāĻāĻžāϞ āϏāĻāϰāĻā§āώāĻŖ āύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ, āϤāĻŦā§ āĻ
āύā§āϤāϤ āĻāĻĒāύāĻžāϰ āĻŦāĻŋāϞāĻŋāĻ āϞā§āĻāĻŦā§āϝāĻžāĻ āĻāĻāύā§āĻĄā§ āĻāĻŦāĻ āϰāĻŋāĻĢāĻžāύā§āĻĄ/āĻŦāĻŋāϤāϰā§āĻ āĻāĻāύā§āĻĄā§ āĻĒāϰā§āϝāύā§āϤ āϰāĻžāĻā§āύāĨ¤\n\nāĻā§āĻĒāύā§āύ āĻā§āĻāĻžāϞ āĻāϞāĻžāĻĻāĻž āϰāĻžāĻā§āύāĨ¤ āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻāϏ āĻāύāĻāϝāĻŧā§āϏ āĻ āĻĄā§āϝāĻžāĻļāĻŦā§āϰā§āĻĄā§āϰ āĻāύā§āϝ āĻĻā§āϰā§āϤ, āϤāĻŦā§ āϧāϰāύā§āϰ āĻĄāĻŋāϏāĻĒā§āĻā§āĻŦāϞāĨ¤ āĻāĻĒāύāĻŋ āϝ⧠āĻā§āύ⧠āϏāĻŽāϝāĻŧā§, āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āϏāĻš, usage_event āĻĨā§āĻā§ usage_aggregate āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤāĨ¤\n\n## āĻāĻāĻĄā§āĻŽā§āĻĒāĻā§āύāϏāĻŋ āĻāĻŦāĻ āĻāĻā§āύā§āĻ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āϏā§āĻā§āĻāϏāĻŽā§āĻš\n\nāĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĄā§āĻāĻž āĻā§āϞāĻŽā§āϞā§āĨ¤ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāϰāĻž āϰāĻŋāĻā§āϰāĻžāĻ āĻāϰā§, āĻāĻŋāĻāĻā§āϞ⧠āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻĻā§āϝāĻŧ, āĻāĻŦāĻ Stripe āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻ
āϰā§āĻĄāĻžāϰāĻŦāĻŋāĻšā§āύāĻāĻžāĻŦā§ āĻāϏ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻĒā§āϰāĻŽāĻžāĻŖ āĻāϰāϤ⧠āύāĻž āĻĒāĻžāϰ⧠"āĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻāĻŋ āĻāĻā§ āĻĨā§āĻā§āĻ āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§", āϤāĻžāĻšāϞ⧠āĻļā§āώāĻŽā§āĻļ āĻāĻĒāύāĻŋ āĻĻā§āĻāĻŦāĻžāϰ āĻŦāĻŋāϞ āĻāϰāĻŦā§āύāĨ¤\n\nāĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻā§ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ, āύāĻŋāϰā§āϧāĻžāϰāύāϝā§āĻā§āϝ event_id āĻĻāĻŋāύ āĻāĻŦāĻ āĻāϰ āĻāĻĒāϰ āĻāĻāύāĻŋāĻāύā§āϏ āĻā§āϰāĻĻāĻžāϰ āĻāϰā§āύāĨ¤ āĻā§āĻŦāϞ auto-increment id-āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰāĻŦā§āύ āύāĻžāĨ¤ āĻāĻāĻāĻŋ āĻāĻžāϞ event_id āĻŦā§āϝāĻŦāϏāĻžāϝāĻŧāĻŋāĻ āĻ
ā§āϝāĻžāĻāĻļāύā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻāĻŋāϤ, āϝā§āĻŽāύ customer_id + meter + source_record_id (āĻŦāĻž customer_id + meter + timestamp_bucket + sequence)āĨ¤ āĻāĻāĻ āĻ
ā§āϝāĻžāĻāĻļāύ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāϞ⧠āĻāĻāĻ event_id āϤā§āϰāĻŋ āĻšāĻŦā§ āĻāĻŦāĻ āĻāύāϏāĻžāϰā§āĻ āύāĻŋāϰāĻžāĻĒāĻĻāĻāĻžāĻŦā§ āύā§-āĻ
āĻĒ āĻšāĻŦā§āĨ¤\n\nāĻāĻāĻĄā§āĻŽā§āĻĒāĻā§āύāϏāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāĻā§āϏā§āĻ āĻĒāĻžāĻĨāĻā§ āĻāĻāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒāĻžāĻŦāϞāĻŋāĻ API āύāϝāĻŧāĨ¤ SDK āĻāϞ, āĻŦā§āϝāĻžāĻ āĻāĻŽāĻĒā§āϰā§āĻ, āĻāϝāĻŧāĻžāϰā§āĻāĻžāϰ āĻāĻŦ, āĻāĻŦāĻ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĒā§āϰāϏā§āϏāϰâāϏāĻŦāĻāĻŋāĻā§āĻā§ āϰāĻŋāĻā§āϰāĻžāĻ āĻāϰāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻāĻŋ āύāĻŋāϝāĻŧāĻŽ āϰāĻžāĻā§āύ: āĻāύāĻĒā§āĻ āϰāĻŋāĻā§āϰāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŽāύāĻāĻŋ āĻšāϞā§, āϏā§āĻāĻŋāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ idempotency āĻā§ āĻĄāĻžāĻāĻžāĻŦā§āϏ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰ⧠āĻā§āĻāĻžāϞ āĻŦāĻĻāϞāĻžāύā§āϰ āĻāĻā§ āĻā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤\n\nāĻāĻāĻāĻŋ āϏāĻšāĻ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āϏā§āĻā§āĻ āĻŽāĻĄā§āϞ āϰāĻŋāĻā§āϰāĻžāĻāĻā§ āύāĻŋāϰāĻžāĻĒāĻĻ āĻāϰ⧠āĻāĻŦāĻ āϏāĻžāĻĒā§āϰā§āĻ āϏāĻšāĻ āĻāϰā§āĨ¤ āĻāĻāĻŋāĻā§ āϏā§āĻĒāώā§āĻ āϰāĻžāĻā§āύ, āĻāĻŦāĻ āĻŦā§āϝāϰā§āĻĨ āĻšāϞ⧠āĻāĻžāϰāĻŖāĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ:\n\n- received: āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§, āĻāĻāύāĻ āϝāĻžāĻāĻžāĻ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋ\n- validated: āϏā§āĻāĻŋāĻŽāĻž, āĻā§āϰāĻžāĻšāĻ, āĻŽāĻŋāĻāĻžāϰ, āĻāĻŦāĻ āĻāĻžāĻāĻŽ-āĻāĻāύā§āĻĄā§ āύāĻŋāϝāĻŧāĻŽ āĻĒāĻžāϏ āĻāϰā§āĻā§\n- posted: āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻā§āĻāĻžāϞ⧠āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§\n- rejected: āϏā§āĻĨāĻžāϝāĻŧā§āĻāĻžāĻŦā§ āĻāĻĒā§āĻā§āώāĻŋāϤ (āĻāĻāĻāĻŋ āĻāĻžāϰāĻŖ āĻā§āĻĄāϏāĻš)\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻĒāύāĻžāϰ āĻāϝāĻŧāĻžāϰā§āĻāĻžāϰ āĻā§āϝāĻžāϞāĻŋāĻĄā§āĻ āĻāϰāĻžāϰ āĻĒāϰ⧠āĻā§āϰā§āϝāĻžāĻļ āĻāϰ⧠āĻāĻŋāύā§āϤ⧠āĻĒā§āϏā§āĻ āĻāϰāĻžāϰ āĻāĻā§āĨ¤ āϰāĻŋāĻā§āϰāĻžāĻāϤ⧠āĻāĻāĻŋ āĻāĻāĻ event_id-āĻāϰ validated āϏā§āĻā§āĻā§ āĻĒāĻžāϝāĻŧ āĻāĻŦāĻ āϤāĻžāϰāĻĒāϰ posted-āĻ āĻāϞ⧠āϝāĻžāϝāĻŧ āĻā§āύ⧠āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻāĻā§āύā§āĻ āϤā§āϰāĻŋ āύāĻž āĻāϰā§āĨ¤\n\nStripe āĻāϝāĻŧā§āĻŦāĻšā§āĻāĻā§āϞā§āϰ āĻāύā§āϝāĻ āĻāĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ: Stripe event.id āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ āĻāĻŦāĻ āĻāĻāĻŦāĻžāϰāĻ āĻĒā§āϰāϏā§āϏā§āĻĄ āĻšāĻŋāϏā§āĻŦā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§āύ, āϝāĻžāϤ⧠āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āύāĻŋāϰāĻĒā§āĻā§āώ āĻĨāĻžāĻā§āĨ¤\n\n## āĻĒāĻĻāĻā§āώā§āĻĒ-āĻŦāĻžāĻ-āĻĒāĻĻāĻā§āώā§āĻĒ: āĻŽāĻŋāĻāĻžāϰāĻŋāĻ āĻāĻā§āύā§āĻ āĻ
āύā§āϤāϰā§āĻāϤ āĻāϰāĻž (ingest) āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĢā§āϞā§\n\nāĻĒā§āϰāϤāĻŋāĻāĻŋ āĻŽāĻŋāĻāĻžāϰāĻŋāĻ āĻāĻā§āύā§āĻāĻā§ āĻ
āϰā§āĻĨā§āϰ āĻŽāϤ⧠āĻŦāĻŋāĻŦā§āĻāύāĻž āĻāϰā§āύ: āĻāĻāĻžāĻā§ āϝāĻžāĻāĻžāĻ āĻāϰā§āύ, āĻāĻžāĻāĻāĻž āϰā§āĻāϰā§āĻĄ āϰāĻžāĻā§āύ, āϤāĻžāϰāĻĒāϰ āĻā§āϏ āĻĨā§āĻā§ āĻā§āĻāĻžāϞ āĻĄā§āϰāĻžāĻāĻ āĻāϰā§āύāĨ¤ āĻāϤ⧠āϰāĻŋāĻā§āϰāĻžāĻ āĻŦāĻž āĻĻā§āϰāĻŋāϤ⧠āĻĄā§āĻāĻž āĻāϏāĻž āĻšāϞā§āĻ āĻŦāĻŋāϞāĻŋāĻ āĻĒā§āϰā§āĻŦāĻžāύā§āĻŽāĻžāύāϝā§āĻā§āϝ āĻĨāĻžāĻā§āĨ¤\n\n### āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝ āĻāύāĻā§āĻļāύ āĻĢā§āϞā§\n\nāĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāĻāĻžāĻŽāĻŋāĻ āĻāĻā§āύā§āĻ āϝāĻžāĻāĻžāĻ āĻāϰā§āύ āĻā§āĻāĻžāϞ āϏā§āĻĒāϰā§āĻļ āĻāϰāĻžāϰ āĻāĻā§āĨ¤ āύā§āϝā§āύāϤāĻŽ āĻĒā§āϰāϝāĻŧā§āĻāύ: āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻā§āϰāĻžāĻšāĻ āĻļāύāĻžāĻā§āϤāĻāĻžāϰā§, āĻāĻāĻāĻŋ āĻŽāĻŋāĻāĻžāϰ āύāĻžāĻŽ, āĻāĻāĻāĻŋ āϏāĻāĻā§āϝāĻžāϏā§āĻāĻ āĻĒāϰāĻŋāĻŽāĻžāĻŖ, āĻāĻāĻāĻŋ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ, āĻāĻŦāĻ idempotency-āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻāύāĻŋāĻ āĻāĻā§āύā§āĻ āĻā§āĨ¤\n\nāĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻĒā§āϰāĻĨāĻŽā§ āϞāĻŋāĻā§āύ, āĻāĻŽāύāĻāĻŋ āĻĒāϰ⧠āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ āĻāϰāĻžāϰ āĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻž āĻĨāĻžāĻāϞā§āĻāĨ¤ āĻ āĻāĻžāĻāĻāĻž āϰā§āĻāϰā§āĻĄāĻ āĻāĻĒāύāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āĻāϰāĻŦā§āύ, āĻ
āĻĄāĻŋāĻ āĻāϰāĻŦā§āύ, āĻāĻŦāĻ āĻā§āϞ āĻ āĻŋāĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻŦā§āύāĨ¤\n\nāĻāĻāĻāĻŋ āύāĻŋāϰā§āĻāϰāϝā§āĻā§āϝ āĻĢā§āϞ⧠āĻĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻžāĻŦā§:\n\n- āĻāĻā§āύā§āĻ āĻā§āϰāĻšāĻŖ, āĻŦāĻžāϧā§āϝāϤāĻžāĻŽā§āϞāĻ āĻĢāĻŋāϞā§āĻĄ āϝāĻžāĻāĻžāĻ, āĻāĻāύāĻŋāĻāĻā§āϞ⧠āύāϰā§āĻŽāĻžāϞāĻžāĻāĻ āĻāϰā§āύ (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ āϏā§āĻā§āύā§āĻĄ āĻŦāύāĻžāĻŽ āĻŽāĻŋāύāĻŋāĻ)āĨ¤\n- āĻāĻā§āύā§āĻ āĻā§-āĻā§ āĻāĻāύāĻŋāĻ āĻāύāϏā§āĻā§āϰā§āĻāύā§āĻ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ āϏāĻžāϰāĻŋ āĻāύāϏāĻžāϰā§āĻ āĻāϰā§āύāĨ¤\n- āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āĻŦāĻž āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻŦāĻžāϞā§āĻā§āĻā§ āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ āĻāϰ⧠āĻĒāϰāĻŋāĻŽāĻžāĻŖ āϝā§āĻ āĻāϰā§āύāĨ¤\n- āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ Stripe-āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϰāĻŋāĻĒā§āϰā§āĻ āĻāϰā§āύ, āϝ⧠āϤāĻĨā§āϝ āĻĒāĻžāĻ āĻŋāϝāĻŧā§āĻā§āύ āϤāĻž (āĻŽāĻŋāĻāĻžāϰ, āĻŽā§āϞā§āϝ, āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ, āĻāĻŦāĻ Stripe āϰā§āϏāĻĒāύā§āϏ āĻāĻāĻĄā§āύā§āĻāĻŋāĻĢāĻžāϝāĻŧāĻžāϰ) āϰā§āĻāϰā§āĻĄ āĻāϰā§āύāĨ¤\n- āĻ
āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāϤāĻž (rejected āĻāĻā§āύā§āĻ, āĻāĻāύāĻŋāĻ āĻāύāĻāĻžāϰā§āϏāύ, āĻĻā§āϰāĻŋāϤ⧠āĻāĻāĻŽāύ) āĻ
āĻĄāĻŋāĻ āϞāĻ āĻāϰā§āύāĨ¤\n\nāĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻļāύ āĻĒā§āύāϰāĻžāĻŦā§āϤā§āϤāĻŋāϝā§āĻā§āϝ āϰāĻžāĻā§āύāĨ¤ āĻāĻāĻāĻŋ āϏāĻžāϧāĻžāϰāĻŖ āĻĒāĻĻā§āϧāϤāĻŋ āĻšāϞā§: āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻāĻ āĻā§āϰāĻžāύāĻā§āĻāĻļāύ⧠āĻāύāϏāĻžāϰā§āĻ āĻāϰ⧠āϤāĻžāϰāĻĒāϰ āĻāĻāĻāĻŋ āĻāĻŦ enqueue āĻāϰāĻž āϝāĻž āĻŦāĻžāϞā§āĻā§āĻ āĻāĻĒāĻĄā§āĻ āĻāϰā§āĨ¤ āϝāĻĻāĻŋ āĻāĻŦāĻāĻŋ āĻĻā§āĻāĻŦāĻžāϰ āĻāĻžāϞāĻžāύ āĻšāϝāĻŧ, āϏā§āĻāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāĻŦā§ āϝ⧠āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤\n\nāϝāĻāύ āĻāĻāĻāύ āĻā§āϰāĻžāĻšāĻ āĻāĻŋāĻā§āĻā§āϏ āĻāϰ⧠āĻā§āύ āϤāĻžāĻĻā§āϰ āĻŦāĻŋāϞ 12,430 API āĻāϞ āĻĻā§āĻāĻžāĻā§āĻā§, āĻāĻĒāύāĻžāĻā§ āϏā§āĻ āĻŦāĻŋāϞāĻŋāĻ āĻāĻāύā§āĻĄā§āϤ⧠āĻ
āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻāĻā§āϞā§āϰ āϏāĻ āĻŋāĻ āϏā§āĻ āĻĻā§āĻāĻžāϤ⧠āϏāĻā§āώāĻŽ āĻšāϤ⧠āĻšāĻŦā§āĨ¤\n\n## Stripe āĻāϝāĻŧā§āĻŦāĻšā§āĻāĻā§ āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏā§āϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻžāύ⧠(Reconciling)\n\nāĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻšāϞ⧠Stripe āϝāĻž āĻŦāĻžāϏā§āϤāĻŦā§ āĻāϰā§āĻā§ āϤāĻžāϰ āϰāϏāĻŋāĻĻāĨ¤ āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒ āĻĄā§āϰāĻžāĻĢāĻ āϤā§āϰāĻŋ āĻāϰ⧠āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒāĻžāĻ āĻžāϤ⧠āĻĒāĻžāϰā§, āĻāĻŋāύā§āϤ⧠āĻāύāĻāϝāĻŧā§āϏā§āϰ āĻ
āĻŦāϏā§āĻĨāĻž āϤāĻāύāĻ āĻŦāĻžāϏā§āϤāĻŦ āϝāĻāύ Stripe āĻŦāϞā§āĨ¤\n\nāĻ
āϧāĻŋāĻāĻžāĻāĻļ āĻāĻŋāĻŽ āĻāϝāĻŧā§āĻāĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻāĻžāĻāĻĒā§āϰ āĻāĻĒāϰāĻ āĻŽāύā§āϝā§āĻ āĻĻā§āϝāĻŧ āϝā§āĻā§āϞ⧠āĻŦāĻŋāϞāĻŋāĻ āĻĢāϞāĻžāĻĢāϞ⧠āĻĒā§āϰāĻāĻžāĻŦ āĻĢā§āϞā§:\n\n- invoice.created, invoice.finalized, invoice.paid, invoice.payment_failed\n- customer.subscription.created, customer.subscription.updated, customer.subscription.deleted\n- checkout.session.completed (āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ Checkout-āĻ āϏāĻžāĻŦāϏā§āĻā§āϰāĻŋāĻĒāĻļāύ āĻļā§āϰ⧠āĻāϰ⧠āĻĨāĻžāĻā§āύ)\n\nāĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύāĨ¤ āĻāĻžāĻāĻāĻž āĻĒā§āĻāϞā§āĻĄ āϰāĻžāĻā§āύ āĻāĻŦāĻ āϝāĻāύ āĻāĻāĻŋ āĻāϏāĻāĻŋāϞ⧠āϤāĻāύ āϝāĻž āĻĒāϰā§āϝāĻŦā§āĻā§āώāĻŖ āĻāϰā§āĻā§āύ āϤāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ: Stripe event.id, event.created, āĻāĻĒāύāĻžāϰ āϏāĻŋāĻāύā§āĻāĻžāϰ āĻā§āϰāĻŋāĻĢāĻŋāĻā§āĻļāύ āĻĢāϞāĻžāĻĢāϞ, āĻāĻŦāĻ āĻāĻĒāύāĻžāϰ āϏāĻžāϰā§āĻāĻžāϰā§āϰ āĻā§āϰāĻšāĻŖ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒāĨ¤ āĻāĻ āĻāϤāĻŋāĻšāĻžāϏ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻŦāĻž "āĻā§āύ āĻāĻŽāĻžāĻā§ āĻāĻžāϰā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§?" āĻāĻŦāĻžāĻŦ āĻĻā§āĻāϝāĻŧāĻžāϰ āϏāĻŽāϝāĻŧ āĻŽā§āϞā§āϝāĻŦāĻžāύāĨ¤\n\nāĻāĻāĻāĻŋ āĻļāĻā§āϤ, idempotent āϰāĻŋāĻāύāϏāĻŋāϞāĻŋāϝāĻŧā§āĻļāύ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻĻā§āĻāĻžāĻŦā§ āĻāĻāĻāĻžāĻŦā§:\n\n1. stripe_webhook_events āĻā§āĻŦāĻŋāϞ⧠āĻāĻāĻāĻŋ āĻāĻāύāĻŋāĻ āĻāύāϏā§āĻā§āϰā§āĻāύā§āĻ āϏāĻš āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻāύāϏāĻžāϰā§āĻ āĻāϰā§āύ, event_id-āĻāϰ āĻāĻĒāϰāĨ¤\n2. āϝāĻĻāĻŋ āĻāύāϏāĻžāϰā§āĻ āĻŦā§āϝāϰā§āĻĨ āĻšāϝāĻŧ, āĻāĻāĻŋ āϰāĻŋāĻā§āϰāĻžāĻ; āĻĨāĻžāĻŽā§āύāĨ¤\n3. āϏāĻŋāĻāύā§āĻāĻžāϰ āϝāĻžāĻāĻžāĻ āĻāϰā§āύ āĻāĻŦāĻ āĻĒāĻžāĻļ/āĻĢā§āϞ āϰā§āĻāϰā§āĻĄ āĻāϰā§āύāĨ¤\n4. āĻāĻā§āύā§āĻ āĻĒā§āϰāϏā§āϏ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ Stripe ID (customer, subscription, invoice) āĻĻāĻŋāϝāĻŧā§ āĻāĻĒāύāĻžāϰ āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āϰā§āĻāϰā§āĻĄāĻā§āϞ⧠āĻĻā§āĻā§āύāĨ¤\n5. āϏā§āĻā§āĻāĻā§āĻā§āĻāĻāĻŋ āĻā§āĻŦāϞ āϤāĻāύ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āύ āϝāĻāύ āĻāĻāĻŋ āϰā§āĻāϰā§āĻĄāĻā§ āĻāĻāĻŋāϝāĻŧā§ āύā§āϝāĻŧāĨ¤\n\nāĻāĻāĻ-āĻ
āĻĢ-āĻ
āϰā§āĻĄāĻžāϰ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĨ¤ "āĻŽā§āϝāĻžāĻā§āϏ āϏā§āĻā§āĻ āĻāϝāĻŧā§āϏ" āύāĻŋāϝāĻŧāĻŽ āĻāĻŦāĻ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ: āĻāĻāύ⧠āĻā§āύ⧠āϰā§āĻāϰā§āĻĄāĻā§ āĻāĻā§āϰ āĻ
āĻŦāϏā§āĻĨāĻžāϝāĻŧ āύāĻžāĻŽāĻžāύ āύāĻžāĨ¤\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻĒāύāĻŋ invoice.paid āĻĒāĻžāύ invoice in_123-āĻāϰ āĻāύā§āϝ, āĻāĻŋāύā§āϤ⧠āĻāĻĒāύāĻžāϰ āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻāύāĻāϝāĻŧā§āϏ āϰ⧠āĻāĻāύāĻ āύā§āĻāĨ¤ āĻāĻāĻāĻŋ āϰ⧠āϤā§āϰāĻŋ āĻāϰā§āύ āϝā§āĻāĻŋ "Stripe āĻĨā§āĻā§ āĻĻā§āĻāĻž āĻšāϝāĻŧā§āĻā§" āĻšāĻŋāϏā§āĻŦā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻĨāĻžāĻāĻŦā§, āϤāĻžāϰāĻĒāϰ āĻĒāϰ⧠Stripe customer ID āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻ āĻŋāĻ āĻ
ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āϏāĻā§āĻā§ āĻāĻāĻŋāĻā§ āϝā§āĻā§āϤ āĻāϰā§āύāĨ¤ āĻāϤ⧠āĻāĻĒāύāĻžāϰ āϞā§āĻāĻžāϰ āĻāύāϏāĻŋāϏā§āĻā§āύā§āĻ āĻĨāĻžāĻā§ āĻĄāĻžāĻŦāϞ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤\n\n## āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻā§āĻāĻžāϞ āĻĨā§āĻā§ āĻāύāĻāϝāĻŧā§āϏ āϞāĻžāĻāύ āĻāĻāĻā§āĻŽ āĻĒāϰā§āϝāύā§āϤ\n\nāĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰāĻā§ āĻāύāĻāϝāĻŧā§āϏ āϞāĻžāĻāύ⧠āĻĒāϰāĻŋāĻŖāϤ āĻāϰāĻž āĻŽā§āϞāϤ āϏāĻŽāϝāĻŧāĻāĻžāĻ āĻžāĻŽā§ āĻ āϏā§āĻŽāĻžāύāĻžāϰ āĻŦāĻŋāώāϝāĻŧāĨ¤ āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰā§āύ āĻāĻĒāύāĻŋ āĻāĻŋ āϰāĻŋāϝāĻŧā§āϞ-āĻāĻžāĻāĻŽ āĻā§āĻāĻžāϞ āĻāĻžāύ (āĻĄā§āϝāĻžāĻļāĻŦā§āϰā§āĻĄ, āϏā§āĻĒā§āύā§āĻĄ āĻ
ā§āϝāĻžāϞāĻžāϰā§āĻ) āύāĻžāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻŦāĻŋāϞāĻŋāĻ āϏāĻŽāϝāĻŧā§āĨ¤ āĻ
āύā§āĻ āĻāĻŋāĻŽ āĻāĻāϝāĻŧ āĻāϰā§: āĻāĻā§āύā§āĻ āĻā§āϰāĻŽāĻžāĻāϤ āϞāĻŋāĻā§ āϰāĻžāĻā§, āĻāύāĻāϝāĻŧā§āϏ-āϰā§āĻĄāĻŋ āĻā§āĻāĻžāϞ āĻļāĻŋāĻĄāĻŋāĻāϞāĻĄ āĻāĻŦ āĻĻāĻŋāϝāĻŧā§ āĻāĻŽā§āĻĒāĻŋāĻāĻ āĻāϰā§āĨ¤\n\nāĻāĻĒāύāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻāύā§āĻĄā§ Stripe-āϰ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄā§āϰ āϏāĻžāĻĨā§ āϏāĻžāϝā§āĻā§āϝ āϰāĻžāĻā§āύāĨ¤ āĻā§āϝāĻžāϞā§āύā§āĻĄāĻžāϰ āĻŽāĻžāϏ āĻ
āύā§āĻŽāĻžāύ āĻāϰāĻŦā§āύ āύāĻžāĨ¤ āϏāĻžāĻŦāϏā§āĻā§āϰāĻŋāĻĒāĻļāύ āĻāĻāĻā§āĻŽā§āϰ āĻŦāϰā§āϤāĻŽāĻžāύ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āϏā§āĻāĻžāϰā§āĻ āĻ āĻāύā§āĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ āĻā§āĻŦāϞ āϏā§āĻ āĻāĻāύā§āĻĄā§āϰ āĻŽāϧā§āϝ⧠āĻĒāĻĄāĻŧāĻž āĻāĻā§āύā§āĻāĻā§āϞā§āϰ āϏāĻŽāώā§āĻāĻŋ āύāĻŋāύāĨ¤ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ UTC-āϤ⧠āϰāĻžāĻā§āύ āĻāĻŦāĻ āĻŦāĻŋāϞāĻŋāĻ āĻāĻāύā§āĻĄā§āĻ UTC-āϤ⧠āϰāĻžāĻā§āύāĨ¤\n\nāĻāϤāĻŋāĻšāĻžāϏ āĻ
āĻŽā§āĻāύā§āϝāĻŧ āϰāĻžāĻā§āύāĨ¤ āĻĒāϰ⧠āϝāĻĻāĻŋ āĻā§āϞ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧ, āĻĒā§āϰāĻžāύ⧠āĻāĻā§āύā§āĻ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰāĻŦā§āύ āύāĻž āĻŦāĻž āĻĒā§āϰā§āĻŦā§āϰ āĻā§āĻāĻžāϞ āĻĒā§āύāĻāϞāĻŋāĻāύ āĻāϰāĻŦā§āύ āύāĻžāĨ¤ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āϰā§āĻāϰā§āĻĄ āϤā§āϰāĻŋ āĻāϰā§āύ āϝāĻž āĻŽā§āϞ āĻāĻāύā§āĻĄā§āĻā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠āĻāĻŦāĻ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āϝā§āĻ āĻŦāĻž āĻŦāĻŋāϝāĻŧā§āĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻ
āĻĄāĻŋāĻā§ āϏāĻšāĻ āĻāĻŦāĻ āĻŦā§āϝāĻžāĻā§āϝāĻž āϰāĻžāĻāϤ⧠āϏā§āĻŦāĻŋāϧāĻž āĻĻā§āϝāĻŧāĨ¤\n\nāĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻž āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻ āĻĒā§āϰā§āϰā§āĻļāύ āĻšāϞ āĻāĻžāϝāĻŧāĻāĻž āϝā§āĻāĻžāύ⧠āĻā§āϰā§āϏā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āĻĒā§āϰāĻžāϝāĻŧāĻ āĻšāĻžāϰāĻžāϝāĻŧāĨ¤ āĻā§āϰāĻžāĻšāĻ āĻŽāĻžāĻāĻĒāĻĨā§ āĻĒā§āϞā§āϝāĻžāύ āĻŦāĻĻāϞāĻžāϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻā§ āϏāĻžāĻŦ-āĻāĻāύā§āĻĄā§āϤ⧠āĻāĻžāĻ āĻāϰā§āύ āϝāĻžāϤ⧠āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĻāĻžāĻŽ āϝā§āĻāĻžāύ⧠āϏāĻā§āϰāĻŋāϝāĻŧ āĻāĻŋāϞ āϏā§āĻ āϏāĻŽāϝāĻŧāϏā§āĻŽāĻžāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ āĻāĻĒāύāĻžāϰ āĻāύāĻāϝāĻŧā§āϏ āĻĻā§āĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϞāĻžāĻāύ⧠(āĻŦāĻž āĻāĻāĻāĻŋ āϞāĻžāĻāύ āĻĒā§āϞāĻžāϏ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ) āĻĻā§āĻāĻžāϤ⧠āĻĒāĻžāϰā§, āĻĒā§āϰāϤā§āϝā§āĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŽā§āϞā§āϝ āĻ āϏāĻŽāϝāĻŧāϏā§āĻŽāĻžāϰ āϏāĻā§āĻā§ āϝā§āĻā§āϤāĨ¤\n\nāĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻŋāĻ āĻĢā§āϞā§:\n\n- Stripe āĻĨā§āĻā§ āĻāύāĻāϝāĻŧā§āϏ āĻāĻāύā§āĻĄā§ (period start āĻāĻŦāĻ end) āĻā§āύ⧠āύāĻŋāύāĨ¤\n- āĻ āĻāĻāύā§āĻĄā§ āĻ āĻĒā§āϰāĻžāĻāϏ āĻ
āύā§āϝāĻžāϝāĻŧā§ āĻāĻĒāϝā§āĻā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ āĻāϰā§āύāĨ¤\n- āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻā§āĻāĻžāϞ āĻ āϝā§āĻā§āύ⧠āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻĨā§āĻā§ āĻāύāĻāϝāĻŧā§āϏ āϞāĻžāĻāύ āĻāĻāĻā§āĻŽ āĻā§āύāĻžāϰā§āĻ āĻāϰā§āύāĨ¤\n- āĻāĻāĻāĻŋ calculation run id āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ āϝāĻžāϤ⧠āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āϏāĻāĻā§āϝāĻžāĻā§āϞāĻŋ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒā§āϰāĻāύāύ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤\n\n## āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āĻāĻŦāĻ āĻĻā§āϰāĻŋ āĻĄā§āĻāĻžâāĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāĻžāĻāĻžāύ⧠āĻāĻžāĻĄāĻŧāĻžāĻ\n\nāĻĻā§āϰāĻŋāϤ⧠āĻāϏāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĄā§āĻāĻž āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĨ¤ āĻĄāĻŋāĻāĻžāĻāϏ āĻ
āĻĢāϞāĻžāĻāύ āĻšāϝāĻŧ, āĻŦā§āϝāĻžāĻ āĻāĻŦ āĻĻā§āϰāĻŋ āĻāϰā§, āĻĒāĻžāϰā§āĻāύāĻžāϰ āĻĢāĻžāĻāϞ āĻĒā§āύāϰāĻžāϝāĻŧ āĻĒāĻžāĻ āĻžāϝāĻŧ, āĻāĻŦāĻ āϞāĻāϏ āĻāĻāĻā§āĻā§āϰ āĻĒāϰ⧠āϰāĻŋāĻĒā§āϞ⧠āĻšāϝāĻŧāĨ¤ āĻŽā§āϞ āĻŦāĻŋāώāϝāĻŧ āĻšāϞ⧠āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞāĻā§ āĻāĻāĻāĻŋ āϏāĻāĻļā§āϧāύ āĻāĻžāĻ āĻšāĻŋāϏā§āĻŦā§ āĻĻā§āĻāĻž, āϏāĻāĻā§āϝāĻžāĻā§āϞ⧠"āĻĢāĻŋāĻ āĻāϰāĻžāύā§" āĻšāĻŋāϏā§āĻŦā§ āύāϝāĻŧāĨ¤\n\nāϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻāϞā§āϞā§āĻ āĻāϰā§āύ āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āĻā§āĻĨāĻž āĻĨā§āĻā§ āĻāϏāϤ⧠āĻĒāĻžāϰ⧠(āĻ
ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύ āϞāĻ, āĻā§ā§āϝāĻžāϰāĻšāĻžāĻāϏ āĻāĻā§āϏāĻĒā§āϰā§āĻ, āĻĒāĻžāϰā§āĻāύāĻžāϰ āϏāĻŋāϏā§āĻā§āĻŽ)āĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻā§āύā§āĻā§ āϏā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāϰā§āύ āϝāĻžāϤ⧠āĻāĻĒāύāĻŋ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻā§āύ āĻāĻāĻŋ āĻĻā§āϰāĻŋāϤ⧠āĻāϞā§āĨ¤\n\nāĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āĻāϰāϞ⧠āĻĻā§āĻāĻāĻŋ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āϰāĻžāĻā§āύ: āϝāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšāϝāĻŧā§āĻā§ (āϝāĻž āĻāĻĒāύāĻŋ āĻŦāĻŋāϞ āĻāϰāϤ⧠āĻāĻžāύ) āĻāĻŦāĻ āϝāĻāύ āĻāĻĒāύāĻŋ āĻāĻāĻŋ āĻāύāĻā§āϏā§āĻ āĻāϰā§āĻā§āύāĨ¤ āĻāĻā§āύā§āĻāĻāĻŋāĻā§ āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āĻšāĻŋāϏā§āĻŦā§ āĻā§āϝāĻžāĻ āĻāϰā§āύ, āĻāĻŋāύā§āϤ⧠āĻāϤāĻŋāĻšāĻžāϏ āĻāĻāĻžāϰāϰāĻžāĻāĻ āĻāϰāĻŦā§āύ āύāĻžāĨ¤\n\nāĻĻā§āϞā§āĻāĻž āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāĻžāϰ āĻŦāĻĻāϞ⧠āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻĨā§āĻā§ āĻā§āĻāĻžāϞ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻĒāĻāύā§āĻĻ āĻāϰā§āύāĨ¤ āϰā§āĻĒā§āϞ⧠āĻšāϞ⧠āĻŦāĻžāĻ āĻĨā§āĻā§ āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰā§āϰ āĻāĻĒāĻžāϝāĻŧ ā¤Ŧā¤ŋā¤¨ā¤ž āĻ
āύā§āĻŽāĻžāύ āĻāϰāĻžāϰāĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ idempotent āĻšāϝāĻŧ, āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻĻāĻŋāύ, āĻāĻ āϏāĻĒā§āϤāĻžāĻš, āĻŦāĻž āĻĒā§āϰ⧠āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āĻāĻāĻ āĻā§āĻāĻžāϞ āĻĒāĻžāĻŦā§āύāĨ¤\n\nāĻāĻāĻŦāĻžāϰ āĻāύāĻāϝāĻŧā§āϏ āϤā§āϰāĻŋ āĻšāϝāĻŧā§ āĻā§āϞā§, āϏāĻāĻļā§āϧāύ āĻāϰāĻžāϰ āύā§āϤāĻŋāĻā§āϞ⧠āϏā§āĻĒāώā§āĻ āϰāĻžāĻā§āύ:\n\n- āϝāĻĻāĻŋ āĻāύāĻāϝāĻŧā§āϏ āĻĢāĻžāĻāύāĻžāϞ āύāĻž āĻšāϝāĻŧ, āĻĢāĻžāĻāύāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻā§ āĻĒā§āύāĻāĻšāĻŋāϏāĻžāĻŦ āĻāϰā§āύ āĻāĻŦāĻ āĻā§āĻāĻžāϞ āĻāĻĒāĻĄā§āĻ āĻāϰā§āύāĨ¤\n- āϝāĻĻāĻŋ āĻāĻāĻŋ āĻĢāĻžāĻāύāĻžāϞ āĻāĻŦāĻ āĻāύā§āĻĄāĻžāϰāĻŦāĻŋāϞāĻĄ āĻšāϝāĻŧ, āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĄ-āĻ
āύ āĻāύāĻāϝāĻŧā§āϏ āĻāϏā§āϝ⧠āĻāϰā§āύ (āĻŦāĻž āύāϤā§āύ āĻāύāĻāϝāĻŧā§āϏ āĻāĻāĻā§āĻŽ āϝā§āĻ āĻāϰā§āύ) āϏā§āĻĒāώā§āĻ āĻŦāϰā§āĻŖāύāĻžāϏāĻšāĨ¤\n- āϝāĻĻāĻŋ āĻāĻāĻŋ āĻĢāĻžāĻāύāĻžāϞ āĻāĻŦāĻ āĻāĻāĻžāϰāĻŦāĻŋāϞā§āĻĄ āĻšāϝāĻŧ, āĻāĻāĻāĻŋ āĻā§āϰā§āĻĄāĻŋāĻ āύā§āĻ āĻāϏā§āϝ⧠āĻāϰā§āύ āĻāĻŦāĻ āĻŽā§āϞ āĻāύāĻāϝāĻŧā§āϏ āϰā§āĻĢāĻžāϰā§āύā§āϏ āĻāϰā§āύāĨ¤\n- āϏāĻāĻļā§āϧāύ āĻāĻĄāĻŧāĻžāϤ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰāĻā§ āĻ
āύā§āϝ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄā§ āϏāϰāĻžāĻŦā§āύ āύāĻžāĨ¤\n- āϏāĻāĻļā§āϧāύā§āϰ āĻāĻāĻāĻŋ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻāĻžāϰāĻŖ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ (āĻĒāĻžāϰā§āĻāύāĻžāϰ āϰāĻŋāϏā§āύā§āĻĄ, āĻĻā§āϰāĻŋ āϞāĻ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ, āĻŦāĻžāĻ āĻĢāĻŋāĻā§āϏ)āĨ¤\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻāĻāĻŋ āĻĒāĻžāϰā§āĻāύāĻžāϰ āĻāĻžāύāĻžāϝāĻŧ āϝ⧠āĻāĻžāύā§āϝāĻŧāĻžāϰāĻŋ 28-29-āĻāϰ āĻ
āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻĢā§āĻŦā§āϰā§āϝāĻŧāĻžāϰāĻŋ 3-āĻ āĻĒāĻžāĻ āĻŋāϝāĻŧā§āĻā§āĨ¤ āĻāĻĒāύāĻŋ āϏā§āĻā§āϞ⧠insert āĻāϰā§āύ occurred_at āĻāĻžāύā§āϝāĻŧāĻžāϰāĻŋāϤā§, ingested_at āĻĢā§āĻŦā§āϰā§āϝāĻŧāĻžāϰāĻŋāϤā§, āĻāĻŦāĻ āϏā§āϰā§āϏ āĻšāĻŋāϏā§āĻŦā§ "partner" āϰāĻžāĻā§āύāĨ¤ āĻāĻžāύā§āϝāĻŧāĻžāϰāĻŋāϰ āĻāύāĻāϝāĻŧā§āϏ āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻĒā§āĻāĻĄ āĻāĻŋāϞ, āϤāĻžāĻ āĻāĻĒāύāĻŋ āĻ
āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻāĻāύāĻŋāĻāĻā§āϞā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āĻ āĻ
ā§āϝāĻžāĻĄ-āĻ
āύ āĻāύāĻāϝāĻŧā§āϏ āϤā§āϰāĻŋ āĻāϰāĻŦā§āύ āĻāĻŦāĻ āϰāĻŋāĻāύāϏāĻŋāϞāĻŋāϝāĻŧā§āĻļāύ āϰā§āĻāϰā§āĻĄā§āϰ āĻĒāĻžāĻļā§ āĻāĻžāϰāĻŖ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāĻŦā§āύāĨ¤\n\n## āĻĄāĻžāĻŦāϞ-āĻāĻžāĻāύā§āĻāĻŋāĻ-āĻāϰ āĻāĻžāϰāĻŖ āĻšāĻāϝāĻŧāĻž āϏāĻžāϧāĻžāϰāĻŖ āĻā§āϞāĻā§āϞā§\n\nāĻĄāĻžāĻŦāϞ-āĻāĻžāĻāύā§āĻāĻŋāĻ āĻāĻā§ āϝāĻāύ āϏāĻŋāϏā§āĻā§āĻŽ āĻŽāύ⧠āĻāϰ⧠"āĻāĻāĻāĻŋ āĻŽā§āϏā§āĻ āĻāϏā§āĻā§" āĻŽāĻžāύā§āĻ "āĻ
ā§āϝāĻžāĻāĻļāύ āĻšāϝāĻŧā§āĻā§"āĨ¤ āϰāĻŋāĻā§āϰāĻžāĻ, āĻĻā§āϰāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ, āĻāĻŦāĻ āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞā§āϰ āϏāĻžāĻĨā§, āĻāĻĒāύāĻžāĻā§ āĻā§āϰāĻžāĻšāĻā§āϰ āĻ
ā§āϝāĻžāĻāĻļāύāĻā§ āĻāĻĒāύāĻžāϰ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻĨā§āĻā§ āĻāϞāĻžāĻĻāĻž āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤\n\nāϏāĻžāϧāĻžāϰāĻŖ āĻ
āĻĒāϰāĻžāϧā§āĻā§āϞā§:\n\n- āϰāĻŋāĻā§āϰāĻžāĻāĻā§āϞ⧠āύāϤā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšāĻŋāϏā§āĻŦā§ āĻĻā§āĻāĻžāĨ¤ āϝāĻĻāĻŋ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻā§āύā§āĻā§ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻ
ā§āϝāĻžāĻāĻļāύ āĻāĻāĻĄāĻŋ (request_id, message_id) āύāĻž āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻāύāĻŋāĻāύā§āϏ āĻā§āϰ āύāĻž āĻāϰā§, āĻāĻĒāύāĻŋ āĻĻā§āĻāĻŦāĻžāϰ āĻāĻŖāύāĻž āĻāϰāĻŦā§āύāĨ¤\n- āĻāĻā§āύā§āĻ āĻāĻžāĻāĻŽ āĻ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻāĻžāĻāĻŽ āĻŽāĻŋāĻļā§āϰāĻŋāϤ āĻāϰāĻžāĨ¤ ingest āϏāĻŽāϝāĻŧ āĻ
āύā§āϝāĻžāϝāĻŧā§ āϰāĻŋāĻĒā§āϰā§āĻ āĻāϰāϞ⧠āĻĻā§āϰāĻŋāϤ⧠āĻāϏāĻž āĻāĻā§āύā§āĻ āĻā§āϞ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄā§ āĻāϏā§, āĻĒāϰ⧠āϰā§āĻĒā§āϞā§-āϤ⧠āĻāĻŦāĻžāϰ āĻāĻŖāύāĻž āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤\n- āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻŦāĻž āĻāĻāĻžāϰāϰāĻžāĻāĻ āĻāϰāĻžāĨ¤ āϝāĻĻāĻŋ āĻā§āĻŦāϞ āĻāϞāĻŽāĻžāύ āĻā§āĻāĻžāϞ āϰāĻžāĻāĻž āĻšāϝāĻŧ, āĻāĻĒāύāĻŋ āĻĒā§āϰāĻŽāĻžāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ āύāĻž āĻā§ āĻāĻā§āĻāĻŋāϞ, āĻāĻŦāĻ āϰāĻŋ-āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻā§āĻāĻžāϞ āĻŦāĻžāĻĄāĻŧāĻŋāϝāĻŧā§ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰā§āĨ¤\n- āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻ
āϰā§āĻĄāĻžāϰ āϧāϰ⧠āύā§āĻāϝāĻŧāĻžāĨ¤ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ, āĻāĻāĻ-āĻ
āĻĢ-āĻ
āϰā§āĻĄāĻžāϰ, āĻŦāĻž āĻāĻāĻļāĻŋāĻ āϏā§āĻā§āĻ āĻĒā§āϰāϤāĻŋāύāĻŋāϧāĻŋāϤā§āĻŦ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ Stripe āĻ
āĻŦāĻā§āĻā§āĻ āĻāĻāĻĄāĻŋ āĻ
āύā§āϝāĻžāϝāĻŧā§ reconcile āĻāϰā§āύ āĻāĻŦāĻ āĻāĻāĻāĻŋ "āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻā§āϤ" āĻāĻžāϰā§āĻĄ āϰāĻžāĻā§āύāĨ¤\n- āĻā§āϝāĻžāύā§āϏā§āϞā§āĻļāύ, āϰāĻŋāĻĢāĻžāύā§āĻĄ, āĻāĻŦāĻ āĻā§āϰā§āĻĄāĻŋāĻ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻŽāĻĄā§āϞ āύāĻž āĻāϰāĻžāĨ¤ āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻā§āĻŦāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϝā§āĻ āĻāϰā§āύ āĻāĻŦāĻ āύā§āϤāĻŋāĻŦāĻžāĻāĻ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āϰā§āĻāϰā§āĻĄ āύāĻž āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻĒāϰ⧠āĻāĻĒāύāĻŋ āĻāĻŽāĻĒā§āϰā§āĻ āĻāϰ⧠āĻŦāĻž āĻ
āύā§āϝāĻāĻžāĻŦā§ āĻ āĻŋāĻ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāϞ⧠āĻāĻŦāĻžāϰāĻ āĻā§āύāĻž āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤\n\nāĻāĻĻāĻžāĻšāϰāĻŖ: āĻāĻĒāύāĻŋ āϞāĻ āĻāϰā§āύ "10 API āĻāϞ" āĻāĻŦāĻ āĻĒāϰ⧠āĻāĻāĻā§āĻā§āϰ āĻāĻžāϰāĻŖā§ 2 āĻāϞ āĻā§āϰā§āĻĄāĻŋāĻ āĻĻā§āύāĨ¤ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻāĻ āĻĻāĻŋāύ⧠āĻĒā§āϰ⧠āĻĻāĻŋāύā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāύ āĻāĻŦāĻ āĻā§āϰā§āĻĄāĻŋāĻāĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āύ, āĻā§āϰāĻžāĻšāĻ āĻĻā§āĻāϤ⧠āĻĒāĻžāϝāĻŧ 18 āĻāϞ (10 + 10 - 2) āĻŦāϰāĻ āϏāĻ āĻŋāĻ 8 āĻāϞāĨ¤\n\n## āϞāĻžāĻāĻ āϝāĻžāĻāϝāĻŧāĻžāϰ āĻāĻā§ āĻĻā§āϰā§āϤ āĻā§āĻāϞāĻŋāϏā§āĻ\n\nāĻŦāĻžāϏā§āϤāĻŦ āĻā§āϰāĻžāĻšāĻāĻĻā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦāĻŋāϞāĻŋāĻ āĻāĻžāϞ⧠āĻāϰāĻžāϰ āĻāĻā§ āĻ
āϞā§āĻĒ āĻāĻŋāĻā§ āĻĒāϰā§āĻā§āώāĻžāϝāĻŧ āύāĻŋāϝāĻŧā§ āϝāĻžāύ āϝāĻž āϏāϏā§āϤāĻž āĻŦāĻŋāϞāĻŋāĻ āĻŦāĻžāĻāĻā§āϞ⧠āĻāĻāĻāĻžāϝāĻŧāĨ¤ āĻŦā§āĻļāĻŋāϰāĻāĻžāĻ āĻŦā§āϝāϰā§āĻĨāϤāĻž "Stripe āϏāĻŽāϏā§āϝāĻž" āύāϝāĻŧâāĻāĻā§āϞ⧠āĻĄā§āĻāĻž āϏāĻŽāϏā§āϝāĻž: āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ, āĻ
āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻĻāĻŋāύ, āĻāĻŦāĻ āύā§āϰāĻŦ āϰāĻŋāĻā§āϰāĻžāĻāĨ¤\n\nāĻā§āĻāϞāĻŋāϏā§āĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻ āĻĒā§āϰāϝāĻŧā§āĻāϝā§āĻā§āϝ āϰāĻžāĻā§āύ:\n\n- āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻā§ āĻāĻāύāĻŋāĻāύā§āϏ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ (āĻāĻĻāĻžāĻšāϰāĻŖ: event_id-āĻ āĻāĻāύāĻŋāĻ āĻāύāϏā§āĻā§āϰā§āĻāύā§āĻ) āĻāĻŦāĻ āĻāĻāĻāĻŋ id āĻā§āĻļāϞ⧠āĻĒā§āϰāĻŦāϞ āĻĒā§āϰāϤāĻŋāĻļā§āϰā§āϤāĻŋ āϰāĻžāĻā§āύāĨ¤\n- āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ, āϤāĻžāϰ āϏāĻŋāĻāύā§āĻāĻžāϰ āϝāĻžāĻāĻžāĻ āĻāϰā§āύ, āĻāĻŦāĻ idempotentāĻāĻžāĻŦā§ āĻĒā§āϰāϏā§āϏ āĻāϰā§āύāĨ¤\n- āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ
āύā§āĻā§āĻā§āĻĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻāϰāĻŖ āĻāϰā§āύâāĻāĻā§āύā§āĻāĻā§āϞā§āĻā§ āĻ
āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āϰāĻžāĻā§āύāĨ¤ āϏāĻāĻļā§āϧāύ āĻāϰā§āύ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻĻāĻŋāϝāĻŧā§ (positive āĻŦāĻž negative), āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰ⧠āύāϝāĻŧāĨ¤\n- āĻāĻāĻāĻŋ āĻĻā§āύāĻŋāĻ reconciliation āĻāĻŦ āĻāĻžāϞāĻžāύ āϝāĻž āĻ
āĻā§āϝāύā§āϤāϰā§āĻŖ āĻā§āĻāĻžāϞ (āĻĒā§āϰāϤāĻŋ āĻā§āϰāĻžāĻšāĻ, āĻĒā§āϰāϤāĻŋ āĻŽāĻŋāĻāĻžāϰ, āĻĒā§āϰāϤāĻŋ āĻĻāĻŋāύ) āĻāĻŦāĻ Stripe āĻŦāĻŋāϞāĻŋāĻ āϏā§āĻā§āĻ āϤā§āϞāύāĻž āĻāϰā§āĨ¤\n- āĻā§āϝāĻžāĻĒ āĻ āĻ
āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāϤāĻžāϰ āĻāύā§āϝ āĻ
ā§āϝāĻžāϞāĻžāϰā§āĻ āϝā§āĻ āĻāϰā§āύ: āĻ
āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻĻāĻŋāύ, āύā§āϤāĻŋāĻŦāĻžāĻāĻ āĻā§āĻāĻžāϞ, āĻšāĻ āĻžā§ āĻāϤā§āĻĨāĻžāύ, āĻ
āĻĨāĻŦāĻž "āĻāĻā§āύā§āĻ āĻāύāĻā§āϏā§āĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§" āĻāĻŦāĻ "āĻāĻā§āύā§āĻ āĻŦāĻŋāϞ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§"-āĻāϰ āĻŽāϧā§āϝ⧠āĻŦāĻĄāĻŧ āĻĢāĻžāϰāĻžāĻāĨ¤\n\nāĻāĻāĻāĻŋ āϏāĻšāĻ āĻĒāϰā§āĻā§āώāĻž: āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻšāĻ āĻŦā§āĻā§ āύāĻŋāύ, āĻļā§āώ 7 āĻĻāĻŋāύā§āϰ āĻāύā§āϝ āĻāύāĻā§āĻļāύ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞāĻžāύ, āĻāĻŦāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āύ āĻā§āĻāĻžāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰ⧠āύāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϞ⧠āĻāĻĒāύāĻžāϰ āĻāĻžāĻā§ āĻāĻāύāĻ idempotency āĻŦāĻž āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ āϏāĻŽāϏā§āϝāĻž āĻāĻā§āĨ¤\n\n## āĻāĻĻāĻžāĻšāϰāĻŖ āĻĻā§āĻļā§āϝ: āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ āĻāύāĻāϝāĻŧā§āϏā§āϰ āĻāĻāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāϏāĻŽā§āĻŽāϤ āĻŽāĻžāϏ\n\nāĻāĻāĻāĻŋ āĻā§āĻ āϏāĻžāĻĒā§āϰā§āĻ āĻāĻŋāĻŽ āĻāĻāĻāĻŋ āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻĒā§āϰā§āĻāĻžāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝāĻž āĻĒā§āϰāϤāĻŋ āĻāĻĨā§āĻĒāĻāĻĨāύ $0.10 āĻāĻžāϰā§āĻ āĻāϰā§āĨ¤ āϤāĻžāϰāĻž Stripe-āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ-āĻāĻŋāϤā§āϤāĻŋāĻ āĻŦāĻŋāϞāĻŋāĻ āĻŦāĻŋāĻā§āϰāϝāĻŧ āĻāϰā§, āĻāĻŋāύā§āϤ⧠āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϏ⧠āϤāĻāύāĻ āϝāĻāύ āĻĄā§āĻāĻž āĻā§āϞāĻŽā§āϞ⧠āĻšāϞ⧠āĻāĻŋ āĻāĻā§ āϤāĻž āϏā§āĻŦāĻā§āĻ āĻĨāĻžāĻā§āĨ¤\n\nāĻŽāĻžāϰā§āĻ 1-āĻ āĻā§āϰāĻžāĻšāĻ āĻāĻāĻāĻŋ āύāϤā§āύ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻļā§āϰ⧠āĻāϰā§āĨ¤ āĻĒā§āϰāϤāĻŦāĻžāϰ āĻāĻāĻāĻŋ āĻāĻā§āύā§āĻ āĻāĻĨā§āĻĒāĻāĻĨāύ āĻŦāύā§āϧ āĻāϰāϞ⧠āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒ āĻāĻāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ āĻāĻŽāĻŋāĻ āĻāϰā§:\n\n- event_id: āĻāĻĒāύāĻžāϰ āĻ
ā§āϝāĻžāĻĒ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ UUID\n- customer_id āĻāĻŦāĻ subscription_item_id\n- quantity: 1 āĻāĻĨā§āĻĒāĻāĻĨāύ\n- occurred_at: āĻā§āϞā§āĻ āĻāĻžāĻāĻŽ\n- ingested_at: āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻĻā§āĻāĻž āϏāĻŽāϝāĻŧ\n\nāĻŽāĻžāϰā§āĻ 3-āĻ āĻāĻāĻāĻŋ āĻŦā§āϝāĻžāĻāĻā§āϰāĻžāĻāύā§āĻĄ āĻāϝāĻŧāĻžāϰā§āĻāĻžāϰ āĻāĻžāĻāĻŽāĻāĻāĻā§āϰ āĻĒāϰ⧠āϰāĻŋāĻā§āϰāĻžāĻ āĻāϰ⧠āĻāĻŦāĻ āĻāĻāĻ āĻāĻĨā§āĻĒāĻāĻĨāύ āĻāĻŦāĻžāϰ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ event_id āĻāĻāύāĻŋāĻ āĻšāĻāϝāĻŧāĻžāϝāĻŧ āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āĻāύāϏāĻžāϰā§āĻ āύā§-āĻ
āĻĒ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧ āĻāĻŦāĻ āĻā§āĻāĻžāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧ āύāĻžāĨ¤\n\nāĻŽāϧā§āϝāĻŽāĻžāϏā§, Stripe āĻāύāĻāϝāĻŧā§āϏ āĻĒā§āϰāĻŋāĻāĻŋāĻ āĻāĻŦāĻ āĻĒāϰ⧠āĻĢāĻžāĻāύāĻžāϞāĻžāĻāĻāĻĄ āĻāύāĻāϝāĻŧā§āϏā§āϰ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĒāĻžāĻ āĻžāϝāĻŧāĨ¤ āĻāĻĒāύāĻžāϰ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ stripe_event_id, type, āĻāĻŦāĻ received_at āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§, āĻāĻŦāĻ āĻā§āĻŦāϞ āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻā§āϰāĻžāύāĻā§āĻāĻļāύ āĻāĻŽāĻŋāĻ āĻšāĻāϝāĻŧāĻžāϰ āĻĒāϰ⧠āĻĒā§āϰāϏā§āϏāĻĄ āĻšāĻŋāϏā§āĻŦā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§āĨ¤ āϝāĻĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĻā§āĻŦāĻžāϰ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻšāϝāĻŧ, āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧāĻāĻŋ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧ āĻāĻžāϰāĻŖ stripe_event_id āĻāϤāĻŋāĻŽāϧā§āϝā§āĻ āĻāĻā§āĨ¤\n\nāĻŽāĻžāϰā§āĻ 18-āĻ āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻŽā§āĻŦāĻžāĻāϞ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĨā§āĻā§ āĻĻā§āϰāĻŋāϤ⧠āĻāϏāĻž āĻŦā§āϝāĻžāĻ āĻāĻŽāĻĒā§āϰā§āĻ āĻĒāĻžāύ āϝā§āĻāĻŋ āĻŽāĻžāϰā§āĻ 17-āĻāϰ 35 āĻāĻĨā§āĻĒāĻāĻĨāύ āϰāĻžāĻā§āĨ¤ āĻ āĻāĻā§āύā§āĻāĻā§āϞā§āϰ occurred_at āĻĒā§āϰāĻžāύ⧠āĻšāϞā§āĻ āĻāĻā§āϞ⧠āĻŦā§āϧāĨ¤ āϏāĻŋāϏā§āĻā§āĻŽ āϏā§āĻā§āϞ⧠āĻāύāϏāĻžāϰā§āĻ āĻāϰā§, āĻŽāĻžāϰā§āĻ 17-āĻāϰ āĻĻā§āύāĻŋāĻ āĻā§āĻāĻžāϞ āĻĒā§āύāĻāĻāĻŖāύāĻž āĻāϰā§, āĻāĻŦāĻ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻĒāϰā§āϰ āĻāύāĻāϝāĻŧā§āϏ⧠āϧāϰāĻž āĻĒāĻĄāĻŧā§ āĻāĻžāϰāĻŖ āĻāĻāĻŋ āĻāĻāύāĻ āĻā§āϞāĻž āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄā§āϰ āĻŽāϧā§āϝ⧠āĻāĻŋāϞāĨ¤\n\nāĻŽāĻžāϰā§āĻ 22-āĻ āĻāĻĒāύāĻŋ āĻāĻŦāĻŋāώā§āĻāĻžāϰ āĻāϰā§āύ āĻāĻāĻāĻŋ āĻāĻĨā§āĻĒāĻāĻĨāύ āĻĻā§āĻāĻŦāĻžāϰ āϰā§āĻāϰā§āĻĄ āĻšāϝāĻŧā§āĻā§ āĻāĻžāϰāĻŖ āĻāĻāĻāĻŋ āĻŦāĻžāĻ āĻĻā§āĻāĻāĻŋ āĻāĻŋāύā§āύ event_id āϤā§āϰāĻŋ āĻāϰā§āĻā§āĨ¤ āĻāϤāĻŋāĻšāĻžāϏ āĻŽā§āĻā§ āĻĢā§āϞāĻžāϰ āĻŦāĻĻāϞ⧠āĻāĻĒāύāĻŋ āĻāĻāĻāĻŋ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻāĻā§āύā§āĻ āϞāĻŋāĻā§āύ quantity = -1 āĻāĻŦāĻ āĻāĻžāϰāĻŖ āĻāϞā§āϞā§āĻ āĻāϰā§āύ "duplicate detected"āĨ¤ āĻāϤ⧠āĻ
āĻĄāĻŋāĻ āĻā§āϰā§āĻāϞ āĻ
āĻā§āĻ āĻĨāĻžāĻā§ āĻāĻŦāĻ āĻāύāĻāϝāĻŧā§āϏ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻŦā§āϝāĻžāĻā§āϝāĻžāϝā§āĻā§āϝ āĻšāϝāĻŧāĨ¤\n\n## āĻĒāϰāĻŦāϰā§āϤ⧠āĻĒāĻĻāĻā§āώā§āĻĒ: āύāĻŋāϰāĻžāĻĒāĻĻāĻāĻžāĻŦā§ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻ, āĻŽāύāĻŋāĻāϰ, āĻāĻŦāĻ āĻāĻāϰā§āĻ āĻāϰā§āύ\n\nāĻā§āĻ āĻĨā§āĻā§ āĻļā§āϰ⧠āĻāϰā§āύ: āĻāĻāĻāĻŋ āĻŽāĻŋāĻāĻžāϰ, āĻāĻāĻāĻŋ āĻĒā§āϞā§āϝāĻžāύ, āĻāĻāĻāĻŋ āĻā§āϰāĻžāĻšāĻ āϏā§āĻāĻŽā§āύā§āĻ āϝā§āĻāĻŋ āĻāĻĒāύāĻŋ āĻāĻžāϞā§āĻāĻžāĻŦā§ āĻŦā§āĻā§āύāĨ¤ āϞāĻā§āώā§āϝ āĻšāϞ⧠āϏāĻšāĻ āϏāĻžāĻŽāĻā§āĻāϏā§āϝ â āĻāĻĒāύāĻžāϰ āϏāĻāĻā§āϝāĻžāĻā§āϞ⧠Stripe-āϰ āϏāĻžāĻĨā§ āĻŽāĻžāϏ āĻĨā§āĻā§ āĻŽāĻžāϏ⧠āĻŽā§āϞā§, āĻā§āύ⧠āĻ
āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻāĻāύāĻž āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤\n\n### āĻā§āĻ āĻāϰ⧠āĻŦāĻžāύāĻžāύ, āϤāĻžāϰāĻĒāϰ āĻļāĻā§āϤ āĻāϰā§āύ\n\nāĻĒā§āϰā§āϝāĻžāĻāĻāĻŋāĻā§āϝāĻžāϞ āĻĒā§āϰāĻĨāĻŽ āϰā§āϞāĻāĻāĻ:\n\n- āĻāĻāĻāĻŋ āĻāĻā§āύā§āĻ āĻļā§āĻĒ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰā§āύ (āĻāĻŋ āĻāĻžāĻāĻž āĻšāĻā§āĻā§, āĻā§āύ āĻāĻāύāĻŋāĻā§, āĻā§āύ āϏāĻŽāϝāĻŧā§)āĨ¤\n- āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻā§āύā§āĻ āĻāĻāύāĻŋāĻ idempotency āĻā§ āĻ āϏā§āĻĒāώā§āĻ āϏā§āĻā§āϝāĻžāĻāĻžāϏ āϏāĻš āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύāĨ¤\n- āĻāύāĻāϝāĻŧā§āϏ āĻŦā§āϝāĻžāĻā§āϝāĻžāϝā§āĻā§āϝ āĻāϰāĻžāϰ āĻāύā§āϝ āĻĻā§āύāĻŋāĻ (āĻŦāĻž āĻāύā§āĻāĻžāϰ) āĻā§āĻāĻžāϞ⧠āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ āĻāϰā§āύāĨ¤\n- Stripe-āϰ āĻŦāĻŋāϰā§āĻĻā§āϧ⧠reconcile āĻļāĻŋāĻĄāĻŋāĻāϞ āĻāϰ⧠āĻāĻžāϞāĻžāύ, āĻā§āĻŦāϞ āϰāĻŋāϝāĻŧā§āϞ-āĻāĻžāĻāĻŽ āύāϝāĻŧāĨ¤\n- āĻāύāĻāϝāĻŧā§āϏ āĻšāĻāϝāĻŧāĻžāϰ āĻĒāϰ⧠āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄāĻāĻŋ āĻā§āϞā§āĻ āĻāϰāĻž āĻšāĻŋāϏā§āĻŦā§ āϧāϰā§āύ āĻāĻŦāĻ āĻĻā§āϰāĻŋ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻĒāĻĨ āĻĻāĻŋāϝāĻŧā§ āύāĻŋāϝāĻŧā§ āϝāĻžāύāĨ¤\n\nāĻā§āύā§-āĻā§āĻĄ āĻā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϞā§āĻ, āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻ
āĻŦā§āϧ āϏā§āĻā§āĻāĻā§āϞā§āĻā§ āĻ
āϏāĻŽā§āĻāĻŦ āĻāϰ⧠āĻĻā§āύ (āĻāĻāύāĻŋāĻ āĻāύāϏā§āĻā§āϰā§āĻāύā§āĻ, āĻĢāϰā§āύ āĻāĻŋāĻ, āĻāĻŦāĻ āĻā§āϰāĻšāĻŖ āĻāϰāĻž āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ āĻāĻĒāĻĄā§āĻ āύāĻž āĻāϰāĻž), āϤāĻāύ āĻļāĻā§āϤ āĻĄā§āĻāĻž āĻāύā§āĻāĻŋāĻā§āϰāĻŋāĻāĻŋ āĻŦāĻāĻžāϝāĻŧ āϰāĻžāĻāĻžāĻāĻž āϏāĻŽā§āĻāĻŦāĨ¤\n\n### āĻāĻŦāĻŋāώā§āϝāϤ āĻŦāĻžāĻāĻāĻžāϤ⧠āĻŽāύāĻŋāĻāϰāĻŋāĻ\n\nāĻļā§āϰā§āϤā§āĻ āϏāĻšāĻ āĻ
āĻĄāĻŋāĻ āϏā§āĻā§āϰāĻŋāύ āϝā§āĻ āĻāϰā§āύāĨ¤ āϝāĻāύ āĻā§āĻ āĻāĻŋāĻā§āĻā§āϏ āĻāϰāĻŦā§, "āĻāĻ āĻŽāĻžāϏ āĻāĻŽāĻžāϰ āĻŦāĻŋāϞ āĻŦā§āĻļāĻŋ āĻā§āύ?" āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰā§āĻ āĻāĻā§āϞā§āĻ āĻŽā§āϞā§āϝ āĻĻā§āϝāĻŧāĨ¤ āĻĻāϰāĻāĻžāϰ⧠āĻāĻŋāĻāĻā§āϞāĻŋāϰ āĻŽāϧā§āϝā§: āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻ
āύā§āϝāĻžāϝāĻŧā§ āĻāĻā§āύā§āĻ āϏāĻžāϰā§āĻ, āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύā§āϰ āĻĒā§āϰāϤāĻŋ-āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻā§āĻāĻžāϞ, āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĒā§āϰāϏā§āϏāĻŋāĻ āϏā§āĻā§āϝāĻžāĻāĻžāϏ, āĻāĻŦāĻ āĻŦā§āϝāĻžāĻāĻĢāĻŋāϞ/āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽāĻŽā§āύā§āĻā§āϰ āϏāĻā§āĻā§ āϤāĻĨā§āϝ āĻā§/āĻāĻāύ/āĻā§āύāĨ¤\n\nāĻāĻĒāύāĻŋ āϝāĻĻāĻŋ AppMaster (appmaster.io) āĻĻāĻŋāϝāĻŧā§ āĻāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰ⧠āĻĨāĻžāĻā§āύ, āϤāĻŦā§ āĻŽāĻĄā§āϞ āϏāĻšāĻā§āĻ āĻŽāĻžāύāĻžāϝāĻŧ: Data Designer-āĻ āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻ, āĻ
ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ, āĻāĻŦāĻ āĻ
ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ Business Processes āĻĻāĻŋāϝāĻŧā§ idempotent ingestion, āĻļāĻŋāĻĄāĻŋāĻāϞāĻĄ aggregation, āĻāĻŦāĻ webhook reconciliation āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰā§āύāĨ¤ āĻāĻĒāύāĻŋ āϤāĻāύāĻ āĻāĻāĻāĻŋ āĻŦāĻžāϏā§āϤāĻŦ āϞā§āĻāĻžāϰ āĻ āĻ
āĻĄāĻŋāĻ āĻā§āϰā§āĻāϞ āĻĒāĻžāĻŦā§āύ, āϏāĻŦ āĻĒā§āϞāĻžāĻŽā§āĻŦāĻŋāĻ āύāĻŋāĻā§ āϞāĻŋāĻā§ āύāĻž āĻāϰā§āĻāĨ¤\n\nāĻĒā§āϰāĻĨāĻŽ āĻŽāĻŋāĻāĻžāϰ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻšāϞ⧠āĻĒāϰā§āϰāĻāĻŋ āϝā§āĻ āĻāϰā§āύāĨ¤ āĻāĻāĻ āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āύā§āϤāĻŋ, āĻāĻāĻ āĻ
āĻĄāĻŋāĻ āĻā§āϞ, āĻāĻŦāĻ āĻāĻāĻ āĻ
āĻā§āϝāĻžāϏ āĻŦāĻāĻžāϝāĻŧ āϰāĻžāĻā§āύ: āĻāĻāϏāĻā§āĻā§ āĻāĻ āĻāĻŋāύāĻŋāϏ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ āĻļā§āϰ⧠āĻĨā§āĻā§ āĻļā§āώ āĻĒāϰā§āϝāύā§āϤ āϝāĻžāĻāĻžāĻ āĻāϰā§āύāĨ¤
āĻĒā§āϰāĻļā§āύā§āϤā§āϤāϰ
āĻāĻāĻŋāĻā§ āĻā§āĻ āĻāĻāĻāĻŋ āĻāĻžāϤāĻžāĻŦāĻšāĻŋāϰ āĻŽāϤ āĻāĻžāĻŦā§āύāĨ¤ āϏāĻŽāϏā§āϝāĻž āĻāĻžāϰā§āĻĄ āĻāĻžāϰā§āĻ āĻāϰāĻž āύāϝāĻŧ; āĻŦāϰāĻ āϏā§āĻāĻž āĻšāĻā§āĻā§ āĻā§āĻāĻžāĻŦā§ āĻāĻŽāύ āĻāĻāĻāĻŋ āϏāĻ āĻŋāĻ āĻ āĻŦā§āϝāĻžāĻā§āϝāĻžāϝā§āĻā§āϝ āϰā§āĻāϰā§āĻĄ āϰāĻžāĻāĻž āĻšāĻŦā§ āϝāĻž āĻĻā§āĻāĻžāϝāĻŧ āĻā§āύ āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻāĻŖāύāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ â āĻŦāĻŋāĻļā§āώāϤ āϝāĻāύ āĻāĻā§āύā§āĻ āĻĻā§āϰāĻŋāϤ⧠āĻāϏā§, āĻŦāĻžāϰāĻŦāĻžāϰ āĻāϏ⧠āĻŦāĻž āϏāĻāĻļā§āϧāύ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϝāĻŧāĨ¤
āĻāĻāĻāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻšāϞā§: āĻāĻĒāύāĻžāϰ āĻĄāĻžāĻāĻžāĻŦā§āϏ āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏā§āĻā§āϝāĻžāĻāĻžāϏā§āϰ āĻā§āϏ; āĻāϰ Stripe āĻšāϞ⧠āϝ⧠āĻāύāĻāϝāĻŧā§āϏ āĻāĻŦāĻ āĻĒā§āĻŽā§āύā§āĻ āĻĢāϞāĻžāĻĢāϞ ØŲÛŲØĒ āĻ āύā§āϏāĻžāϰ⧠āĻāĻžāύāĻžāϝāĻŧāĨ¤ āĻāĻ āĻŦāĻŋāĻāĻžāĻāύāĻāĻŋ āĻŦāĻŋāϞāĻŋāĻāĻā§ āĻā§āϰā§āϏā§āĻŦāϞ āϰāĻžāĻā§, Stripe-āĻāϰ āĻĒā§āĻŽā§āύā§āĻ, āĻā§āϝāĻžāĻā§āϏ āĻāĻŦāĻ āϏāĻāĻā§āϰāĻš āĻĒāϰāĻŋāĻāĻžāϞāύāĻžāϰ āϏā§āĻŦāĻŋāϧāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤
āĻāĻāĻŋ āĻāĻŽāύāĻāĻžāĻŦā§ āĻŦāĻžāύāĻžāύ āϝāĻžāϤ⧠āĻāĻāĻŋ āϏā§āĻĨāĻŋāϤāĻŋāĻļā§āϞ āĻāĻŦāĻ āύāĻŋāϰā§āϧāĻžāϰāύāϝā§āĻā§āϝâāϝāĻžāϤ⧠āϰāĻŋāĻā§āϰāĻžāĻ āĻāϰāϞ⧠āĻāĻāĻ āĻāĻāĻĄāĻŋ āĻĢāĻŋāϰ⧠āĻāϏā§āĨ¤ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻāĻāĻŋ āĻŦā§āϝāĻŦāϏāĻžāϝāĻŧāĻŋāĻ āĻ ā§āϝāĻžāĻāĻļāύā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻĨāĻžāĻā§, āϝā§āĻŽāύ āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻāĻāĻĄāĻŋ + āĻŽāĻŋāĻāĻžāϰ āĻā§ + āϏā§āϰā§āϏ āϰā§āĻāϰā§āĻĄ āĻāĻāĻĄāĻŋ, āϝāĻžāϤ⧠āĻāĻāĻ āĻ ā§āϝāĻžāĻāĻļāύ āĻĒā§āύāĻāĻĒā§āϰā§āϰāĻŖ āĻāϰāϞ⧠āϏā§āĻāĻŋ āĻāĻāĻāĻŋ āύāĻŋāϰāĻžāĻĒāĻĻ āύā§-āĻ āĻĒ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤
āĻā§āϰāĻšāĻŖāĻā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻā§āϞāĻŋ āĻŽā§āĻāĻŦā§āύ āĻŦāĻž āϏāϰāĻžāϏāϰāĻŋ āϏāĻŽā§āĻĒāĻžāĻĻāύāĻž āĻāϰāĻŦā§āύ āύāĻžāĨ¤ āĻāĻāĻāĻŋ āϏāĻŽāύā§āĻŦāϝāĻŧāĻāĻžāϰ⧠(compensating) āĻ ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻāĻā§āύā§āĻ āϞāĻŋāĻā§āύ (āĻĒā§āϰāϝāĻŧā§āĻāύ⧠āύā§āĻā§āĻāĻŋāĻ āĻĒāϰāĻŋāĻŽāĻžāĻŖāϏāĻš) āĻāĻŦāĻ āĻŽā§āϞ āϰā§āĻāϰā§āĻĄ āĻ āĻā§āĻ āϰāĻžāĻā§āύ, āϝāĻžāϤ⧠āĻĒāϰ⧠āĻāϤāĻŋāĻšāĻžāϏ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻāϰāĻž āϏāĻšāĻ āĻšāϝāĻŧāĨ¤
āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻāĻā§āϞ⧠append-only āϰāĻžāĻā§āύ, āĻāĻŦāĻ āĻ ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻāϏ āĻāϞāĻžāĻĻāĻž āϰāĻžāĻā§āύ āϝāĻžāϤ⧠āĻĒā§āϰāϝāĻŧā§āĻāύ⧠āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰāĻž āϝāĻžāϝāĻŧāĨ¤ āĻ ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻāϏ āĻĻā§āϰā§āϤāϤāĻžāϰ āĻāύā§āϝ āĻĨāĻžāĻā§; āĻāĻžāĻāĻāĻž āĻāĻā§āύā§āĻāĻā§āϞ⧠āĻĄāĻŋāϏāĻĒāĻŋāĻāĻ āĻ āĻ āĻĄāĻŋāĻā§āϰ āĻāύā§āϝ āĻ āĻĒāϰāĻŋāĻšāĻžāϰā§āϝāĨ¤
āĻ āύā§āϤāϤ āĻĻā§āĻāĻŋ āĻāĻžāĻāĻŽāϏā§āĻā§āϝāĻžāĻŽā§āĻĒ āϰāĻžāĻā§āύ: āĻāĻāύ āĻāĻāĻŋ āĻāĻā§āĻāĻŋāϞ (occurred_at) āĻāĻŦāĻ āĻāĻāύ āĻāĻĒāύāĻŋ āϤāĻž āĻā§āϰāĻšāĻŖ āĻāϰā§āĻā§āύ (ingested_at), āĻāĻŦāĻ āϏā§āϰā§āϏ āĻā§āϝāĻžāĻ āϰāĻžāĻā§āύāĨ¤ āϝāĻĻāĻŋ āĻāύāĻāϝāĻŧā§āϏ āĻāĻāύāĻ āĻĢāĻžāĻāύāĻžāϞ āύāĻž āĻšāϝāĻŧ, āĻĢāĻžāĻāύāĻžāϞāĻžāĻāĻā§āĻļāύā§āϰ āĻāĻā§ āĻĒā§āύāĻāĻšāĻŋāϏāĻžāĻŦ āĻāϰā§āύ; āϝāĻĻāĻŋ āĻĢāĻžāĻāύāĻžāϞ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āĻāĻāĻŋ āϏā§āĻĒāώā§āĻ āĻāĻāĻāĻŋ āϏāĻāĻļā§āϧāύ⧠āĻšāĻŋāϏā§āĻŦā§ āϧāϰā§āύ (āĻ ā§āϝāĻžāĻĄ-āĻ āύ āĻāĻžāϰā§āĻ āĻŦāĻž āĻā§āϰā§āĻĄāĻŋāĻ) āĻāĻŦāĻ āĻā§āύā§āĻāĻžāĻŦā§ āĻā§āĻĒāύāĻāĻžāĻŦā§ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻŦā§āύ āύāĻžāĨ¤
āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻĒā§āĻāϞā§āĻĄ āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ āĻāĻŦāĻ Stripe-āϰ event id-āĻā§ āĻāĻāύāĻŋāĻ āĻā§ āĻšāĻŋāϏā§āĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠idempotent āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻŦāĻžāϧā§āϝ āĻāϰā§āύāĨ¤ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āĻŦāĻž āĻāĻāĻ-āĻ āĻĢ-āĻ āϰā§āĻĄāĻžāϰ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻšāϤ⧠āĻĒāĻžāϰā§, āϤāĻžāĻ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰāĻā§ āĻā§āĻŦāϞ āϏā§āĻ āϏā§āĻā§āĻāĻā§āĻā§āĻāĻā§āϞā§āĻ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰāϤ⧠āĻšāĻŦā§ āϝā§āĻā§āϞ⧠āϰā§āĻāϰā§āĻĄāĻā§ āĻāĻāĻŋāϝāĻŧā§ āύāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤
Stripe-āϰ āĻŦāĻŋāϞāĻŋāĻ āĻĒāĻŋāϰāĻŋāϝāĻŧāĻĄā§āϰ āĻļā§āϰ⧠āĻ āĻļā§āώ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āĻāĻŦāĻ āϝāĻāύ āĻĻāĻžāĻŽ āĻĒāϰāĻŋāĻŦāϰā§āϤāĻŋāϤ āĻšāϝāĻŧ āϤāĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻā§ āϏāĻžāĻŦ-āĻāĻāύā§āĻĄā§āϤ⧠āĻāĻžāĻ āĻāϰā§āύāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāύāĻāϝāĻŧā§āϏ āϞāĻžāĻāύ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āϏāĻŽāϝāĻŧāϏā§āĻŽāĻž āĻāĻŦāĻ āĻŽā§āϞā§āϝ āϝāĻžāĻāĻžāĻāϝā§āĻā§āϝāĻāĻžāĻŦā§ āύāĻŋāϝāĻŧā§ āĻĨāĻžāĻāĻž āĻāĻāĻŋāϤ āϝā§āύ āĻā§āĻāĻžāϞ āĻŦā§āϝāĻžāĻā§āϝāĻžāϝā§āĻā§āϝ āĻĨāĻžāĻā§āĨ¤
āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞāĻā§āϞā§āĻļāύ āϰāĻžāύ āĻāĻāĻĄāĻŋ āĻŦāĻž āϏāĻŽāϤā§āϞā§āϝ āĻŽā§āĻāĻžāĻĄāĻžāĻāĻž āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ āϝāĻžāϤ⧠āĻāĻĒāύāĻŋ āĻĒāϰāĻŦāϰā§āϤā§āϤ⧠āĻā§āĻāĻžāϞ āĻĒā§āύāϰāĻžā§ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻāĻāĻ āĻāĻāύā§āĻĄā§ āĻāĻŦāĻžāϰ āĻāĻžāϞāĻžāϞ⧠āϝāĻĻāĻŋ āĻā§āĻāĻžāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧠āϏāĻŽā§āĻāĻŦāϤ idempotency āĻŦāĻž āϞāĻžāĻāĻĢāϏāĻžāĻāĻā§āϞ āϏā§āĻā§āĻ-āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āϏāĻŽāϏā§āϝāĻž āĻāĻā§āĨ¤
Data Designer-āĻ āĻāĻžāĻāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāĻā§āύā§āĻ, āĻ ā§āϝāĻžāĻā§āϰāĻŋāĻā§āĻ, āĻ ā§āϝāĻžāĻĄāĻāĻžāϏā§āĻāĻŽā§āύā§āĻ āĻāĻŦāĻ āĻāϝāĻŧā§āĻŦāĻšā§āĻ āĻāύāĻŦāĻā§āϏ āĻā§āĻŦāĻŋāϞ āĻŽāĻĄā§āϞ āĻāϰā§āύ, āϤāĻžāϰāĻĒāϰ Business Processes-āĻ āĻāύāĻā§āϏā§āĻ āĻ reconcile āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻ āĻāϰā§āύ āĻāĻŦāĻ idempotency-āĻāϰ āĻāύā§āϝ āĻāĻāύāĻŋāĻ āĻāύāϏā§āĻā§āϰā§āĻāύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ āĻāϤā§āĻ āĻāĻĒāύāĻŋ āĻāĻ āĻ āĻĄāĻŋāĻā§āĻŦāϞ āϞā§āĻāĻžāϰ āĻāĻŦāĻ āĻļāĻŋāĻĄāĻŋāĻāϞāĻĄ reconciliation āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ, āĻšāĻžāϤā§āϰ āϞā§āĻāĻž āĻĒā§āϞāĻžāĻŽā§āĻŦāĻŋāĻ āĻāĻžāĻĄāĻŧāĻžāĻāĨ¤


