Demo live

API di pagamento per i viaggi

API gateway di pagamento per prenotazioni di viaggio: dal checkout al rimborso

Un'API gateway di pagamento permette al vostro sito di prenotazione di incassare dal viaggiatore senza mai toccare la carta. Questa pagina illustra le chiamate di un pagamento con carta, gli stati che attraversa, cosa rende i pagamenti nei viaggi più complessi di quelli del retail e come PHPTRAVELS collega il vostro flusso di prenotazione al gateway che scegliete.

  • Sessione, 3-D Secure, cattura
  • Tutti gli stati del pagamento
  • Carte, wallet, bonifico, credito
  • Nessun dato di carta sul vostro server

Come funzionano le chiamate

Un pagamento con carta, chiamata dopo chiamata

Un'API gateway di pagamento è un insieme di servizi web che una società di pagamenti mette a disposizione degli esercenti. Il vostro server chiede di creare un pagamento per un importo e una valuta, il viaggiatore inserisce la carta nel modulo del gateway e il gateway dialoga con il circuito e con la banca emittente. Il vostro server non vede mai il numero della carta: riceve un ID del pagamento e uno stato.

Partecipano quattro soggetti. Il diagramma li mostra come colonne e ogni messaggio come una freccia numerata. I nomi cambiano da un gateway all'altro (payment intent, sessione, ordine, addebito), ma la sequenza è la stessa.

Un viaggiatore che paga un viaggio online mentre un sito di prenotazione, un gateway di pagamento e una banca si scambiano messaggi di pagamento

La freccia tratteggiata è un webhook: il gateway chiama il vostro server di sua iniziativa, così il pagamento aggiorna la prenotazione anche se il viaggiatore chiude il browser. La pagina Integrazione gateway di pagamento spiega come ogni passaggio è collegato a una prenotazione in PHPTRAVELS.

  • Viaggiatore
  • Il vostro sito
  • Gateway
  • Circuito / banca
  1. 01CheckoutViaggiatore Il vostro sito

    Il viaggiatore controlla il viaggio e preme Paga. La prenotazione è bloccata presso il fornitore, non ancora confermata.

  2. 02Creare payment intent o sessioneIl vostro sito Gateway

    Il vostro server invia importo, valuta, riferimento della prenotazione e una chiave di idempotenza con la chiave API segreta. Il gateway restituisce un ID del pagamento.

  3. 03Campi ospitati o reindirizzamentoGateway Viaggiatore

    Il modulo della carta è servito dal gateway, nella vostra pagina o in una pagina propria, così i dati della carta arrivano direttamente a lui.

  4. 043-D SecureCircuito / banca Viaggiatore

    Se la banca emittente lo richiede, il viaggiatore conferma il pagamento nell'app della banca o con un codice monouso.

  5. 05AutorizzazioneGateway Circuito / banca

    Il gateway chiede all'emittente, tramite il circuito, di approvare l'importo.

  6. 06Approvato, fondi bloccatiCircuito / banca Gateway

    L'emittente riserva il denaro sulla carta. Non si è ancora mosso nulla.

  7. 07Esito al vostro sitoGateway Il vostro sito

    Il viaggiatore torna sul vostro sito con l'ID del pagamento. Il vostro server legge lo stato dall'API e conferma la prenotazione con il fornitore.

  8. 08CatturaIl vostro sito Gateway

    Quando il fornitore conferma, il vostro server cattura l'importo intero o uno inferiore. Molti gateway possono anche catturare subito.

  9. 09WebhookGateway Il vostro sitoInviato dal gateway di propria iniziativa

    Il gateway invia al vostro endpoint un evento firmato (pagamento catturato, rimborsato, contestato). Il vostro server verifica la firma e aggiorna la prenotazione.

Stati del pagamento

La vita di un pagamento come macchina a stati

Ogni API di gateway riporta uno stato per ciascun pagamento. Le parole cambiano, ma corrispondono agli stessi pochi stati, e la logica della vostra prenotazione deve reagire a ognuno.

  1. created

    Creato

    Il pagamento esiste con importo e valuta, in attesa del viaggiatore.

    failedFinale

    Fallito

    Rifiutato, 3-D Secure non completato o abbandonato. Non viene addebitato nulla.

  2. authorized

    Autorizzato

    L'emittente ha approvato l'importo e lo tiene bloccato sulla carta.

    voidedFinale

    Annullato

    Il blocco viene cancellato prima della cattura, quindi il viaggiatore non viene mai addebitato.

  3. captured

    Catturato

    Il denaro è stato incassato e verrà accreditato sul vostro conto esercente.

    partially_refundedFinale

    Rimborsato in parte

    Una parte dell'importo catturato viene restituita, ad esempio dopo una penale di cancellazione.

    refundedFinale

    Rimborsato

    L'intero importo catturato viene restituito alla carta.

