meta {
  name: 01 Respond paid
  type: http
  seq: 1
}

get {
  url: {{baseUrl}}/api/v1/checkin/{{checkinToken}}/paid
  body: none
  auth: none
}

settings {
  encodeUrl: false
}

tests {
  test("302 redirect", function () {
    expect(res.getStatus()).to.be.oneOf([302, 303, 307]);
  });
  test("redirect contient ?checkin=", function () {
    const loc = res.getHeader("location");
    expect(loc).to.match(/checkin=/);
  });
}

docs {
  GET /api/v1/checkin/:token/paid

  L'utilisateur clique "j'ai été payé" depuis son email check-in.
  Effets côté API :
   - CheckinTask : status='answered', answer='paid', answered_at=now
   - Invoice : status='paid', paid_at=now, rubis_earned+1
   - Organization.rubis_count+1
   - ActivityEvent kind=invoice_paid (label "via check-in")
   - Toutes les RelanceTask scheduled de cette facture → cancelled

  Idempotent : 2e click → redirect avec `?checkin=already_answered`.

  Redirect SPA : `${WEB_URL}/?checkin=paid&invoice=<numero>`

  Comment récupérer un `checkinToken` :
  1. Crée une facture (Invoices → 04 Create) avec dueDate dans le passé
  2. Attends ~1min, ouvre Mailpit http://localhost:8025
  3. Copie le segment du token depuis l'URL "C'est payé" du mail
  4. Pose-le dans la var d'env `checkinToken`
}
