# Introduzione

Il modulo Unicredit Advanced per Magento 1.9.x e 2.x è nato con lo scopo di comprendere tutte le funzionalità offerte dal gruppo Unicredit Banca. Il modulo di Unicredit offre la possibilità di connettere il proprio sito di commercio elettronico con il gruppo bancario Unicredit in **modalità IGFS** offrendo alla clientela la possibilità di pagare con carta di credito e nel frattempo ricevere il pagamento nel proprio conto Unicredit.


# Cos'è il 3D Secure?

Il 3D Secure è il sistema di protezione antifrode Verified by Visa e Mastercard® SecureCode™ che garantisce una tutela per gli acquisti online. Ad ogni acquisto si riceve un SMS contenente un codice di sicurezza unico da inserire al momento del pagamento per confermare il tuo acquisto.


# Internet Gateway Financial Systems

L'Internet Gateway Financial Systems o più semplicemente IGFS è la soluzione modulare realizzata per supportare le aziende e le istituzioni finanziarie che offre il sistema di Token e prevenzioni alle frodi per le transazioni generate via eCommerce, consentendo ai commercianti di accettare crediti/debiti internazionali per mezzo di eWallet (portafogli digitali) ed conti correnti bancari. L'architettura modulare consente l'integrazione semplice e sicura per tutti i tipi di carte di credito.


# Transazioni con carta di credito

## Come funzionano le transazioni con carta di credito?

Conoscere il funzionamento del flusso del processo della transazione di pagamento della carta di credito aiuta a comprendere anche l'iter utilizzato da Magento e dai moduli di pagamento. Le azioni di base del ciclo di vita delle transazioni sono:

* Autorizzazione (Authorization)
* Addebito (Capture)
* Storno (Refund)
* Annullamento (Void)

Queste azioni di flusso sono suddivise in operazioni più specifiche che possono essere chiamate in modo differente in base al gateway di pagamento. Di seguito sono riportati alcuni elementi di base rilevanti:

### **Autorizzazione**

E’ un blocco temporaneo di un importo specifico su una carta di credito. Questa operazione non genera nessun tipo di movimento bancario sul conto corrente del cliente perchè non viene contabilizzato, quindi, **non è un addebbito**. L’autorizzazione viene rilasciata dalla banca di riferimento, oppure dal gestore del circuito di carte di credito. L'autorizzazione permette quindi di “prenotare” un importo prima che l’operazione venga effettivamente effettuata. In questo modo è garantita in ogni caso la disponibilità dell’importo al momento della prenotazione definitiva. L'operazione di autorizzazione ha una validità di 30gg.

### Addebito

La cattura di un importo può avvenire direttamente oppure dopo l'autorizzazione. In questo caso la banca o l'istituto di credito sbloccherà la "prenotazione" qualora vi fosse stata una precedente autorizzazione e addebiterà al cliente l'importo richiesto. Tale operazione genera un vero e proprio movimento del denaro dall'istituto di credito verso la banca dell'esercente che ha richiesto il pagamento di un bene o servizio.

### Storno

L'operazione di storno può essere effettuata solamente dopo una cattura e mai dopo l'autorizzazione. In questo caso la banca o l'istituto di credito movimenterà il denaro dal conto dell'esercente al conto del cliente.

### Annullamento

L'annullamento della transazione avviene solamente se vi è un'autorizzazione attiva non addebitata. In questo caso l'autorizzazione precedentemente richiesta verrà annullata senza generare alcun movimento del denaro.

## Magento States & Status

Magento gestisce gli status degli ordini attraverso due parametri fondamentali :

* **States**
  * **Nuovo**: L'ordine è nuovo, non processato e non preso in carico da un gateway di pagamento o altro.
  * **In attesa del pagamento**: Il pagamento è in corso attraverso il gateway selezionato dal cliente. Gli elementi presenti nell'ordine sono stati già eliminati dall'inventario di Magento.
  * **In Elaborazione**: La fattura è stata creata, l'ordine è pronto per essere processato.
  * **Completo**: La spedizione è completata.
  * **Chiuso**: L'ordine è chiuso prima che la fattura sia stata creata. Gli elementi ritornano in stock.
  * **Cancellato**: Una nota di credit è stata effettuata
  * **In Attesa**: State manuale per mantenere in sospeso un ordine.
  * **Revisione Pagamento**: In attesa di un'integarzione di informazioni da parte del payment gateway: Utilizzato spesso dal modulo di Paypal.

Ogni States di Magento può essere mappato in più Status. Gli Status possono essere impostati manualmente dal proprietario del negozio Magento. I gateway di pagamento di solito hanno la capacità di impostare lo status diverso dal parametro predefinito dall'utente. I gateway di pagamento introducono talvolta nuovi status e non utilizzano quelli di default.


# Servizi Offerti

Unicredit offre a tutti i commercianti una soluzione di pagamento completa in ogni suo dettaglio chiamata PagOnline Imprese e PagOnline Carte. Si rivolge a tutti i tipi di commercianti, dai semplici e piccoli negozi delle PMI italiane alle grandi multinazionali offrendo una soluzione di pagamento all'avanguardia che spazia dalla semplice Hosted 3D Secure alla versione più completa MO.TO, che consente la richiesta diretta di addebito. Una soluzione su misura per ogni esercente.

## Procedure di sicurezza supportate <a href="#procedure-di-sicurezza-supportate" id="procedure-di-sicurezza-supportate"></a>

* Verify By VISA 3D Secure
* Mastercard SecureCode

## Integrazione con il checkout (Interfacce) <a href="#integrazione-con-il-checkout-interfacce" id="integrazione-con-il-checkout-interfacce"></a>

L'estensione di pagamento si adatta al sistema integrato del carrello del negozio Magento. La comunicazione fra il server dell'esercente e la banca avvengono attraverso il sistema API della Unicredit. Il cliente non noterà tale processo. Per i pagamenti con carta di credito, i dati sono trasferiti via API fornite da Unicredit attraverso tutta la fase di checkout dell'ordine per controllare e salvare le informazioni sensibili nei server della Unicredit con connessione sicura. Lo stato delle transazioni vengono inviate dalla Unicredit in un secondo momento, aggiornando lo status corrente dell'ordine mantenendo una sincronia fra i due sistemi (banca/magento).

## Configurazione e gestione delle opzioni dell'estensione <a href="#configurazione-e-gestione-delle-opzioni-dellestensione" id="configurazione-e-gestione-delle-opzioni-dellestensione"></a>

L'estensione offre un nuovo menù Unicredit nell'area amministrativa di Magento all'interno del menù Vendite > Metodi di Pagamento > Unicredit. Questo contiene l'accesso a tutte le configurazioni ed opzioni del modulo, così come l'impostazione degli account di accesso, dei file di log ed altre informazioni.


# Pagamenti Supportati

## Pagamenti Supportati <a href="#pagamenti-supportati" id="pagamenti-supportati"></a>

Questa estensione supporta i seguenti metodi di pagamento attraverso la piattaforma messa a disposizione da Unicredit.

* VISA
* MASTERCARD
* VISA ELECTRON
* JBc
* MyBank
* Masterpass

## Connessioni Unicredit

Unicredit come molte altre banche hanno utilizzato diverse tecnologie per comunicare in sicurezza i dati delle carte di credito e dei dati sensibili dei clienti. Lo standard utilizzato era IPG (Internet Payment Gateway) ma molte altre aziende hanno iniziato ad utilizzare lo standard IGFS.

### Connessione IPG

IPG (Gateway di pagamento Internet) è uno dei gateway elettronici di pagamento attraverso i quali consentono i pagamenti con carte di credito. Ormai questo standard sta pian piano lasciando lo spazio al sistema IGFS più sicuro grazie alle certificazioni PCI PA\_DSS e per l'integrazione complessa della sicurezza dei dati sensibili durante il trasporto dal server dell'esercente al server della banca.

### Connessione IGFS

IGFS è un payment gateway e.commerce multi-Merchant, certificato PCI PA\_DSS, per le transazioni di pagamento con carte di credito con modalità M.O.T.O. o 3D Secure MPI, interfacciabile tramite API o Buy Now.

### Piattaforme Commercializzate

Le piattaforme supportate per la connessione ai sistemi di Unicredit vengono nominate PagOnline e si differenziano semplicemente dal suffisso Carte ed Imprese. I sistemi di connessione sopra descritti vengono così interpretate dalla Unicredit.

