Datatrans

Tempo di lettura richiesto: 14 minuti


PepperShop con Datatrans

Il collegamento con il fornitore di servizi di pagamento Datatrans è già integrato nel PepperShop e gratuito. Ogni nuova versione del negozio porta un’interfaccia aggiornata a Datatrans.

Queste istruzioni spiegano come impostare e gestire i pagamenti elettronici registrati ed elaborati da Datatrans. Datatrans è uno dei terminali di pagamento più belli e facili da usare nell’e-commerce. Inoltre, è possibile scegliere tra diversi mezzi di pagamento.

Informazioni sul collegamento Datatrans:

  • Datatrans può essere utilizzato nel PepperShop per un lungo periodo di tempo, a partire dalla versione 2.5.1.
  • Informazione: con il modulo aggiuntivo opzionale “Modulo avanzato Datatrans”, il Datatrans hiddenMode può essere utilizzato con alias e ELV della carta di credito, in modo che i dati della carta non debbano essere immessi nuovamente con un nuovo acquisto. Questo modulo è soggetto a pagamento e richiede una certificazione PCI del sistema di negozio e un certificato SSL/TLS valido.

Interfaccia: base di questa documentazione/storia: questa documentazione e l’implementazione di PepperShop fanno riferimento a Datatrans eCom Technical Implementation Guide For Payment APIs fino alla versione 9.2.15.

Configurazione

Per poter utilizzare Datatrans con il PepperShop deve avere un contratto E-Com Starter o Professional Abo valido con Datatrans. Ciò implica anche uno o più contratti di vendita per corrispondenza con gli stessi istituti di carte di credito.

Impostazioni di base di PepperShop

Per prima cosa configuriamo le impostazioni di base nel PepperShop. Per questo deve passare all’amministrazione del negozio e andare su Impostazioni negozio → Impostazioni generali → Modalità di pagamento. Qui è possibile memorizzare i dettagli di Datatrans e gestire i tipi di pagamento.

A titolo di esempio, una schermata della sezione di questa maschera è stata inserita più in basso nella Figura 1.

Come può vedere, occorre attivare i metodi di pagamento elettronico (ad es. carte di credito). Questo esempio mostra una preselezione delle opzioni (VISA…PostFinance). In alternativa, è possibile utilizzare un nome generico per tutte le carte di credito, ad esempio inserendo un nome come “carta di credito” nel campo del primo istituto.

Quindi attivare tutte le voci dell’istituto da utilizzare e utilizzare Datatrans come gestore.

Di seguito sono riportate le impostazioni specifiche di Datatrans. Qui deve inserire il suo Merchant-ID (ottenuto da Datatrans e talvolta chiamato ID partner), se ha un contratto e-commerce e un ulteriore contratto di vendita per corrispondenza / ordine telefonico deve utilizzare il Merchant-ID del contratto e-commerce.

L’elemento di sicurezza aggiuntivo generato da Datatrans viene inserito nel campo di input Sign / HMAC. Si tratta di un numero più lungo (Sign) o di un testo lungo 128 caratteri. L’elemento di sicurezza deve prima essere creato nel backoffice di Datatrans (si veda il capitolo 1.3).

Figura 1: Impostazioni generali del negozio

Qui nel nostro esempio abbiamo disabilitato l’impostazione di Auto Settlement. L’Auto Settlement garantisce che i pagamenti in entrata non solo siano autorizzati, ma anche registrati immediatamente. Questo è importante in quanto può aiutare ad evitare una Late-Prestentment Fee da parte dell’acquiring Partner. In definitiva, ogni negoziante deve decidere da solo se vuole solo autorizzare o registrare immediatamente. In caso di autorizzazione, l’importo può essere successivamente corretto verso il basso nel backoffice di Datatrans. Questo viene utilizzato, ad esempio, se non si dispone di determinate merci in magazzino.

Datatrans UPP impostazioni di base