Un'autorizzazione non dura per sempre: se non viene catturata in tempo, il blocco scade e la banca libera il denaro. Un pagamento rimborsato in parte può essere rimborsato ancora, fino all'importo catturato.

Perché i viaggi sono più difficili

Perché i pagamenti nei viaggi sono diversi

Un negozio vende ciò che ha in magazzino. Chi vende viaggi incassa per una prenotazione che il fornitore deve ancora confermare, spesso mesi prima della partenza. L'API di pagamento deve adattarsi a questo.

  • 01

    Autorizzare ora, catturare dopo

    Hotel su richiesta, tariffe gruppi e tour vengono confermati ore o giorni dopo l'ordine. Autorizzare prima e catturare alla conferma evita di addebitare una prenotazione che non va a buon fine.

  • 02

    Il fornitore può ancora rifiutare

    Una tariffa può esaurirsi tra il pagamento e l'emissione. Con un'autorizzazione il denaro viene liberato con un annullamento; dopo la cattura diventa un rimborso.

  • 03

    Rimborsi parziali dopo le penali di cancellazione

    Cancellare un soggiorno o un biglietto in genere comporta una penale. La chiamata di rimborso invia un importo inferiore sul pagamento originale, tante volte quante richiedono le regole.

  • 04

    Multivaluta

    I viaggiatori pagano nella propria valuta mentre i fornitori fatturano nella loro. Il gateway deve supportare la valuta di presentazione e i vostri registri devono conservare entrambi gli importi.

  • 05

    Controlli antifrode sugli importi elevati

    Biglietti per domani, per un'altra persona, pagati con una carta nuova sono uno schema di frode classico. 3-D Secure, il punteggio di rischio del gateway e una coda di revisione manuale proteggono gli ordini di valore elevato.

  • 06

    Chargeback dopo mesi

    Le contestazioni spesso arrivano dopo il viaggio. Conservate insieme l'esito dell'autenticazione, i documenti della prenotazione e gli eventi del gateway, per rispondere a ciascuna con prove.

Metodi di pagamento

Quali modi di pagamento copre un'API gateway di pagamento

Le carte sono solo un'opzione. Viaggiatori e agenti pagano in modi diversi e ognuno viene rimborsato in modo diverso.

MetodoChe cos'èQuando arriva il denaroRimborsi
CarteCarte di debito e di credito tramite il gateway, con 3-D Secure quando l'emittente lo richiede.Autorizzato al checkout; catturato subito o quando il fornitore conferma.Rimborso totale o parziale sulla stessa carta tramite API.
Wallet digitaliAccount wallet supportati dal gateway, come PayPal o un wallet sul telefono con carta tokenizzata.Al checkout, dopo l'approvazione del viaggiatore nel wallet.Di nuovo sul wallet o sulla carta collegata, tramite il gateway.
Bonifico bancarioIl viaggiatore o l'agente invia il denaro al vostro conto bancario e il pagamento viene registrato sulla prenotazione.Dopo alcuni giorni; la prenotazione attende finché il vostro team conferma l'accredito.Restituito con bonifico, fuori dal gateway.
Paga dopoLa prenotazione si fa ora e si paga più tardi; il vostro team registra il pagamento quando arriva.Dopo la prenotazione, quando il viaggiatore paga.Viene restituito solo ciò che è stato effettivamente pagato.
Wallet o credito per agenti B2BI sub-agenti pagano con un saldo che ricaricano in anticipo o con un fido che voi concedete.Scalato alla prenotazione; depositi e credito regolati secondo le vostre condizioni.Riaccreditato sul saldo dell'agente.

Bonifico, paga dopo e saldo wallet sono modalità di regolamento della piattaforma stessa, non gateway. Saldi e fidi degli agenti sono spiegati nella pagina Wallet B2B per agenti; i pagamenti bancari nella pagina Pagamenti con bonifico.

Pronti in PHPTRAVELS

API gateway di pagamento già collegate

Questi gateway sono già collegati a PHPTRAVELS. Aprite un conto esercente presso il provider, inserite le chiavi API nell'admin, provate nella sandbox e andate online. L'elenco è quello aggiornato della nostra directory delle integrazioni.

Commissioni e approvazione dell'esercente si concordano con la società di pagamenti, non con PHPTRAVELS. Un gateway non presente può essere aggiunto come Integrazione API personalizzata, e la pagina Integrazione gateway di pagamento spiega come si configura ciascuno.

Sicurezza

Tenere i dati della carta fuori dal vostro sistema