* IPG à PagOnline Carte (Obsoleto)
* IGFS à PagOnline Imprese


# Caratteristiche Generiche

La modalità server to server consente di avere un modulo di inserimento della carta di credito direttamente nella pagina di checkout di Magento e permettere ai clienti di inserire i propri dati sensibili durante la fase di checkout. Il proprietario del negozio Magento dovrà fornire alla propria banca dietro richiesta da parte della Unicredit un documento che attesti il rispetto delle regole indicate nel prospetto di sicurezza delle transazioni on line PCI DSS. La banca può in qualsiasi momento interrompere il servizio di POS Virtuale ritenendo responsabile di qualsiasi danno alla banca stessa nonchè alla clientela il proprietario del negozio.

Durante la fase di checkout il negozio Magento dovrà offrire garanzie ai visitatori attraverso una politica di sicurezza di alto livello, offrendo una connessione sicura SSL ed un supporto tecnico ai visitatori/acquirenti.


# Requisiti Minimi

Negozio **Magento**:

* Versione: Community dalla release 1.9.x

**Estensioni richieste nel server:**

* simplexml
* mcrypt
* hash
* GD
* DOM
* iconv
* curl
* SOAP (per Webservices API)


# Installazione

Prima di ogni installazione e modifica strutturale di Magento, **è caldamente consigliato effettuare un backup dei dati e dei files** ed accertarsi di aver effettuato un backup corretto. Solo dopo tale operazione potrete effettuare l'**installazione prima nel vostro ambiente di sviluppo** e successivamente nel vostro **ambiente di staging** e di **produzione**.

## Fasi tecniche sull'integrazione delle modifiche

E' importante tenere in considerazione il "modus operandi" di uno staff di programmatori che prima di pubblicare qualsiasi modifica al progetto pubblicato seguono varie fasi. Nella fase di "Development" i programmatori eseguono le modifiche su un "Server di Sviluppo" che rappresenta la copia del "Server di Staging" e del "Server di Produzione". I tre server sono identici sia fisicamente che nella loro configurazione.