Ora dovreste andare anche all’amministrazione di Datatrans UPP (come? Dove? Dettagli e link arriveranno presto….). UPP è l’acronimo di Universal Payment Page e descrive la maschera flessibile di inserimento dei pagamenti e i suoi meccanismi.

Il PepperShop offre un aiuto per le impostazioni richieste. Nell’amministrazione del negozio vada a Impostazioni negozio → Impostazioni generali → Modalità di pagamento. In questa maschera al punto ‘Datatrans’ è sufficiente cliccare sul link Dati richiesti per compilare i dati UPP.

Qui può vedere tutti i dati necessari per l’amministrazione UPP. In alto al centro c’è il collegamento con l’amministrazione UPP, che dovreste seguire ora. (Amministrazione UPP di Datatrans: https://payment.datatrans.biz/upp/).

Figura 2: Dati UPP nell'amministrazione UPP

Qui selezioniamo prima l’amministrazione UPP di cui sopra e poi andiamo ai dati UPP. La Figura 2 mostra uno screenshot di esempio della maschera UPP del backoffice di Datatrans. Vediamo ora la seguente immagine (senza dati compilati):

Ora è possibile copiare i percorsi uno a uno dal testo di aiuto di PepperShop e incollarli qui. Si prega di notare inoltre che il formato dei dati dell’URL Post è impostato su “Data in Post Format”. (informazione: il formato XML non offriva le stesse funzionalità al momento dell’implementazione e quindi non è stato implementato).

In UPP Designer è possibile regolare il CI/CD in base ai colori utilizzati nel negozio.

Occorre assicurarsi che nessun elemento di sicurezza sia attualmente selezionato nella sezione Sicurezza (selezione sopra). → Se questo non è il caso, si deve prima guardare la configurazione avanzata.

Datatrans impostazioni di sicurezza predefinite

Se si è connessi all’amministrazione UPP come descritto nel capitolo 1.2, è possibile accedere alla configurazione degli elementi di sicurezza per il trasferimento dei parametri tramite le voci Amministrazione UPP → Sicurezza.

Il PepperShop supporta tutti e tre i livelli di sicurezza offerti da Datatrans. È possibile inserire comodamente l’elemento di sicurezza tramite l’amministrazione del negozio. Si consiglia di utilizzare la chiave HMAC. Per fare questo, è necessario attivare il pulsante di opzione sull’elemento di sicurezza in basso e fare clic sul pulsante “Genera nuova chiave”. Un nuovo valore (128 caratteri) appare ora a sinistra nel campo di immissione testo. Questa impostazione viene ora salvata cliccando sul pulsante “Conferma” in basso a destra. Impostare l’impostazione “Usa un altro tasto per il segno2” su NOT.

Ora viene richiesto di confermare questa impostazione con la password.

Configurazione del tipo di carta di credito Preselezione

Figura 3: Impostazioni di sicurezza (esempio con livello di sicurezza 2 attivo -- chiave HMAC)

Il PepperShop offre due modi ai clienti di scegliere il tipo di carta di credito (VISA, Mastercard, …):

Preselezione nel PepperShop

Con questa variante, al cliente viene mostrata una preselezione dei possibili tipi di carta di credito sotto la cassa, quando si seleziona la modalità di pagamento in un menu a tendina accanto al punto “Carta di credito”. In alternativa, è anche possibile visualizzare i singoli tipi di pagamento in un elenco. Un esempio di visualizzazione può essere visto qui:

Figura 4: Selezione di carta di credito con menu a tendina

Le carte che si desidera specificare possono essere definite nell’amministrazione del negozio in Impostazioni negozio → Impostazioni generali → Modalità di pagamento. Si veda la figura 1. Tra l’altro, possono essere utilizzati i seguenti testi:

  • VISA
  • Eurocard/Mastercard o Mastercard
  • American Express
  • Diners Club
  • PostFinance o PostFinance Card (veda anche il capitolo 7)
  • PayPal

Si prega di prestare attenzione alle maiuscole/minuscole, solo i termini specificati qui sono riconosicuti per creare una preselezione del tipo di carta di credito all’interno del PepperShop o nella lista di selezione.

Facendo clic su [configurazione corrente] nelle impostazioni di Datatrans in “Impostazioni negozio/Impostazioni generali/modalità di pagamento” viene visualizzato un elenco di tutti i nomi.

Nota: se si preseleziona un tipo di carta di credito che non è abilitato in Datatrans, si verrà automaticamente indirizzati alla pagina di errore quando si entra nella finestra di immissione del pagamento Datatrans. Questo accade anche se, ad esempio, il segno è sbagliato, o se si tenta di eseguire una transazione in una valuta non supportata.

Selezione del mezzo di pagamento specifico

È possibile mostrare al cliente solo un singolo punto come tipo di pagamento alla cassa, di solito l’impostazione predefinita, se non viene utilizzato hidden-UPP (spiegazione nel capitolo 6). In seguito, il cliente sceglie ad esempio “carta di credito” e viene inoltrato alla finestra di pagamento di Datatrans. Qui vede per la prima volta i metodi di pagamento disponibili per la selezione e ne sceglie uno.

Configurazione avanzata

Le impostazioni più importanti di Datatrans possono essere effettuate comodamente tramite interfaccia grafica. Ma se desidera creare impostazioni dettagliate, il PepperShop le permette di farlo. Le impostazioni vengono effettuate direttamente nell’array di configurazione di Datatrans (PHP) nel file {shopdir}/shop/datransconfig.php. Qui può vedere una panoramica dei possibili parametri:

<?php
// =============================================================================================
// DATATRANS AUTHORIZATION REQUEST VARIABLEN (non cambiare l'ordine!)
// =============================================================================================
// Assegnare i dati letti (1=>Account,3=>Password,5=>ID) / Creare configurazione
$datatrans_config["login"] = $db_daten[3]; // Nome univoco di login assegnato da Datatrans // Al momento non utilizzato.
$datatrans_config["passwort"] = $db_daten[5]; // Password univoca fornita da Datatrans // Al momento non utilizzata.
$datatrans_config["merchantId"] = $db_daten[1]; // Merchant-ID unico assegnato da Datatrans
$datatrans_config["currency"] = $waehrung; // Valuta (Franco svizzero = CHF, Euro = EUR) / conforme a ISO-4217
$datatrans_config["language"] = $sprache; // Se possibile: lingua attiva, altrimenti lingua predefinita.
$datatrans_config["successUrl"] = get_datatrans_success_url($close_iframe_param); // Success: Collegamento al completamento dell'ordine.
$datatrans_config["errorUrl"] = get_datatrans_error_url($close_iframe_param); // Errore: Collegamento alla pagina del messaggio di errore.
$datatrans_config["cancelUrl"] = get_datatrans_cancel_url($close_iframe_param); // abort -> link back to checkout
$datatrans_config["reqtype"] = $request_type; // Default = no
$datatrans_config["testOnly"] = 'no'; // Possibilità: 'sì' o 'no'. Se = sì, la modalità di test loopback è attivata.
$datatrans_config["refno"] = substr($myReferenz_Nr.$trh_id,0,18); // PepperShop Numero di riferimento dell'ordine di PepperShop + riferimento del gestore delle transazioni opzionali.
$datatrans_config["sign_simple"] = $signs_data["sign_simple"]; // Se usato in UPP Security (Livello 1): Identificazione aggiuntiva del commerciante.
$datatrans_config["sign_hmac_md5"] = $signs_data["sign_hmac_md5"]; // Se la sicurezza UPP (livello 2): i parametri sono firmati in chiave HMAC (in Hex).
$datatrans_config["paymentmethod"] = get_datatrans_pmethod($Kreditkarten_Hersteller); // Pre-seleziona KK, a seconda che venga consegnato a KK-manufacturer.
$datatrans_config["pos_payment_type"] = get_datatrans_pos_payment_type($Kreditkarten_Hersteller); // Effettua la preselezione del tipo di pagamento PostFinance.
$datatrans_config["useAlias"] = datatrans_check_alias($datatrans_config["paymentmethod"]); // Ottieni alias Use
if (!defined('ADMIN_MODE') || ADMIN_MODE == false)$datatrans_config["hiddenMode"] = datatrans_check_hidden_mode(); // Get HiddenMode Use
$datatrans_config["uppMobileMode"] = $upp_mobile_mode; // "on" o non trasferito per il ridimensionamento su schermi mobili.
$datatrans_config["useTouchUI"] = 'auto'; // "sì", "auto", "no" - Touch Device?
// $datatrans_config["sign"] = ''; // Sarà prima compilato in datatrans_interface.php.
// =============================================================================================
// TRANSAKTIONSPROXY VARIABLEN               (non cambiare l'ordine!)
// =============================================================================================
$datatrans_config['proxy_go_to'] = 'https://'.DATATRANS_PAYMENT_HOST.'/upp/jsp/upStart.jsp'; // Script per la comunicazione con Datatrans tramite UTF-8.
$datatrans_config['proxy_charset'] = 'utf-8'; // set di caratteri che il proxy di transazione dovrebbe usare (Datatrans richiede UTF-8).
$datatrans_config['proxy_utf8_encode_vars'] = 'true'; // set di caratteri che deve essere usato dal proxy della transazione (Datatrans richiede UTF-8).
$datatrans_config['proxy_go_to'] = 'https://payment.datatrans.biz/upp/jsp/upStartIso.jsp'; // Script per comunicare con Datatrans tramite ISO
// $datatrans_config['proxy_charset'] = 'iso-8859-1'; // set di caratteri che il proxy di transazione dovrebbe usare
$datatrans_config['proxy_lang'] = $sprache; // lingua che il proxy della transazione dovrebbe usare.
$datatrans_config['proxy_referencenr'] = $myReferenz_Nr; // Numero di riferimento dell'ordine valutato dal proxy della transazione.
$datatrans_config['proxy_transaction_info'] = 'datatrans'; // stringa per descrivere il tipo di transazione
$datatrans_config['proxy_use_get_only'] = 'true'; // Vogliamo usare prima tutti i parametri passati tramite GET come POST.
$datatrans_config['proxy_block_get'] = 'true'; // Vogliamo avere un POST puro, non un mix GET/POST.
$datatrans_config['proxy_connect_customer_and_order'] = 'true'; // Vogliamo che l'ordine sia connesso al cliente (customermgmt), Attenzione: valido solo per i pagamenti in modalità standard. I pagamenti in modalità nascosta non sono mai collegati (dato che non esiste un proxy TR!).
$datatrans_config['proxy_onclose_back_to_kasse'] = 'false'; // Se la finestra popup è chiusa, andrà automaticamente alla cassa - ATTENZIONE!
// =============================================================================================
// PEPPERSHOP VARIABLEN                    (non cambiare l'ordine!)
// =============================================================================================
$datatrans_config["randomNr"] = $zufallszahl; // PepperShop numero casuale per questa transazione
$datatrans_config["check_random_nr"] = false; // Se = controllare il numero casuale (se vecchio, usare HMAC!)
$datatrans_config["check_trusted_hosts"] = false; // Se = true, il mittente dei messaggi PostURL viene confrontato con una whitelist IP.

Sicurezza

Datatrans offre diversi livelli di sicurezza, che devono essere richiesti all’utente:

  • Livello di sicurezza 0: nessun attributo di sicurezza aggiuntivo. Il PepperShop offre già alcuni controlli: confronto tra host mittente, confronto tra numeri casuali, hidden Post-Message (non consigliato!)
  • Livello di sicurezza 1: viene passata una costante aggiuntiva. Questo è concordato nell’amministrazione UPP → Sicurezza come sign e può essere specificato nell’amministrazione del negozio nelle impostazioni generali del negozio e nelle impostazioni di Datatrans. Per i dettagli si veda il capitolo 1.3.
  • Livello di sicurezza 2: qui, gli attributi importanti dell’autorizzazione sono forniti con un hash MD5 (la sua chiave HMAC) e inviati, in modo che un cambiamento nei dati (attacco Man-In-The-Middle) sia immediatamente riconosciuto. La chiave HMAC per creare una crittografia HMAC-MD5 può essere ottenuta dall’amministrazione UPP → Sicurezza. Informazione: il PepperShop può gestire una sola chiave; per favore non scegliere due chiavi diverse. (il livello 2 è raccomandato da noi)

Informazione: maggiori dettagli sui livelli di sicurezza sono disponibili nel ‘Datatrans eCom Technical Implementation Guide For Universal Payment Page (UPP)’ v.8.13 alle pagine 30 e seguenti.

Assegnare i pagamenti

Se si acquista con carta di credito (tramite Datatrans) nel PepperShop, l’amministratore riceve una panoramica dell’ordine nella gestione clienti. Qui (e non nell’e-mail) vengono visualizzati i dettagli di Datatrans. Il modo è: Amministrazione del negozio → Clienti/ordini → Gestione clienti → Ricerca clienti → Lettera del nome del cliente → Cliente → Ordini → Apri l’ultimo ordine della carta di credito, esempio:

Figura 5: Estratto da un ordine Datatrans nella gestione clienti

È importante che il pagamento ricevuto possa essere assegnato anche al pagamento ricevuto nel backoffice di Datatrans. Come può vedere, ogni pagamento avvenuto con successo di Datatrans è accompagnato da una cosiddetta informazione di pagamento composta da tre parti:

  • ECA = Eurocard/MasterCard e si riferisce alla carta di credito utilizzata. Possibilità:
    • VIS = VISA
    • ECA = Eurocard/Mastercard o Mastercard (MPW = MasterPass Wallet)
    • AMX = American Express
    • DIN = Diners Club
    • POS = PostFinance (PostFinance Card e PostFinance E-Finance)
    • PAP = PayPal
    • TWI = TWINT Wallet
    • PSC = Paysafecard
    • DIB = Versamento immediato
    • PFC = PostFinance Card (PEF = PostFinance E-Finance)
    • ESY = Swisscom Easypay / Natel Pay (funziona solo con Auto-Settlement = attivo)

  • Il secondo numero sta per il codice di autorizzazione Datatrans.
  • Il terzo numero è il codice di autorizzazione Aquirer e può essere trovato nel backoffice (Datatrans Backoffice sotto il codice di autorizzazione:

Figura 6: Estratto del backoffice di Datatrans

Naturalmente, anche il numero di riferimento del PepperShop ivi descritto aiuta. Se il gestore della transazione è attivato, questi sono i primi caratteri fino al primo trattino basso (_). Il gestore della transazione è controllato da una direttiva di configurazione. Nella parte superiore del file {shopdir}/shop/config.inc.php (vedere anche capitolo 6 - Transazioni):

<?php
define('DATATRANS_USE_TRANSACTION_HANDLER', true); // Se la connessione Datatrans  utilizza il Transaction Handler (numero di riferimento unico)

Logging / Registrazione

Si consiglia di attivare la registrazione delle transazioni del PepperShop. In questo modo si tiene sempre d’occhio tutto, anche in situazioni problematiche.

Il file {shopdir}/shop/config.inc.php contiene le seguenti due direttive di configurazione:

<?php
define('DATATRANS_LOG','datatrans.log'); // Nome del logging, default = datatrans.log.
define('DATATRANS_LOG_CALLS',false); // Tutte le chiamate Datatrans devono essere registrate?, default = false

LOG_TRANSACTIONS dovrebbe essere impostato su (boolean) true se si desidera abilitare il logging delle transazioni. Lo raccomandiamo, ma non è stato possibile impostare l’impostazione predefinita a true, perché altrimenti sarebbero stati creati grandi registri per molti utenti a loro insaputa.

Log Viewer

In caso di problemi e non, si consiglia di consultare di tanto in tanto il Log Viewer (versioni PepperShop Professional e Enterprise). Per installarlo basta cliccare su “Moduli” nell’amministrazione del negozio. Qui vada all’amministrazione del modulo e installi il Log Viewer (lato sinistro).

Se ora lascia nuovamente l’amministrazione del modulo, vedrà un nuovo pulsante per il Log Viewer. Normalmente e con il logging delle transazioni disattivato, non dovrebbero essere creati file di log, ma per il resto si possono vedere i log lì.

Gli utenti di PepperShop Basic devono valutare manualmente i log nella directory dei log {shopdir}/shop/Admin/log.

Transazioni

Una transazione è sempre composta da due parti: avvio dell’operazione (transaction_initiate) e completamento dell’operazione (transaction_complete). Prima e subito dopo l’operazione del database, i marchi vengono impostati nel registro delle transazioni e l’ordine cambia il suo stato. La transazione visualizzata cambia il suo stato da 0001 (ordine aperto) a 1000 (ordine aperto, dopo aver accettato i termini e le condizioni quando si utilizza un fornitore esterno di servizi di pagamento). Per ogni parte di transazione (avviata, completata) ci sono sempre due voci di log, ognuna delle quali si intitola x_y_start e x_y_done.

Figura 7: Ordine appositamente evidenziato dopo aver accettato i termini e le condizioni

Dopo il completamento della transazione, lo stato dell’ordine cambia da 1000 a 2000 (completato).

Figura 8: Processi di ordine e processi di backoffice + stato dell'ordine

Un rinvio a 0001 significa, ad esempio, che una transazione non può essere completata correttamente (ad esempio, se si è verificato un errore durante l’elaborazione del pagamento collegato esternamente).

Le transazioni con lo stato 1000 sono già evidenziate nella gestione clienti.

In questo modo è anche possibile tracciare gli ordini che sono stati involontariamente interrotti dall’utente.

Si prega di notare la seguente differenza: ‘CGC accettate, ordine ancora aperto’ (stato 1000) significa che il cliente ha aperto il popup Datatrans e vuole effettuare il pagamento. Tuttavia, questo non è stato ancora effettuato e quindi non ha ancora trasferito denaro. Questi ordini dovrebbero essere cancellati se rimangono così per più di un giorno.

Gli ordini con lo stato 2000 “CGC accettate, transazione completata”, vengono completati e gli ordini pagati, ma per qualche motivo il completamento dell’ordine non ha potuto essere effettuato con la spedizione postale. È necessario completare questi ordini manualmente e contattare il cliente.

Accanto ad esso è possibile vedere un estratto campione di un log delle transazioni.

Gestore delle transazioni

Oltre alle transazioni, la cronologia delle transazioni registrate dal gestore delle transazioni PepperShop può essere visualizzata anche nella vista dettagliata di un ordine nella gestione clienti dell’amministrazione del negozio.

Figura 9: Estratto da un registro delle transazioni

Consiglio

Si consiglia l’uso di un certificato SSL/TLS valido. Questo impedisce a molti browser di visualizzare le informazioni quando si reindirizza dal terminale di pagamento Datatrans che si sta lasciando una pagina criptata. Questo è indicato dal browser quando si torna al negozio non criptato dopo il processo di pagamento, in modo che “Grazie mille per il suo acquisto” possa essere visualizzato lì.

Informazioni su ‘Datatrans Advanced Module’

  • hiddenMode-UPP: qui il gestore del negozio inserisce tutti i dati della carta di credito necessari nel negozio stesso. Ciò richiede un certificato valido SSL e una certificazione PCI.
  • Alias: se Alias è stato attivato da Datatrans e viene utilizzato il modulo Datatrans Advanced, il cliente può pagare gli acquisti successivi senza dover reinserire ogni volta i dati della sua carta di credito. Questo semplifica il pagamento.

Contatto

Datatrans AG
Kreuzbühlstrasse 26
CH-8008 Zurigo
Telefono +41 (0)44 256 81 81 91
Fax +41 (0)44 256 81 81 98
info@datatrans.ch
http://www.datatrans.ch/

🌶️
🔥
🌶️