> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gifty.lat/llms.txt
> Use this file to discover all available pages before exploring further.

# Find help and prepare a support request

> Reach the right guide or share useful support context.

export const RecoveryDecision = ({locale = "es-AR", fallback, fallbackHref}) => {
  const L = locale === "en" ? "en" : locale === "pt-BR" ? "pt" : "es";
  const T = {
    es: {
      t: "Qué hacer cuando algo falla",
      pick: "Elegí la situación y mirá qué corresponde.",
      act: "Qué hacer",
      res: "Qué pasa",
      no: "Lo que no corresponde",
      fb: "Leé estas reglas en texto",
      b: [["Entrega fallida", "Reintentar la entrega", "El envío del regalo terminó en error.", "Reintentá la entrega del MISMO regalo, si la opción está disponible.", "Sale un nuevo intento de envío para ese regalo. No se crea un regalo nuevo.", "Reemitir. Eso crea otro regalo, no reintenta el envío."], ["Cupón en preparación", "Esperar y revisar", "El regalo todavía se está preparando.", "Esperá y volvé a revisar el estado más tarde.", "Mientras está en preparación no se puede reintentar la entrega. No hay nada que reintentar todavía.", "Reintentar la entrega ahora. No está disponible en este estado."], ["Canje pendiente", "Completar o cancelar", "Hay un intento de canje en mostrador sin terminar.", "Completá el intento, o cancelá el intento PENDIENTE.", "Completar registra el canje. Cancelar el pendiente recupera el cupón online; comprobá su estado.", "Cancelar por esta vía un canje que ya se completó. No es posible."], ["Pago incierto", "Verificar el pago", "No sabés si el cobro se concretó.", "Verificá el estado del pago antes de volver a cobrar.", "Confirmás si ya hay un pago registrado y evitás cobrar dos veces.", "Volver a cobrar sin verificar."]]
    },
    en: {
      t: "What to do when something fails",
      pick: "Pick the situation and see what applies.",
      act: "What to do",
      res: "What happens",
      no: "What does not apply",
      fb: "Read these rules as text",
      b: [["Failed delivery", "Retry delivery", "The gift's delivery ended in an error.", "Retry delivery for the SAME gift, if the option is available.", "A new send attempt goes out for that gift. No new gift is created.", "Reissuing. That creates another gift, it does not retry the send."], ["Preparing coupon", "Wait and check", "The gift is still being prepared.", "Wait and check the status again later.", "While it is preparing, delivery cannot be retried. There is nothing to retry yet.", "Retrying delivery now. It is not available in this state."], ["Pending redemption", "Complete or cancel", "A counter redemption attempt is unfinished.", "Complete the attempt, or cancel the PENDING attempt.", "Completing records redemption. Canceling the pending attempt recovers the online coupon; verify its state.", "Cancelling an already completed redemption this way. It is not possible."], ["Uncertain payment", "Verify payment", "You do not know whether the charge went through.", "Verify the payment status before charging again.", "You confirm whether a payment is already recorded and avoid charging twice.", "Charging again without verifying."]]
    },
    pt: {
      t: "O que fazer quando algo falha",
      pick: "Escolha a situação e veja o que se aplica.",
      act: "O que fazer",
      res: "O que acontece",
      no: "O que não se aplica",
      fb: "Leia estas regras em texto",
      b: [["Entrega com falha", "Tentar a entrega de novo", "O envio do presente terminou em erro.", "Tente a entrega de novo para o MESMO presente, se a opção estiver disponível.", "Sai uma nova tentativa de envio para esse presente. Nenhum presente novo é criado.", "Reemitir. Isso cria outro presente, não repete o envio."], ["Cupom em preparação", "Aguardar e conferir", "O presente ainda está sendo preparado.", "Aguarde e confira o status de novo mais tarde.", "Enquanto está em preparação, a entrega não pode ser repetida. Ainda não há nada para tentar.", "Tentar a entrega agora. Não está disponível neste estado."], ["Resgate pendente", "Concluir ou cancelar", "Há uma tentativa de resgate no balcão sem terminar.", "Conclua a tentativa, ou cancele a tentativa PENDENTE.", "Concluir registra o resgate. Cancelar a tentativa pendente recupera o cupom online; confira o estado.", "Cancelar por este caminho um resgate já concluído. Não é possível."], ["Pagamento incerto", "Verificar o pagamento", "Você não sabe se a cobrança foi concluída.", "Verifique o status do pagamento antes de cobrar de novo.", "Você confirma se já existe um pagamento registrado e evita cobrar duas vezes.", "Cobrar de novo sem verificar."]]
    }
  };
  const c = T[L];
  const [i, setI] = useState(0);
  const b = c.b[i];
  const ys = [22, 76, 130, 184];
  return <section className="gd" aria-label={c.t}>
      <div className="gd-head"><h3 className="gj-title">{c.t}</h3><p className="gd-pick">{c.pick}</p></div>
      <div className="gd-grid">
        <div className="gd-list" role="group" aria-label={c.pick}>
          {c.b.map((x, k) => <button key={k} type="button" aria-pressed={k === i} className={"gd-tab" + (k === i ? " is-on" : "")} onClick={() => setI(k)}><span className="gd-n">{k + 1}</span>{x[0]}</button>)}
        </div>
        <div className="gd-vis" aria-live="polite">
          <svg className="gd-svg" viewBox="0 0 360 240" role="img" aria-label={b[0] + ": " + b[1]}>
            {c.b.map((x, k) => <g key={k} className={"gd-node" + (k === i ? " is-on" : "")}>
                <path d={`M150 ${ys[k] + 20}C182 ${ys[k] + 20} 176 122 208 122`} />
                <rect x="6" y={ys[k]} width="144" height="40" rx="10" />
                <text x="20" y={ys[k] + 25}>{x[0]}</text>
              </g>)}
            <g className="gd-act"><rect x="208" y="100" width="146" height="44" rx="10" /><text x="281" y="127" textAnchor="middle">{b[1]}</text></g>
          </svg>
          <div className="gd-out" key={i}>
            <p className="gd-sit">{b[2]}</p>
            <dl className="gd-dl"><dt>{c.act}</dt><dd>{b[3]}</dd><dt>{c.res}</dt><dd>{b[4]}</dd><dt>{c.no}</dt><dd>{b[5]}</dd></dl>
          </div>
        </div>
      </div>
      <p className="gifty-visually-hidden" aria-live="polite">{b[0]}: {b[3]}</p>
      <p className="gj-fb">{fallbackHref ? <a href={fallbackHref}>{fallback || c.fb}</a> : fallback || c.fb}</p>
    </section>;
};