![](http://chrislema.com/wp-content/uploads/2015/08/StagingEnvironment.png)

Durante l'installazione di un modulo Magento, quest'ultimo modifica sia strutturalmente file, tabelle del database e dati. Tale separazione permetterebbe facilmente di capire cosa succede durante la fase di installazione del modulo al proprio negozio Magento. Solamente se il negozio Magento supera l'installazione del modulo ed il modulo funziona correttamente nella fase di "Development" allora sarà possibile apportare la modifica nella server successivo, quello denominato di Staging.

Nel server di Staging gli operatori effettueranno diversi test di integrazione, di funzionalità, ed operatività certificando il corretto funzionamento del negozio Magento con il nuovo modulo installato. Solamente dopo tali fasi sarà possibile apportare le modifiche nel negozio in Produzione e quindi trasferire le modifiche/installazioni nel Server di Produzione.


# Magento 1.x

Dopo aver acquistato il modulo di pagamento riceverete il file compresso che contiene il modulo via email. Decomprimete il file ricevuto nel vostro computer ed inviate il contenuto della cartella scompattata, all'infuori del file di pdf, nella cartella di **root del vostro sito internet** via [FTP](https://it.wikipedia.org/wiki/File_Transfer_Protocol). Entrate nell'area amministrativa di Magento (se eravate già dentro l'area amministrativa scollegatevi e ricollegatevi).

* Svuotare la **Cache di Magento**
* Accedete a: **Sistema > Configurazione** > **Metodi di Pagamento** , troverete il nuovo modulo installato oppure a **Vendite** > **Metodi di Pagamento** > **Unicredit**
* Se si era già connessi nell'area amministrativa di magento disconnettersi e rieffettuare il login.

## Aggiornamento del modulo

Il nuovo modulo ufficiale del Unicredit richiede un'attenta pulizia del sistema dal vecchio modulo presente nel vostro negozio Magento. Per disinstallare il modulo bisogna prima di tutto preparare una **copia di backup** del sito internet (**files/database**) e successivamente cancellare le seguenti cartelle e files e cancellare all'interno della tabella core\_config\_data i records legati al modulo. Bisogna fare attenzione al prefisso delle cartelle di Magento usato in fase di installazione del software e modificare la query proposta di seguito con il proprio prefisso.

Ecco la query per comodità:

> DELETE from core\_config\_data where path like '%unicredit%';

Se non si aggiornano anche i records collegati al metodo di pagamento si rischia un errore nella griglia ordini. Per far conoscere a Magento che il modulo è stato modificato eseguire la seguente query:

> UPDATE sales\_flat\_order\_payment set method = 'unicredit\_hosted' WHERE method like 'unicredit%';

La Shine Software offre un servizio dedicato all'aggiornamento dei dati e dei moduli Magento. Se qualcosa non dovesse andare per il verso giusto, ripristinate il database ed i file all'ultimo backup e chiedete la nostra assistenza.

La richiesta di assistenza tecnica per qualsiasi errore riscontrato durante la fase di installazione, configurazione, uso del modulo avrà un **costo di un'ora di** [**Assistenza Tecnica Magento**](http://www.shinesoftware.com/programmatore-magento.html) per il controllo, la correzione e la riconfigurazione del modulo. Per qualsiasi richiesta di assistenza usare il gestore delle segnalazioni.

## Menu

Il menù amministrativo Magento permette una scorciatoia diretta alla configurazione del modulo. Vedi foto.

![](/files/-LfKlv0lb1yqFLRYo2sX)

## Compilazione

Se il negozio magento ha la funzionalità di compilazione attivata, bisognerà ricompilare il codice e fare attenzione durante la compilazione affinchè tutti i file richiesti dal modulo siano stati correttamente spostati nella cartella /includes

## Configurazione & Cache

Durante la fase di configurazione, **Magento potrebbe ripresentare i vecchi dati di configurazione**. Bisogna fare molta attenzione alla Cache di Magento che mantiene tutti i dati di configurazione. Anche se il sistema presenta la gestione Cache disabilitata è consigliato un aggiornamento.


# Magento 2.x

Installare il modulo nel vostro negozio Magento 2 è molto semplice ma bisogna tener presente alcuni passi necessari.

{% hint style="info" %}
Prima di ogni installazione e modifica strutturale di Magento, **è caldamente consigliato effettuare un backup dei dati e dei files** ed accertarsi di aver effettuato un backup corretto. Solo dopo tale operazione potrete effettuare l'**installazione prima nel vostro ambiente di sviluppo** e successivamente nel vostro ambiente di produzione.
{% endhint %}

### Installazione via Shell

Se si desidera installare il modulo via shell bisogna eseguire il seguente comando dalla root di Magento.

```
composer config repositories.core vcs git@bitbucket.org:shinesoftware/core.git
composer config repositories.unicredit vcs git@bitbucket.org:shinesoftware/unicredit.git
composer require shinesoftware/core:dev-master
composer require shinesoftware/unicredit:dev-master
```

All'esecuzione del comando il software *composer* avvierà la procedura di recupero del *repository* presso bitbucket.org.

{% hint style="info" %}
Bisogna fare attenzione all'ultimo comando che determina la versione da scaricare. Verrà sempre installata l'ultima versione del modulo ma nello stesso tempo bisogna fare attenzione alle dipendenze da installare.&#x20;
{% endhint %}

**Per poter connettere il vostro composer al repository ufficiale serve una chiave SSH valida che permetterà al sistema Bitbucket.org di inviarvi il pacchetto.**

{% hint style="info" %}
Per poter recuperare la chiave pubblica in un server unix-like dovrete eseguire il seguente comando nel terminale linux:

cat \~/.ssh/id\_rsa.pub
{% endhint %}

> Dopo aver copiato la chiave pubblica dovrete aprire una segnalazione su <https://shinesoftware.it/> e richiedere la registrazione della chiave pubblica per il dominio indicato in fase di acquisto. **La chiave pubblica deve essere inviata nella segnalazione** completa e senza alcuna modifica.

{% hint style="info" %}
Molte volte le chiavi pubbliche di un server vengono registrate in bitBucket e non possono essere utilizzate anche per il suddetto uso.&#x20;
{% endhint %}

In questi casi bisogna creare una nuova chiave ed utilizzarla all'aggiornamento del modulo attivandola con i seguenti comandi:

```
ssh-keygen << creare una chiave con il nome id_shinesoftware
cat ~/.ssh/id_shinesoftware.pub << chiave da inviare alla shinesoftware
eval $(ssh-agent) << attivazione dell'agente ssh
ssh-add ~/.ssh/id_shinesoftware << attivazione della nuova chiave nel vostro server
```


# Disinstallazione

La disinstallazione di un modulo dentro Magento 2.x è molto semplice, eseguite i comandi riportati qui in basso.

```
composer remove shinesoftware/unicredit
composer remove shinesoftware/core
composer config --unset repositories.unicredit
composer config --unset repositories.core
```

Bisogna anche pulire il proprio database e per poterlo fare eseguite quanto riportato qua in basso.

{% hint style="info" %}
Aprire il proprio database collegato a Magento e cancellare le occorrenze legate alla configurazione del modulo dentro la cartella **core\_config\_data** per rendere il proprio archivio pulito.
{% endhint %}

Aprire una shell MySQL o il vostro client database ed eseguire la query:

```
DELETE FROM core_config_data WHERE path like 'unicredit/%'
```


# Template Personalizzato

I file di stile ed i file di layout standard del modulo sono posizionati nella cartella

* /app/design/frontend/base
* /app/design/adminhtml/default

Qualora il template installato nel negozio non rispetti la gerarchia del Core di Magento il modulo potrebbe non mostrare le interfacce grafiche non generando un errore visibile. Controllare i file system.log ed exception.log per comprendere dove il vostro template si aspetta di trovare i files.

Il modulo ha in sè alcune porzioni di template presenti dentro la cartella /app/design/frontend/**base** come indicato sopra. La path base indica che se Magento non dovesse trovare i file dentro al template personalizzato risalirebbe al "**template base**" nel quale vi sono tutti i files di template del core di Magento compresi anche i files del modulo.

*I file template di successo e di fallimento vengono sovrascritti. Qualora vi fossero delle funzionalità integrate direttamente nei file di template delle suddette pagine, bisogna controllare se il metodo di "innesto" del codice personalizzato rispetti il sistema di layout di Magento. Se, ad esempio, un codice javascript **è stato "incollato" all'interno del template** della pagina di successo e/o fallimento del proprio tema/template, bisogna correggerne il metodo di inserimento via blocchi creando un'apposita estensione, così come indicato dalle linee guida di innesto dei blocchi statici di Magento.*

In questi casi basterebbe un controllo approfondito del template Magento accertandosi della correttezza delle path usate nel caricamento del layout.

## Personalizzazione del Redirect

E' possibile conoscere tutti i blocchi generati dal modulo dal file di layout che si trova in */app/design/frontend/base/default/layout/nomemodulo.xml*&#x20;

Le pagine di redirect sono definite sotto l'elemento: "**\[nomemodulo]\_\[metododipagamento]\_redirect**". E' possibile creare un blocco statico ed aggiungerlo usando un innesto del blocco nel file xml.

Quindi ricapitolando:

1. Creare il blocco statico in Magento
2. Modificare il file di layout precedentemente creato inserendo il blocco statico con il comando indicato di seguito
3. Aggiornare la cache di Magento

> \<reference name="root">\
> \<action method="setTemplate">\<template>page/1column.phtml\</template>\</action>\
> **\<block type="cms/block" name="your\_block\_id\_1\_name" after="-">**\
> **\<action method="setBlockId">**\
> **\<block\_id>your\_block\_id\_1\</block\_id>**\
> **\</action>**\
> **\</block>**\
> \</reference>

In questo modo durante la creazione della pagina di redirect magento intercetterà che bisognerà includere il nuovo blocco statico.

## Cache System

Prima di ogni operazione sui files di template di Magento bisogna accertarsi che nel negozio non sia attiva alcun tipo di cache. Quindi disabilitare tutte le cache attive come ad esempio:

* Cache interna di Magento
* Cache APC o Varnish, xCache, ecc...
* Compilazione del codice sorgente di Magento

E' possibile richiedere assistenza all'installazione del modulo ai tecnici della Shine Software scegliendo il servizio Installazione e Configurazione Moduli Magento presente nel sito internet [www.shinesoftware.it](https://www.gitbook.com/book/shinesoftware/consorzio-triveneto/edit#).


# Soluzioni di Pagamento

Per semplificare le attività di realizzazione dell’interfaccia al “**Payment Gateway**”, Unicredit ha studiato degli specifici documenti che vengono forniti al Merchant e che consentono una rapida integrazione delle funzioni di pagamento all’interno del proprio sistema ma sono solamente delle direttive per programmatori. Sfruttando il modulo di pagamento della Shine Software l'esercente potrà integrare velocemente il metodo di pagamento in pochi minuti e disporre di un POS Virtuale.


# Hosted 3D - HPP

La soluzione Hosted 3D Secure offre agli esercenti **un modo semplice, veloce e sicuro per ricevere i pagamenti con carta di credito, e digital wallet**, dai loro clienti utilizzando un redirect durante la fase di pagamento al sito sicuro della banca.

Tale soluzione **non richiede alcuna certificazione di sicurezza PCI-DSS** poichè la sicurezza della transazione di pagamento viene delegata a Unicredit. Il cliente si troverà in **un sito internet protetto e sicuro** in cui potrà indicare le informazioni sensibili quali carta di credito e/o password ai servizi Digital Wallet.

La pagina visualizzata dal cliente viene chiamata "**Hosted Payment Page**", il cui cliente dovrà **selezionare la modalità di pagamento preferita**. Le soluzioni offerte della Unicredit sono disponibili alla pagina "Pagamenti Supportati".

## Magento Checkout

Durante la fase di checkout del carrello in Magento, ed in particolare durante la selezione del metodo di pagamento attivo nel negozio, il cliente visualizzerà il nome del metodo di pagamento, una descrizione scelta dall'esercente ed un avviso di reindirizzamento alla conferma dell'ordine.

![](/files/-LfKlui8ocYtWJlZevtm)

Durante il reindirizzamento al server della banca, il cliente visualizzerà temporaneamente una pagina personalizzabile in cui verrà avvisato del reindirizzamento.\
![](/files/-LfKluiAL1XKPj8UhmWz)

Il reindirizzamento avverrà automaticamente e qualora vi fosse un'impostazione differente del browser che non consente l'uso di javascript, il cliente potrà manualmente accedere alla pagina di pagamento effettuando un click al link indicato nella pagina.

Al caricamento dell'interfaccia semplice e sicura della banca, l'utente dovrà selezionare il metodo di pagamento desiderato.![](/files/-LfKluiCu--gYXLj_UBT)\
Le opzioni poste in questa pagina di selezione sono attivabili solamente dalla Unicredit, in base al contratto stipulato con la banca. Il cliente sceglierà il metodo di pagamento desiderato facendo un semplice click, ad esempio su Credit Card ed apparirà la pagina dedicata.

Dopo aver inserito le informazioni richieste dalla banca come i dettagli della carta di credito da usare per effettuare il pagamento della merce desiderata, il cliente dovrà far click sul bottone **Continua** presente nella pagina ed attendere il completamento della transazione di pagamento.

*Durante il controllo della carta di credito da parte della banca, i server di quest'ultima tenteranno di accedere al negozio dell'esercente per effettuare un controllo dei dati inviati alla richiesta di pagamento iniziale. A tal punto bisogna fare molta attenzione durante l'installazione del modulo poichè il negozio deve essere raggiungibile dall'esterno e senza alcun blocco di sicurezza (password e/o firewall). **Se il negozio risultasse inaccessibile, la banca potrebbe confermare il pagamento via notifica email ma il cliente verrebbe comunque reindirizzato alla pagina di fallimento di Magento.***

Al termine del pagamento il server della banca reindirizzerà l'utente nella pagina di conferma del negozio Magento solamente se la transazione è avvenuta correttamente. In tutti gli altri casi il cliente verrà avvisato dell'avvenuto fallimento della transazione offrendo la possibilità di ritentare il pagamento.

Se tutte le operazioni di installazione e configurazione del modulo sono state effettuate correttamente, al termine del pagamento del cliente, quest'ultimo verrebbe reindirizzato al sito dell'esercente nella pagina di successo. Il cliente riceverà via email la notifica di avvenuta creazione dell'ordine ed il carrello verrebbe correttamente svuotato.

Tutte le operazioni vengono registrate dal modulo nel proprio file di LOG (vedi Logging & Debug).


# Payment Link (Optional)

Il servizio Payment Link offerto dal modulo Unicredit della Shine Software consente di creare un ordine dal pannello di controllo amministrativo di Magento a nome e per conto di un cliente.

## Introduzione

In molti casi ci si trova nella situazione di dover creare un ordine per un cliente che ci ha contattato fuori dal sistema del Web magari per telefono o di persona. In questi casi bisognerebbe consigliare al cliente di accedere sul sito e procedere alla creazione dell'ordine.&#x20;

Chiaramente tale suggerimento potrebbe scoraggiare il cliente poco convinto durante la fase di acquisto e si potrebbe rischiare di perderlo definitivamente.

### Preparazione di un ordine

Per agevolare la vendita dei propri prodotti è sempre consigliabile "accompagnare il cliente alla cassa" generando per lui un ordine di ciò che desidera. Quindi accedendo all'area amministrativa il proprietario dello store creerà l'ordine scegliendo il cliente da associare ed i prodotti che il cliente desidera.&#x20;

Durante la fase dell'impostazione del metodo di pagamento bisogna scegliere la voce: "**Unicredit - Payment Link**". Tale opzione consente di effettuare la richiesta di un link ai server della banca.

![Metodo di pagamento Payment Link (area amministrativa)](/files/-LtxV5DFSlreYaE8Kib2)

{% hint style="info" %}
Se tale metodo non è presente nell'area amministrativa è possibile che non sia stato attivato nell'area di configurazione del metodo di pagamento. In tale caso basta accedere a Sistema > Vendite > Metodi di Pagamento > **Unicredit Payment Link** ed inserire i parametri di configurazione.
{% endhint %}

Una volta scelto il metodo di pagamento ed il metodo di spedizione desiderato per l'ordine in oggetto sarà possibile emettere l'ordine facendo click sul bottone in basso: "**Invia Ordine**".

Appena fatto click sul bottone su citato il sistema chiederà ai server di Unicredit la generazione di un link di redirect che verrà inviato all'email indicata nella scheda del cliente.

![Sezione dell'email ricevuta dal cliente](/files/-LtyCfuX04bQdDna9jeJ)

### Validità dei link

Tutti i link realizzati con il modulo di pagamento Unicredit della Shine Software hanno una validità impostata dalla banca di qualche minuto. Il modulo permette di modificare tale **timeout** direttamente dal pannello di controllo. Il valore impostato in millisecondi dovrà essere rispettato pena validità del link di pagamento.&#x20;

{% hint style="info" %}
**IMPORTANTE**: INSERIRE UN VALORE TROPPO ALTO PENA NON FUNZIONAMENTO DEL SISTEMA DI GENERAZIONE DEL LINK. PER ULTERIORI INFORMAZIONI CONTATTARE LA BANCA.
{% endhint %}

L'accesso al link è dedicato SOLAMENTE al cliente. Se il cliente apre il link verrà reindirizzato sul sito sicuro della banca.

#### Eccezioni

Vi sono delle eccezioni da considerare:

* Il link viene aperto dal cliente e quest'ultimo decide di chiudere il browser PRIMA del pagamento.
  * L'ordine verrà cancellato ed il link non potrà essere utilizzato nuovamente. Bisognerà creare un altro ordine.
* Il link viene aperto dal cliente ma il cliente cancella la transazione.
  * L'ordine viene cancellato ed il link non potrà più essere utilizzato. Bisognerà creare un altro ordine.
* Il link viene aperto dall'amministratore prima che lo apra il cliente dal link presente nell'email del nuovo ordine.
  * Il link verrà invalidato. Bisognerà creare un altro ordine.
* Il timeout viene raggiunto ed il link non sarà più valido.

{% hint style="info" %}
Tutte le eccezioni vengono mostrate al cliente sotto forma di messaggi di errore a schermo.
{% endhint %}


# Configurazione

Qui di seguito verranno elencate le opzioni di configurazione dei moduli che potranno variare nell'aspetto dei parametri viste le differenze grafiche delle versioni di Magento. Per conoscere le funzionalità proposte nelle versioni M1 & M2 è possibile far riferimento al capitolo [Versioni & Changelog](/changelog) in cui si mostrano le differenze in una tabella.


# Magento 1.x

Dopo aver avuto accesso nel pannello di controllo amministrativo di Magento bisogna far click nella voce di menu Unicredit > Configuration > Hosted 3D Secure > Settings. Il pannello di controllo del metodo si presenterà come da foto.\
![](/files/-LfKluhmZKU28Nfuc4HX)

Nel pannello di controllo del metodo di pagamento selezionato vi è una sezione che consente una configurazione più semplice delle opzioni consentite.

L'opzione principale si trova proprio sotto tutte le opzioni:

* **Abilitato**

Per attivare il modulo l'opzione "Abilitato" deve essere attiva.\
![](/files/-LfKluhoT8ne9vPXoWEp)

Il pannello di configurazione del metodo di pagamento è diviso in tre sotto sezioni:

* Required Settings
* Base Settings

Per poter utilizzare il metodo di pagamento nella propria installazione Magento bisogna disporre delle credenziali fornite dalla banca di test e/o di produzione. Senza tali informazioni non sarà possibile attivare il metodo di pagamento.

## Required Settings <a href="#required-settings" id="required-settings"></a>

Le impostazioni richieste minime si trovano in questo pannello. Configurando questo pannello, il modulo sarà funzionante sia nell'area amministrativa di Magento che nell'area pubblica. Di seguito una foto della sezione.\
![](/files/-LfKluhqtHdTlTJPH-3n)

| PARAMETRI                 |                                                                                                                   |
| ------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Custom Order ID Attribute | Attributo esterno per l'impostazione del codice ordine personalizzato                                             |
| Auto Invoice              | Generazione della fattura al completamento della transazione di pagamento da parte del cliente                    |
| **Debug**                 | Impostazione della modalità da utilizzare durante le transazione di test.                                         |
| New Order Status          | Status dell'ordine prima del reindirizzamento del cliente                                                         |
| Transaction Type          | Tipologia di transazione iniziale Autorizzazione / Cattura                                                        |
| Terminal ID               | Codice identificativo del terminale esercente rilasciato dallabanca alla sottoscrizione del servizio POS VIRTUALE |
| KSig                      | Chiave di accesso fornita dalla banca                                                                             |
| Title                     | Titolo visibile nell'area di checkout dalla clientela                                                             |

## Base Settings <a href="#base-settings" id="base-settings"></a>

La sotto sezione "Impostazioni di Base" offre una serie di parametri che permetteranno all'esercente di personalizzare il comportamento del modulo durante le fasi operative.\
![](/files/-LfKluhs6V_qYkY9u4GO)

| PARAMETRI                       |                                                                    |
| ------------------------------- | ------------------------------------------------------------------ |
| Payment to applicable countries | Paesi di provenienza nel quale il metodo di pagamento saràvisibile |
| Checkout option description     | Descrizione personalizzata visibile nel checkout al cliente        |
| Sort Order                      | Posizionamento del metodo di pagamento nella pagina di checkout    |
|                                 |                                                                    |


# Magento 2.x

Dopo aver avuto accesso nel pannello di controllo amministrativo di Magento bisogna far click nella voce di menu Stores > Configuration > Sales > Payments > Unicredit. Il pannello di controllo del metodo si presenterà come da foto.\
![](/files/-LfKluxhzo9GAflAvfQl)

Nel pannello di controllo del metodo di pagamento selezionato vi è una sezione che consente una configurazione più semplice delle opzioni consentite.

L'opzione principale si trova proprio sopra tutte le opzioni:

* **Enable Hosted 3D Solution**

Per attivare il modulo l'opzione "Abilitato" deve essere attiva.\
![](/files/-LfKluxjqVOGwGiQMuT8)

Il pannello di configurazione del metodo di pagamento è diviso in sotto sezioni che permettono la configurazione di ogni singola soluzione di pagamento. Espandere l'opzione Hosted 3D per poter configurare i parametri necessari alla connessione con i servizi Unicredit.

![](/files/-LfKluxlqZm6hgU7MIaR)

**Per poter utilizzare il metodo di pagamento nella propria installazione Magento bisogna disporre delle credenziali fornite dalla banca di test e/o di produzione**. Senza tali informazioni non sarà possibile attivare il metodo di pagamento.


# MO.TO - Mail Order Telephone Order

## MO.TO. (Mail Order/Telephone Order) <a href="#moto-mail-ordertelephone-order" id="moto-mail-ordertelephone-order"></a>

Con la parola MO.TO. (Mail Order/Telephone Order) indichiamo i pagamenti effettuati in modalità Server to Server, nei quali **non viene richiesta l’autenticazione 3DSecure** del titolare.

In questi casi, la fase di pagamento si esaurisce con l’invio verso Unicredit di una richiesta di pagamento contenente tutti i dati necessari per effettuare il pagamento e la ricezione di una risposta in modalità sincrona contenente l’esito del pagamento stesso. Nei casi in cui è previsto che il titolare sottoponga i dati relativi alla propria carta di credito direttamente al sistema del Commerciante, **lo stesso è soggetto alle normative PCI-DSS**; Consorzio Triveneto e le banche ad essa collegate si riservano la possibilità di richiedere un documento che ne attesti la certificazione.

## Server to Server <a href="#moto-mail-ordertelephone-order" id="moto-mail-ordertelephone-order"></a>

La modalità **server to server** prevede l’autorizzazione on line della richiesta di pagamento, con invio da parte dell’Azienda venditrice dei dati relativi alla carta di credito. Questa modalità è utilizzata anche per la richiesta dei pagamenti relativi ad ordini ricevuti tramite gli altri canali di vendita (ad esempio corrispondenza o telefono, m-commerce, etc.).

La soluzione **server to server** sfruttata dal modulo Magento permette al cliente di effettuare il pagamento immediato inserendo i dati della propria carta di credito direttamente nella pagina protetta del negozio Magento.

#### Modulo di Pagamento <a href="#configurazione" id="configurazione"></a>

Osservando il modulo di pagamento in dettaglio possiamo scoprirne alcune utili funzionalità come la selezione automatizzata della carta di credito ed ai suggerimenti relativi al codice di verifica. La grafica standard è perfettamente integrata allo stile di Magento ed al modulo One Step Checkout.

#### Integrazione <a href="#configurazione" id="configurazione"></a>

Il metodo di pagamento si integra in Magento sfruttando tutte le funzionalità del CORE del software eCommerce al fine di eseguire i pagamenti onsite.

### Pagamenti Diretti

Il modulo Unicredit per Magento consente di effettuare delle richieste dirette alla banca richiedendo l'autorizzazione e/o la cattura di un determinato importo direttamente facendo inserire i dati della carta di credito nell'area di checkout di Magento. Qui di seguito una semplice gif animata che riporta l'esempio di pagamento con carta di credito direttamente nel checkout senza reindirizzamento.

![](/files/-LfKluisYwfHeSVZneRc)

Ecco un esempio di visualizzazione della sezione del metodo di pagamento direttamente all'interno di uno dei moduli Magento più famosi: "One Step Checkout".\
![](/files/-LfKluiy0VmbVDhYYsUC)

#### Creazione Ordine Amministrazione MO.TO <a href="#creazione-ordine-amministrazione-moto" id="creazione-ordine-amministrazione-moto"></a>

Nell'area amministrativa degli ordini di Magento è possibile realizzare un ordine usando in combinazione al metodo MO.TO al fine di effettuare un pagamento diretto sfruttando la tecnologia Magento ed il POS Virtuale della Unicredit. Tale funzionalità è prevista solamente per contratti in cui l'esercente potrà effettuare Autorizzazioni dirette senza il sistema 3D Secure. Contattare la propria banca per ulteriori dettagli.


# Configurazione

Qui di seguito verranno elencate le opzioni di configurazione dei moduli che potranno variare nell'aspetto dei parametri viste le differenze grafiche delle versioni di Magento. Per conoscere le funzionalità proposte nelle versioni M1 & M2 è possibile far riferimento al capitolo [Versioni & Changelog](/changelog) in cui si mostrano le differenze in una tabella.


# Magento 1.x

Dopo aver avuto accesso nel pannello di controllo amministrativo di Magento bisogna far click nella voce di menu Unicredit > Configuration > MO.TO (Mail Order / Telephone Order) > Settings. Il pannello di controllo del metodo si presenterà come da foto.\
![](/files/-LfKlzSn2ifmscePz_yk)

Nel pannello di controllo del metodo di pagamento selezionato vi è una sezione che consente una configurazione più semplice delle opzioni consentite.

L'opzione principale si trova proprio sotto tutte le opzioni:

* **Abilitato**

Per attivare il modulo l'opzione "Abilitato" deve essere attiva.\
![](/files/-LfKlzSpLNIUDItaVFE4)

Il pannello di configurazione del metodo di pagamento è diviso in tre sotto sezioni:

* Required Settings
* Base Settings

Per poter utilizzare il metodo di pagamento nella propria installazione Magento bisogna disporre delle credenziali fornite dalla banca di test e/o di produzione. Senza tali informazioni non sarà possibile attivare il metodo di pagamento.

## Required Settings <a href="#required-settings" id="required-settings"></a>

Le impostazioni richieste minime si trovano in questo pannello. Configurando questo pannello, il modulo sarà funzionante sia nell'area amministrativa di Magento che nell'area pubblica. Di seguito una foto della sezione.\
![](/files/-LfKlzSrzQ_bb1rCY-e-)

| PARAMETRI        |                                                                                                                   |
| ---------------- | ----------------------------------------------------------------------------------------------------------------- |
| **Debug**        | Impostazione della modalità da utilizzare durante le transazione di test.                                         |
| New Order Status | Status dell'ordine prima del reindirizzamento del cliente                                                         |
| Metodo Pagamento | Tipologia di transazione iniziale Autorizzazione / Cattura                                                        |
| Terminal ID      | Codice identificativo del terminale esercente rilasciato dallabanca alla sottoscrizione del servizio POS VIRTUALE |
| KSig             | Chiave di accesso fornita dalla banca                                                                             |
| Title            | Titolo visibile nell'area di checkout dalla clientela                                                             |

## Base Settings <a href="#base-settings" id="base-settings"></a>

La sotto sezione "Impostazioni di Base" offre una serie di parametri che permetteranno all'esercente di personalizzare il comportamento del modulo durante le fasi operative.\
![](/files/-LfKlzSw3O-AkVA7z8O9)

| PARAMETRI                       |                                                                    |
| ------------------------------- | ------------------------------------------------------------------ |
| Payment to applicable countries | Paesi di provenienza nel quale il metodo di pagamento saràvisibile |
| Payment description             | Descrizione personalizzata visibile nel checkout al cliente        |
| Sort Order                      | Posizionamento del metodo di pagamento nella pagina di checkout    |


# Testing Mode

## Credenziali & Carte di Credito di Test <a href="#credenziali--carte-di-credito-di-test" id="credenziali--carte-di-credito-di-test"></a>

Unicredit mette a disposizione degli esercenti un accesso diretto ai metodi di pagamento offerti usando delle credenziali di test che permettono di controllare il corretto funzionamento delle varie soluzioni. E' possibile inoltre simulare le transazioni di pagamento in un ambiente protetto ed identico all'ambiente di produzione usando alcune carte di credito di test. Vi sono degli accorgimenti da adottare durante le fasi di test:

* il negozio Magento deve essere accessibile (frontend) senza password (vedi htpasswd).&#x20;

Alla sottoscrizione dei servizi POS Virtuali, la banca rilascerà le credenziali di test per effettuare alcuni test direttamente nel vostro negozio usando il modulo della Shine Software.

## Test Credit Cards

Qui di seguito una lista di carte di credito di prova che permetteranno all'esercente di testare il proprio negozio durante la fase di pagamento delle merci o dei servizi.

1. VISA **4824983270096509** 04/2022 472 Transazione con carta non 3-D Secure - esito positivo
2. MASTERCARD **5256103270096532** 04/2022 241 Transazione con carta non 3-D Secure - esito positivo

## Configurazione per la modalità di TEST

Per impostare il negozio Magento in modalità di test bisogna impostare i seguenti parametri necessari per la connessione corretta al server di test:

1. Terminal ID: **UNI\_ECOM**
2. kSIG: **UNI\_TESTKEY**
3. **Debug: YES**

## Configurazione per la modalità LIVE

Per impostare il negozio Magento in modalità di LIVE bisogna impostare i seguenti parametri necessari per la connessione corretta al server LIVE:

1. Terminal ID (Ufficiale)
2. kSIG (Ufficiale)
3. **Debug: NO**

### Avvertenze

I test devono essere eseguiti permettendo al server della banca di accedere al server in cui è installato Magento.&#x20;

Durante la fase di test vi consigliamo di simulare l'acquisto di prodotti con importi sotto le 30 euro se no riceverete un messaggio di errore: **Invalid IGFS Response**

Alcune volte i **server di test** degli istituti di credito (VISA, MASTERCARD, AMERICAN EXPRESS) possono subire delle **modifiche dovute ad aggiornamenti e/o a verifiche** che comportano ad un temporaneo disservizio. Questi comportamenti non devono allarmare l'esercente che potrà in ogni caso rivolgersi per assistenza al servizio tecnico di helpdesk della Unicredit presentando il proprio Terminal ID o partita iva.[  <br>](https://docs.setefi.shinesoftware.it/download--installazione.html)


# Transazioni Magento

Il modulo di pagamento per Magento offre un completo supporto alle transazioni di pagamento connesse al sistema IPG del Unicredit.

L'amministratore del negozio Magento potrà, attraverso il pannello di controllo ordini, gestire tutte le transazioni di pagamento come:

* Autorizzazione
* Cattura (cattura parziale inclusa)
* Storno (storno parziale incluso)
* Annullamento dell'Autorizzazione

Dopo il pagamento con carta di credito attraverso il POS Virtuale sarà possibile controllare le informazioni relative l'autorizzazione di pagamento rilasciate dalla banca. ![](/files/-LfKlunvae4qh7JmbXFz)

E' possibile conoscere l'esito dell'operazione immediatamente dopo l'esecuzione stessa. L'amministratore non dovrà accedere al pannello di backoffice della banca per conoscere gli esiti, ma far click semplicemente nella singola transazione e visualizzare la risposta della richiesta "Server to Server".\
![](/files/-LfKlunx_ibsZRGBYnEK)


# Sicurezza & PCI-DSS

## Payment Card Industry Data Security Standard (PCI DSS) <a href="#payment-card-industry-data-security-standard-pci-dss" id="payment-card-industry-data-security-standard-pci-dss"></a>

La sicurezza è uno degli elementi fondamentali per le vendite a distanza e, in particolare, su Internet, considerata la criticità dei dati trattati. Unicredit ha da sempre posto una particolare attenzione alla sicurezza nell’erogazione dei propri servizi, come attestato dalle importanti certificazioni ottenute.

Relativamente alle carte di credito tale opzione è integrata al prodotto base Pagonline opzione PA-DSS. Gli unici dati sensibili memorizzati dai programmi sono il PAN carta e la Data scadenza della carta. Non sono invece rilevanti per i programmi in oggetto di certificazione i Nomi dei titolari della carta, il Codice di servizio, né sono memorizzati i dati completi della striscia magnetica e i CAV2/CID/CVC2/CVV2, come non lo sono il PIN e il PIN Block.

Per ogni documentazione riguardo gli standard PA-DSS si faccia riferimento al sito: <https://www.pcisecuritystandards.org/>

## Sicurezza

La piattaforma “Payment Gateway” rende disponibili alle Aziende operanti in Internet, i più aggiornati protocolli di autenticazione proposti dai circuiti internazionali: **Verified by VISA** e **MasterCard SecureCode**, uniti alla verifica del codice di controllo presente sulla carta. L’utilizzo di questi protocolli tutela l’Azienda venditrice dal disconoscimento delle transazioni da parte del titolare della carta di credito o prepagata, garantendo, nella maggior parte dei casi, il buon esito del pagamento.


# Compilazione & IGFS

Magento supporta la compilazione del codice sorgente per consentire al software di essere più veloci nell'elaborazione delle operazioni sui database, i file e le cartelle. Durante la compilazione del codice sorgente, Magento userà il compilatore php per rendere il codice in un formato non più interpretato ma ad un livello più basso: il linguaggio macchina.

Il modulo Unicredit utilizza le chiamate al webservice della banca utilizzando dei semplici file di testo presenti nelle sottocartelle "Igfs" dentro il percorso "/app/code/community/ShineSoftware/Unicredit/Model/Igfs".

E' probabile che tali file, durante la compilazione non vengano copiati all'interno della cartella "includes" generando un errore durante l'uso del modulo. Per risolvere tale problematica basterà copiare i files \*.request dentro la suddetta cartella.


# Logging, Debugging & Error

## Logging & Debug <a href="#logging--debug" id="logging--debug"></a>

Qualsiasi comunicazione con Unicredit viene registrata in un file di log e può essere utilizzato per il supporto, il test e operazioni di debug dai tecnici del negozio Magento. Le richieste di status delle transazioni di pagamento inviate via API a Unicredit ed i dati dei processi di pagamento integrati in cui viene richiesta la carta di credito sono esclusi da questo log.

### Magento Log

Per attivare il sistema di registrazione log di Magento bisogna accedere alla sezione amministrativa di Magento e dal menù:

Sistema > Configurazione > Avanzate > Sviluppatore > Impostazioni Log > Abilitato > Si

Dopo aver attivato il sistema di log e salvato la configurazione, il software magento creerà uno o più file di testo con estensione .log all'interno della cartella del progetto /var/log. La cartella /var/log deve avere i permessi di scrittura per poter creare i file. Per ulteriori informazioni contattare il servizio assistenza del piano hosting.

### Payment Log

Per scaricare il file di Log, crearne una copia di backup basta effettuare un semplice click sul bottone creato appositamente nel pannello di controllo del modulo: **Download Log file**.\
![](/files/-LfKluj8kn_ZSqCbv620)

Per generare un file di log pulito e con una sola transazione basta eseguire queste operazioni:

1. Fare click su Clear Log file
2. Eseguire un test di acquisto su Magento
3. Fare click su Download Log file

In questo modo il file precedentemente creato verrà conservato in una copia di backup dentro la cartella dei log di Magento e verrà creato un file pulito. Questa operazione è possibile usarla quando si desidera inviare un file di log alla banca per un supporto tecnico (vedi capitolo [Helpdesk Support](/helpdesk-support)).

## Errori Comuni

Durante la connessione ai servizi potrebbe capitare di visualizzare i seguenti codici di errore. I codici di errore sono inviati dal server della Unicredit al vostro negozio e non provengono dal modulo. Il modulo li interpreta, li trascrive nel file di log ed attraverso il file di log i tecnici della Unicredit potranno il motivo dell'errore. Prima di contattare i tecnici della Unicredit con l'opzione "[Helpdesk Support](/helpdesk-support)", di seguito descritto, è bene effettuare un controllo semplice utilizzando le informazioni riportate di seguito.

1. **SHOPID / TRACKID non valido**
   1. Si presenta quando il modulo non riesce a recuperare il codice dell'ordine presente nel negozio Magento generando un errore durante la trasmissione di tale dato alla banca in fase di inizializzazione della richiesta di pagamento.
2. **Invalid IGFS Response**
   1. Il messaggio di errore è molto generico ed indica che il sistema IGFS non ha saputo dare una risposta al client del POS Virtuale. Molte volte il problema in fase di test è uno dei parametri errati oppure un importo troppo alto.
3. **CAMPO SIGNATURE NON VALIDO**
   1. L'errore indica che le **credenziali per accedere al server di pagamento della banca non sono corrette** oppure **si sta** **tentando di accedere al server di test con le credenziali di produzione o viceversa**. Per accertarsi della corretta configurazione delle credenziali fare riferimento al capitolo [Testing Mode](/testing-mode). Controllare sempre, oltre le credenziali, il campo "Debug" che imposta il server sul quale indirizzare le richieste.
4. **IGFS\_20026 SHOP ID DUPLICATO**
   1. Il codice d'ordine non è univoco! Durante la fase di test vengono utilizzate delle credenziali comuni ed i continui test effettuati dagli sviluppatori riportano spesso lo stesso codice d'ordine generando l'errore. Per poter risolvere il problema si suggerisce di modificare il codice dell'ordine inserendo un prefisso o un suffisso. Per fare questa modifica a Magento bisogna essere dei programmatori competenti poiché si potrebbe corrompere il sistema degli ordini di Magento. Ecco qualche soluzione:
      1. Richiedere l'[Assistenza Tecnica Programmatore Magento](http://www.shinesoftware.it/programmatore-magento.html) (a pagamento). Questa soluzione permette l'esercente di evitare di perdere tempo nella correzione e di non perdere alcun dato del proprio negozio
      2. Installare un modulo della Amasty: [Magento Custom Order Number](https://amasty.com/custom-order-number.html) che consente di modificare anche definitivamente il codice dell'ordine di Magento.


# Helpdesk Support

Il modulo di pagamento Unicredit registra all'interno di un file di log tutte le informazioni necessarie per effettuare una transazione di pagamento utilizzando i server della banca. Oltre alle richieste di inizializzazione delle richieste vengono registrate anche tutti i parametri di risposta del server, consentendo di effettuare un controllo approfondito del funzionamento del modulo di pagamento.

Al fine di velocizzare qualsiasi operazione di supporto tecnico, nell'area amministrativa del modulo Sistema > Unicredit > Configurazione > General Options > Helpdesk è possibile inviare una richiesta completa agli operatori della Unicredit via email automaticamente con un semplice click sul bottone **Request Helpdesk Support**.

## Email di Supporto Tecnico <a href="#email-di-supporto-tecnico" id="email-di-supporto-tecnico"></a>

Per poter usare la funzione di Helpdesk bisogna creare un template personalizzato partendo dal nostro template di base seguendo i seguenti passi:

1. Accedere su Sistema > Email Transazionali
2. Fare click su Aggiungi Nuovo Template
3. Caricare il template realizzato "Unicredit - Helpdesk Email Template"
4. Impostare un nome al proprio template ad esempio: "Unicredit Helpdesk Request"
5. Assegnare il nuovo template nella sezione General Options > Unicredit Helpdesk > Template
6. Salvare la configurazione

![](/files/-LfKlueL7VWa2Y-9-M-s)Tale opzione permette di inviare un'email contenente tutte le informazioni necessarie per un "debug" veloce da parte dello staff tecnico.\
![](/files/-LfKlueOdwDH-wz79E2k)

Il file di log inviato all'helpdesk si trova nella cartella di Magento /var/log/shinesoftware\_unicredit.log

Di seguito un estratto del file di log:\
![](/files/-LfKlueQ2is4amSQJsW6)

### Cosa fare se si riscontra un problema?

Prima di inviare alla Unicredit una richiesta di assistenza si consiglia di svuotare il file di log attraverso la funzione "Clear Logs" presente nel pannello di controllo del modulo nella sezione "Payment module options". Il file originale verrà duplicato come file di backup ed il file originale verrà svuotato.\
![](/files/-LfKlueSfG6vsPDGbd4c)

Dopo aver pulito il file di log, eseguite l'operazione di acquisto di un prodotto fino a riprodurre il problema riscontrato durante il pagamento. A questo punto, il file di log ha registrato le operazioni eseguite ed è pronto per essere inviato all'helpdesk della Unicredit.

### Assistenza Tecnica

Il modulo ha superato centinaia di controlli ed è installato in moltissimi negozi Magento sparsi nel territorio nazionale. Viene aggiornato costantemente per mantenere uno standard alto di qualità del servizio offerto dalla Shine Software. La richiesta di assistenza tecnica per qualsiasi errore riscontrato durante la fase di installazione, configurazione, uso del modulo avrà un **costo di un'ora di** [**Assistenza Tecnica Magento**](http://www.shinesoftware.com/programmatore-magento.html) per il controllo, la correzione e la riconfigurazione del modulo. Per qualsiasi richiesta di assistenza usare il gestore delle segnalazioni allegando il file di log generato dal modulo.


# Versioni & Changelog

In questa pagina racchiudiamo tutte le modifiche effettuate al modulo e dei suoi sottomoduli ed i loro rilasci. La versione del proprio modulo è visibile nella sezione in alto del pannello di configurazione dei metodi di pagamento:

> Are you ready to use the Unicredit payment **v.2.0.0.0** method? Click here to learn more.

## La versione del sotto-modulo si trova al fianco del nome. In particolare le versione Ecco uno screenshot della sezione precedentemente indicata: ![](/files/-LfKluf0Go1nf0bAnvhB)Changelog Magento 1.9.x

```
* 0b68740 - (HEAD -> master, tag: 2.0.0.5, origin/master) Download of the log file has been fixed <Shine Software>
* 56be3bf - (tag: 2.0.0.4) MO.TO (Mail Order Telephone Order) has been released <Shine Software>
* 1a2c1fb - Unicredit MO.TO Credit Card selection in the frontend has been improved with an automatic switch <Shine Software>
* 0814b6f - (tag: 2.0.0.3) Language setting has been improved and little bug has been fixed <Shine Software>
* 92d7904 - (tag: 2.0.0.2) Currency asset file has been deleted and the currencies have been included in the code (compilation bug) <Shine Software>
* 1288e02 - form template have been upgraded for moto, masterpass, mybank, and hosted logo image has been updated <Shine Software>
* fb8a059 - (tag: 2.0.0.1) Masterpass payment system has been created MyBank payment system has been created Fixed minor bugs <Shine Software>
* 871c8e7 - (tag: 2.0.0.0) Initial Commit <Shine Software>
```

## Changelog Magento 2.1.x

```
* 1cae1f7 - (HEAD -> master, origin/master, origin/HEAD) The kSIG parameter sensitive data is encrypted in the database Main address is the billing address (virtual products have not any shipping address) LangID parameter must be IT and it must not ITA AddInfo 2-5 have been disabled 
* a3eb5c2 - Hosted, Masterpass, and MyBank payment methods have been updated! Authorization, Capture, Credit and Void payment options has been created minor bug have been fixed 
* 75e803a - (tag: 1.2.0) Masterpass Wallet has been added! Configuration panel has been fixed! Documentation has been updated! 
* c38db9a - (tag: 1.1.0) the bank replies are visible to the customer 
* 99c5b42 - MyBank SEPA payment has been released with the simple authorisation Hosted method has been updated Payment module assets have been updated 
* 193af38 - Authorisation, Capture, Refund, and Void order features have been added IGFS external class v.2.3.7 has been updated Configuration panel has been improved 
* c9de6a0 - (tag: 1.0.0, tag: 1.0) major release: the payment module has been improved new configuration panel in the administration area better compatibility with the last Magento 2.2 
* e6bb7ab - new features and fixes 
* cbd1634 - System.xml has been updated 
* fa0d714 - (tag: 0.1.5) customers could change the billing address in the checkout page module version deleted from the system configuration page (todo: adding a class that shows the module version) translation files have been added italian and english minor bugs fixed 
* 7d3ce32 - Module structure updated 
* 064be0d - Module structure updated 
* 06cf0aa - Module structure updated PDF has been added Readme.md has been added 
* e21dea9 - Readme file 
* 931a813 - first release
```

**Attenzione**: Il modulo è in continua evoluzione e per questo motivo vi invitiamo a seguirci su Twitter[ https://goo.gl/KvbP5A](https://goo.gl/KvbP5A) ed a pubblicare una recensione al primo utilizzo per ricevere oltretutto uno sconto alla scadenza dell'assistenza tecnica direttamente al link: <https://goo.gl/N0vzzo>.

## Versioni Magento

Magento è in continua evoluzione così come le estensioni realizzate dalla Shine Software. Le funzionalità vengono analizzate, programmate, sviluppate e testate. Di seguito le funzionalità esposte dal metodo di pagamento ed integrate nelle versioni di Magento.

|                                    | Magento 1.9.x | Magento > 2.1.x | Magento > 2.2.x |
| ---------------------------------- | ------------- | --------------- | --------------- |
| Hosted 3D Secure                   | Incluso       | Incluso         | Incluso         |
| MO.TO (Mail Order Telephone Order) | Incluso       |                 |                 |
| MyBank                             | Incluso       | Incluso         | Incluso         |
| Masterpass                         | Incluso       | Incluso         | Incluso         |


# Versione 2.0.7

L'estensione di pagamento Unicredit per Magento 2 è stata recentemente aggiornata per offrire una migliore esperienza sia agli utenti che agli amministratori dei negozi. Queste modifiche sono state implementate per garantire una maggiore sicurezza nelle transazioni, migliorare la gestione degli ordini e fornire ai clienti una comunicazione più chiara sullo stato del loro pagamento. Di seguito sono riportate le modifiche chiave e le nuove funzionalità introdotte.

#### Modifiche Principali

* **Ottimizzazione del Processo di Verifica delle Transazioni**: L'estensione ora utilizza un processo più efficiente per verificare le transazioni con la banca, riducendo i tempi di attesa e aumentando la precisione nel rilevamento dello stato delle transazioni.
* **Miglioramento della Gestione degli Ordini**: Sono stati introdotti controlli automatici che aggiornano lo stato degli ordini in base alla risposta ricevuta dalla banca. Questo assicura che gli ordini siano sempre aggiornati correttamente nel sistema.
* **Integrazione con Cron Job**: L'estensione ora utilizza un processo automatico (cron job) per eseguire controlli periodici sulle transazioni, garantendo che gli ordini siano sempre in linea con lo stato effettivo del pagamento. Questo migliora la coerenza e l'affidabilità del sistema di gestione degli ordini.

#### Nuove Funzionalità

1. **Notifiche Automatiche ai Clienti**: Ogni volta che un pagamento viene confermato dalla banca, l'estensione invia automaticamente una notifica al cliente. Questo aiuta a mantenere i clienti informati sullo stato del loro ordine e riduce la necessità di interventi manuali da parte degli amministratori del negozio.
   * **Commento nello Storico dell'Ordine**: Viene aggiunto un commento visibile al cliente nello storico dell'ordine, informandolo che il pagamento è stato confermato con successo dalla banca. Questa funzionalità aumenta la trasparenza e la fiducia del cliente nel processo di acquisto.
   * **Notifica Email al Cliente**: I clienti ricevono un'email di conferma del pagamento una volta che l'ordine è stato verificato, offrendo loro un aggiornamento in tempo reale sullo stato della transazione.
2. **Gestione Automatica degli Ordini**: Se una transazione viene confermata con successo, lo stato dell'ordine viene aggiornato automaticamente a "In elaborazione". In caso di problemi con la transazione, l'ordine viene annullato automaticamente e il cliente viene informato del motivo dell'annullamento.
   * **Aggiornamento Automatico dello Stato dell'Ordine**: Lo stato dell'ordine viene aggiornato automaticamente in base alla risposta ricevuta dalla banca, riducendo il rischio di errori manuali e garantendo che gli ordini riflettano accuratamente lo stato del pagamento.
   * **Annullamento Automatico in Caso di Errore**: Se la banca segnala un problema con la transazione, l'ordine viene annullato automaticamente e al cliente viene fornita una spiegazione del motivo, aumentando la chiarezza e riducendo la necessità di interventi manuali.
3. **Logging Migliorato**: Tutte le interazioni con l'API della banca vengono registrate in modo dettagliato, permettendo agli amministratori di tracciare facilmente l'intero processo di verifica e di individuare eventuali problemi. Questo strumento di logging avanzato aiuta nella risoluzione dei problemi e offre una visione chiara delle transazioni effettuate.
   * **Registro delle Transazioni**: Ogni passo del processo di verifica viene registrato con dettagli specifici, permettendo agli amministratori di tracciare con precisione le attività relative alle transazioni.
   * **Logging dei Messaggi di Errore**: Qualsiasi errore riscontrato durante il processo di verifica viene registrato con messaggi dettagliati, consentendo una rapida identificazione e risoluzione dei problemi.
4. **Interfaccia Amministratore Migliorata**: Gli amministratori ora dispongono di un'interfaccia più intuitiva per monitorare le transazioni e gestire gli ordini. Questa interfaccia offre una panoramica chiara dello stato degli ordini e consente un accesso rapido alle informazioni dettagliate sulle transazioni.
   * **Visualizzazione Dettagliata delle Transazioni**: Gli amministratori possono visualizzare informazioni dettagliate sulle transazioni direttamente dall'interfaccia di amministrazione, rendendo più semplice la gestione degli ordini e il monitoraggio delle attività di pagamento.
   * **Controllo Avanzato degli Ordini**: Sono stati introdotti nuovi strumenti per il controllo e la gestione degli ordini, consentendo agli amministratori di eseguire azioni rapide in base allo stato delle transazioni e alle esigenze del negozio.

#### Vantaggi per gli Utenti

* **Maggiore Affidabilità**: Le nuove funzionalità garantiscono una gestione delle transazioni più affidabile e accurata, riducendo il rischio di errori e migliorando la soddisfazione del cliente.
* **Comunicazione Migliorata con i Clienti**: Le notifiche automatiche e i commenti nello storico dell'ordine offrono ai clienti una visione chiara e immediata dello stato del loro pagamento, aumentando la trasparenza e la fiducia nel processo di acquisto.
* **Efficienza Operativa**: Con il sistema di gestione automatica degli ordini e il logging avanzato, gli amministratori del negozio possono concentrarsi su attività più strategiche, riducendo il tempo dedicato alla gestione manuale degli ordini e alla risoluzione dei problemi.

#### Come Aggiornare l'Estensione

Per aggiornare l'estensione Unicredit nel tuo negozio Magento 2, segui questi semplici passaggi:

1. **Backup del Sistema**: Prima di procedere con l'aggiornamento, assicurati di effettuare un backup completo del tuo sistema Magento 2. Questo ti garantirà la possibilità di ripristinare lo stato precedente in caso di problemi durante l'aggiornamento.
2. **Scaricare l'Ultima Versione**: Visita il sito ufficiale dell'estensione o utilizza il marketplace di Magento per scaricare l'ultima versione disponibile.
3. **Installazione dell'Aggiornamento**: Segui le istruzioni fornite per installare l'aggiornamento nel tuo sistema. Questo processo solitamente coinvolge il caricamento dei file aggiornati e l'esecuzione di comandi di aggiornamento tramite la riga di comando di Magento.
4. **Verifica dell'Aggiornamento**: Dopo aver completato l'installazione, verifica che l'estensione funzioni correttamente eseguendo un test di pagamento. Controlla che le nuove funzionalità siano attive e che le transazioni vengano gestite come previsto.
5. **Controllo delle Impostazioni**: Accedi all'interfaccia di amministrazione di Magento e controlla le impostazioni dell'estensione per assicurarti che siano configurate correttamente secondo le tue esigenze aziendali.

#### Conclusioni

Questi aggiornamenti e nuove funzionalità sono stati progettati per offrire un'esperienza utente migliorata e per garantire una gestione delle transazioni più sicura e affidabile. Grazie a queste modifiche, l'estensione Unicredit per Magento 2 diventa uno strumento ancora più potente per il tuo negozio online, aiutandoti a gestire i pagamenti in modo efficiente e a mantenere i tuoi clienti informati e soddisfatti.

Se hai domande o hai bisogno di assistenza, non esitare a contattarci tramite i nostri canali di supporto. Siamo qui per aiutarti a ottenere il massimo dal tuo negozio Magento 2.


# Copyright

L'importanza della sicurezza in ambito informatico commerciale è fondamentale in questi contesti poichè i moduli di pagamento trasmettono dati sensibili dal negozio verso il server della banca e viceversa. A tal fine tutti il codice del modulo Unicredit non è leggibile e/o decodificabile senza ledere la proprietà intellettuale e la licenza commerciale ed incorrere a malfunzionamenti imprevisti. A tal fine la Shine Software si impegna a supportare tecnicamente gli esercenti ed i tecnici per eventuali nuovi aggiornamenti e/o nuove funzionalità.

Il Cliente si impegna a difendere, risarcire e tenere indenni la Shine Software, i suoi impiegati, sub-contraenti, agenti ed associali, da qualunque ed ogni responsabilità, costi e spese, comprese ragionevoli spese legali, inerenti o dovuti a:

* qualunque inadempimento da parte del Cliente;
* uso improprio del servizio di POS Virtuale;
* atti o omissioni del Cliente (o di terzi usati dal Cliente) in rapporto all'installazione, manutenzione, presenza, uso o rimozione del modulo di pagamento;
* qualunque rivendicazione da parte di terzi che comunque derivi dai servizi che saranno forniti dal Cliente a terzi;&#x20;
* azioni per violazione di qualunque diritto di proprietà appartenente a terzi, compresi diritti d'autore, brevetti, segreti industriali e marchi, causata dall'uso di qualunque servizio, apparecchiatura e software non forniti da Shine Software oppure dall'uso scorretto di servizi, di apparecchiature o software forniti da Shine Software;&#x20;
* qualunque perdita o danno a qualunque proprietà, o lesione personale o morte di qualunque persona, dovuti ad atto  volontario o omissione del Cliente, di suoi impiegati, sub-contraenti o agenti.


