Skip to main content

Connessione a banca di appoggio

Per poter movimentare somme di denaro, l'account flowpay necessita di questa procedura per agganciare il wallet con un conto corrente bancario reale. Tale procedura prevede un piccolo wizard (in agorà) che propone all'utente di scegliere la propria banca e ad avvenuta selezione, viene reindirizzato in flowpay con per il completamento. A fine procedura, in caso di esito positivo nella tabella flowpay_data viene settato ad 1 il flag "has_connected_bank_account". Questo flag, viene utilizzato dalle varie policy per permettere o meno determinate funzionalità.


Dalle impostazioni del profilo degli utenti, nel tab "Amministrazione"

è presente un pulsante con la dicitura "Connetti il tuo conto bancario".

Cliccando su questo, si apre un modale che richiede la selezione della banca che si vuole agganciare (Questo elenco, viene manutenuto da un job che tramite api scarica da flowpay i dati e li mantiene aggiornati con cadenza giornaliera. I dati vengono memorizzati nella tabella flowpay_banks)

Inserita la banca e cliccato il pulsante "Continua su Flowpay" il sistema tramite la rotta "flowpay.connect-bank-account" che rimanda all'handler "FlowpayController@connectBankAccount" → Compila e invia i seguenti dati a flowpay:

Payload di richiesta per il flusso di connetti banca
$data = array_filter([
'bankID' => #Codice della banca selezionata nel modale,
'okRedirect' => #Redirect link in caso si successo, (flowpay.bank-account-success)
'nokRedirect' => #Redirect link in caso di fallimento (flowpay.bank-account-failed)
]);
$response = FlowPayService::post($flowpayData->uuid.'/consents', $data, $flowpayData->getToken());

Questa response contiene un link a cui l'utente verrà rimandato per procedere con il wizard di autorizzazione.

Se la procedura va a buon fine, la rotta precedentemente definita come "success" e gestita dal metodo "FlowpayController@bankAccountSuccess" si preoccupa di flaggare il campo "has_connected_bank_account" a "true" e di creare un modale di notifica che conferma l'esito.

Se la procedura viene interrotta o qualcosa non ne permette il corretto completamento la rotta di fallimento (che rimanda al metodo "FlowpayController@bankAccountFailed") setta il campo has_connected_bank_account a false e notifica l'utente tramite un modale di notifica.

Database

Tabella flowpay_data.

Il campo has_connected_bank_account è un field della tabella flowpay_data.