<RecoveryDecision locale="en" fallback="Read the complete explanation as text." fallbackHref="#recovery-by-status" />

## Before you start

Identify what you were trying to do and the state you see now.

## Step by step

1. Start with a homepage task or navigation category. Find the action or state name within the guide.
2. Review steps, result checks and error recovery.
3. If insufficient, prepare a short description: task, steps taken, visible message and approximate time.
4. Use the support contact offered inside Gifty. Opening WhatsApp does not confirm that you sent the message or that a person received it.

## How to verify the result

Useful context distinguishes missing delivery, pending redemption, publication and payment without repeating uncertain actions.

## If something goes wrong

* Do not publish gift codes, tokens, keys or card data in the request.
* Documentation cannot check your store’s private state. Request human help through the available channel for account verification.

## Recovery by status

| Status                | Safe action                                                                                                               |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| Delivery failed       | Retry delivery of the same gift card when the detail allows it; do not issue another to resolve this.                     |
| Coupon being prepared | Wait for materialization or check its state; this is not failed delivery.                                                 |
| Redemption pending    | Open the same attempt and choose complete or cancel according to what happened. Check coupon recovery after cancellation. |
| Payment unconfirmed   | Check payment status; do not charge or issue again while the outcome is unknown.                                          |

Cancelling a pending attempt does not undo a completed redemption.

[Read as Markdown](/exports/en/support-find-and-contact.md)