Il numero di carta più sicuro è quello che il vostro server non riceve mai. Un'API gateway di pagamento è progettata proprio perché non serva.

  • Mai salvare i numeri di carta

    I dati della carta vanno al gateway, che restituisce un token o un ID del pagamento. Il vostro database conserva quel riferimento, mai il numero di carta né il codice di sicurezza.

  • Campi ospitati e reindirizzamenti riducono l'ambito PCI DSS

    Il PCI DSS riguarda chiunque tratti dati di carta. Quando il modulo della carta è la pagina del gateway o un campo incorporato, una parte molto minore del vostro sistema rientra nell'ambito. Il vostro acquirer conferma quale autovalutazione vi riguarda.

  • Webhook verificati tramite firma

    Ogni webhook porta una firma creata con un segreto condiviso. Il vostro server la ricalcola e scarta ogni evento che non corrisponde, così nessuno può simulare una prenotazione pagata.

  • Le chiavi segrete restano sul server

    Il browser riceve solo una chiave pubblicabile. La chiave segreta che crea pagamenti e rimborsi sta nella configurazione del vostro server, e ogni richiesta porta una chiave di idempotenza così un nuovo tentativo non addebita mai due volte.

webhook.php
 1$payload   = file_get_contents("php://input"); 2$signature = $_SERVER["HTTP_X_SIGNATURE"] ?? ""; 3$expected  = hash_hmac("sha256", $payload, $webhookSecret); 4 5if (!hash_equals($expected, $signature)) { 6    http_response_code(400); exit;      // reject 7} 8$event = json_decode($payload, true); 9if (alreadyHandled($event["id"])) exit; // repeat delivery10updateBooking($event["data"]["metadata"]["booking_ref"], $event["type"]);

Esempio generico. I nomi degli header e il metodo di firma dipendono dal gateway scelto.

PHPTRAVELS è un software self-hosted, quindi la conformità PCI DSS viene valutata per la vostra attività e il vostro server, non per il solo software.

Vedete una prenotazione pagata, catturata e rimborsata

Prenotate un viaggio nella demo live e seguite il pagamento nell'admin. Con il piano Enterprise, PHPTRAVELS offre anche una propria REST API e webhook per le vostre app e i partner.

Vendete anche voli? La pagina API voli spiega il lato fornitore, e API di viaggio elenca tutte le API che PHPTRAVELS collega.

FAQ

API gateway di pagamento: le domande di chi vende viaggi

Contatta il team vendite

È un insieme di servizi web che una società di pagamenti mette a disposizione perché un sito possa creare pagamenti, inviare la carta alla banca per l'approvazione, catturare il denaro, emettere rimborsi e ricevere aggiornamenti di stato via webhook, senza salvare dati di carta.

Il gateway è la parte con cui dialoga il vostro sito: raccoglie la carta in sicurezza e inoltra la richiesta. Il processore porta la transazione attraverso i circuiti fino alla banca emittente. Molti provider offrono entrambi in un unico servizio.

Quella che approva la vostra attività, supporta i paesi, le valute e i metodi di pagamento dei vostri clienti e offre autorizzazione e cattura separate e rimborsi parziali. Molte agenzie combinano un gateway globale per le carte con uno regionale.

Autorizzare riserva l'importo sulla carta del viaggiatore; catturare lo incassa. Separare le due fasi consente di addebitare solo quando il fornitore conferma la prenotazione e di annullare il blocco se non conferma.

In molte regioni, compresi lo Spazio economico europeo e il Regno Unito, l'autenticazione forte del cliente è richiesta per la maggior parte dei pagamenti online con carta, e il 3-D Secure è il modo in cui le carte la rispettano. L'API del gateway gestisce la verifica; il vostro flusso di prenotazione attende l'esito.

Non da sola. Usare i campi ospitati o la pagina di pagamento del gateway tiene i dati di carta fuori dal vostro server e riduce l'ambito PCI DSS, ma dovete comunque completare la valutazione richiesta dal vostro acquirer.

Sì, se il gateway supporta i rimborsi parziali, come fa la maggior parte dei gateway per carte. Inviate un rimborso di importo inferiore sul pagamento originale, ad esempio il prezzo meno una penale di cancellazione.

No. Aprite un conto esercente presso il gateway che scegliete e concordate con lui le commissioni. PHPTRAVELS collega la vostra piattaforma di prenotazione a quel conto con le chiavi API che inserite nell'admin.

Sì. Qualsiasi gateway con un'API documentata può essere aggiunto come integrazione personalizzata e, poiché il codice sorgente è incluso, i vostri sviluppatori possono anche estendere il flusso di pagamento.