FlowAlp

Modal window

July 30, 2026

Apri il checkout FlowAlp Pay in una modal window: snippet dalla dashboard, overlay JavaScript personalizzato, callback e limiti dei metodi.

Con la modal window il cliente non lascia mai il tuo sito: il modulo di pagamento FlowAlp Pay si apre in un overlay sopra la pagina corrente. Puoi integrarla in due modi — con lo snippet pronto generato nella dashboard oppure con un piccolo overlay costruito da te attorno a un link Gateway.

Quando usare la modal

  • Una landing page con un solo prodotto, biglietto o pulsante donazioni
  • Checkout in cui un redirect a pagina intera risulterebbe invasivo
  • Tool e pagine di pagamento da aprire da un pulsante qualsiasi

Per i checkout complessi guidati dall'API, il classico redirect resta di solito più semplice da gestire, perché URL di ritorno e stato del pagamento vivono interamente lato server.

Opzione 1 — Snippet pronto dalla dashboard

L'integrazione per siti web nella tua dashboard su https://pay.flowalp.com genera uno snippet copia-incolla: un link o pulsante che punta alla tua pagina di pagamento (ad esempio https://<instance>.pay.flowalp.com/pay?tid=<PAYMENT_TEMPLATE_ID>) più un piccolo script che la apre in un overlay già stilizzato. La libreria modal ufficiale dipende da jQuery; includi libreria e jQuery una sola volta per pagina, anche con più pulsanti di pagamento.

La chiamata di inizializzazione dello snippet accetta queste opzioni:

OpzioneTipoScopo
hideObjectsArrayNasconde elementi della pagina di pagamento incorporata, ad es. la sezione dei dati di contatto
showFunctionEseguita prima dell'apertura — valida un modulo e annulla con preventDefault
shownFunctionEseguita quando la modal è visibile
hideFunction(transaction)Eseguita prima della chiusura, con l'oggetto transazione
hiddenFunction(transaction)Eseguita dopo la chiusura — ad es. porta il cliente alla tua pagina di ringraziamento

Copia lo snippet esattamente come lo genera la dashboard. Lo script, le classi CSS e la chiamata di inizializzazione sono distribuiti con il nome tecnico dell'infrastruttura di pagamento alla base di FlowAlp Pay: è normale e non tocca il tuo branding.

Opzione 2 — Costruisci il tuo overlay

Se preferisci evitare jQuery e script di terzi, apri l'URL di pagamento in un overlay iFrame sotto il tuo controllo. Abbinalo agli eventi postMessage descritti nella guida iFrame per reagire al risultato della transazione e alla chiusura.

Modal di pagamento minimale fai-da-teJavaScript
function openPaymentModal(paymentUrl) {
  var overlay = document.createElement('div');
  overlay.style.cssText =
    'position:fixed;inset:0;background:rgba(0,0,0,.6);' +
    'display:flex;align-items:center;justify-content:center;z-index:9999;';

  var frame = document.createElement('iframe');
  frame.src = paymentUrl; // Gateway link or payment page URL
  frame.width = '530';
  frame.height = '700';
  frame.setAttribute('allow', 'payment *');
  frame.style.cssText =
    'border:0;border-radius:8px;background:#fff;max-width:95vw;max-height:95vh;';

  var close = document.createElement('button');
  close.type = 'button';
  close.textContent = '\u00d7';
  close.setAttribute('aria-label', 'Close payment window');
  close.style.cssText =
    'position:absolute;top:16px;right:16px;font-size:28px;' +
    'background:none;border:0;color:#fff;cursor:pointer;';
  close.addEventListener('click', function () { overlay.remove(); });

  overlay.appendChild(frame);
  overlay.appendChild(close);
  document.body.appendChild(overlay);

  // Handshake so the payment page may post events (see iFrame guide)
  frame.addEventListener('load', function () {
    frame.contentWindow.postMessage(
      JSON.stringify({ origin: window.location.origin }),
      frame.src
    );
  });

  return overlay;
}

document.getElementById('pay-button').addEventListener('click', function () {
  openPaymentModal('https://<instance>.pay.flowalp.com/pay?tid=<PAYMENT_TEMPLATE_ID>');
});

Alla chiusura dell'overlay riporta il focus della tastiera sul pulsante che lo ha aperto e consenti la chiusura con il tasto Escape: piccoli accorgimenti che mantengono il checkout accessibile.

Limitazioni dei metodi di pagamento

La modal window condivide le limitazioni dell'iFrame: PayPal e Coinbase non possono girare in un overlay e PostFinance viene disattivato quando il browser blocca i cookie di terze parti (predefinito su iOS e macOS). Google Pay richiede l'attributo allow="payment *". Se un metodo non può restare embedded, aggiungi &breakIframe=true all'URL così la pagina di pagamento esterna si apre in una nuova scheda — dettagli nella guida iFrame.

Conferma il pagamento lato server

Anche con la modal, l'evento di chiusura e la schermata di successo restano solo segnali di interfaccia. Conferma ogni pagamento tramite i webhook con la verifica della firma, oppure recuperando la transazione via API, prima di consegnare.

Prossimo passo: devi integrare i pagamenti in un'app nativa? Continua con la guida per app mobile oppure torna alla panoramica dell'embedding.