Vai al contenuto principale

Moduli di Donazione V2

Come posso creare un modulo di donazione e integrarlo nel mio sito web? Come uso i parametri personalizzati?

Erdi avatar
Scritto da Erdi
Aggiornato oggi

Cos'è un modulo di donazione?

I moduli di donazione sono un'infrastruttura che ti consente di ricevere donazioni integrando il modulo nel tuo sito web. Puoi creare un modulo di donazione accedendo alla sezione Donazioni > Modulo di Donazione nel menu a sinistra.

Cosa è cambiato rispetto alla V1?

  • I moduli di donazione ora possono funzionare sia incorporati nel tuo sito che come popup.

  • Non è necessario inviare parametri come importo, donazione regolare, valuta, ecc.

  • La struttura di notifica dei risultati (Callback) è stata convertita da JS a HTTP POST

  • Il test è stato semplificato

  • L'indirizzo del sito web deve essere inserito come indirizzo completo.

  • Aggiunta la possibilità di offrire opzioni di importo predefinite

  • Aggiunti messaggi di errore nella console per sviluppatori

A cosa prestare attenzione durante la creazione?

Il punto più importante da considerare quando si crea un modulo di donazione è inserire l'indirizzo completo del sito web in cui si utilizzerà il modulo. Quando si inserisce l'indirizzo, è necessario includere https:// all'inizio. E se il tuo sito web ha più versioni, dovresti renderlo univoco.

I moduli di donazione funzionano solo con HTTPS in ambiente live. Puoi testare con HTTP in ambiente di test

Ad esempio;

https://www.alanadi.org/bagis/genel-bagis

Se il tuo sito funziona sia come https://www.alanadi.org, sia come https://alanadi.org, per favore scegli solo uno e reindirizza il dominio non selezionato all'altro.

Integrazione del sito web

ATTENZIONE! Questa integrazione richiede conoscenze software. Devi padroneggiare HTML e Javascript di base. Se non hai familiarità con questi argomenti, usa le nostre pagine di donazione standard.

Innanzitutto, jQuery deve essere caricato sul tuo sito web. Se jQuery non è caricato, Fonzip darà un errore.

In secondo luogo, se il valore dell'header Referrer-Policy nella tua pagina è no-referrer Fonzip darà un errore. Devi usare un valore diverso da questo.

Puoi accedere alle informazioni di integrazione di base dalla sezione Donazioni > Moduli di Donazione > Operazioni > Informazioni di Integrazione .

<script type="text/javascript"> !function(e,t,s,n,c){e.fzv2||(n=e.fzv2=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)},e._fzv2||(e._fzv2=n),(n.push=n).loaded=!0,n.version="1.0",n.queue=[],fzv2.script_element=t.createElement(s),fzv2.script_element.async=!0,fzv2.script_element.src="https://s.fonzip.com/js/fzembed.v1.js",(c=t.getElementsByTagName(s)[0]).parentNode.insertBefore(fzv2.script_element,c))}(window,document,"script"); </script>

Aggiungi il nostro script alla pagina come segue.

Se vuoi eseguire il modulo in questione come incorporato, all'interno del blocco <script>

fzv2("embed", "ANAHTAR", "EKLENECEK-ID");

Se vuoi eseguirlo come popup , all'interno del blocco <script>

fzv2("popup", "ANAHTAR", "BUTON-ID");

Devi aggiungere il codice.

Se vuoi avviare un modulo incorporato, ma vuoi che rimanga nascosto:

fzv2("embed", "ANAHTAR", "EKLENECEK-ID", true);

È sufficiente inviare il 4° parametro come true.

Il tag HTML a cui verrà aggiunto il modulo incorporato deve essere <body>, <div> o <section>.

Il tag HTML che attiverà il modulo popup deve essere <button> o <a>.

I moduli di donazione funzionano automaticamente nella lingua del browser. Se il parametro lang è definito nel blocco html della tua pagina web, prenderà in considerazione quella lingua. Se desideri forzare una lingua specifica, prima delle funzioni di incorporamento e popup;

fzv2("lang", "LINGUA")

Puoi selezionare la lingua in questo modo.

Lingue valide

  • tr (Turco)

  • en (Inglese)

  • de (Tedesco)

  • fr (Francese)

  • es (Spagnolo)

  • it (Italiano)

  • pt (Portoghese)

  • nl (Olandese)

  • ru (Russo)

Trasferimento Dati al Modulo

Se desideri aggiungere un valore predefinito al modulo popup, puoi aggiungere le seguenti proprietà al pulsante corrispondente. Oppure puoi fornire il trasferimento di dati a qualsiasi modulo in qualsiasi momento con la funzione "data". Puoi utilizzare la funzione "data" rimuovendo la proprietà "fz-data". Ad esempio;

 fzv2("data", "embed", "KEY", "currency", "USD")

Proprietà

Descrizione

Valore

fz-data-currency

Valuta

ISO 4217

fz-data-recurring

Ricorrente / Una Tantum

true|false

fz-data-amount

Importo Donazione

Numero

fz-data-recurring-limit

Donazione Ricorrente a Tempo Limitato

0 - 60

fz-data-donor-type

Tipo di Donatore

corporate|personal

fz-data-first-name

Nome / Nome Azienda

Alfanumerico{0,200}

fz-data-last-name

Cognome

Alfanumerico{0,200}

fz-data-email

Email

Email{0,200}

fz-data-phone

Telefono

Telefono{0,25}

fz-data-birthday

Data di Nascita

Data (Giorno/Mese/Anno)

fz-data-city

Città

Alfanumerico{0,200}

fz-data-district

Distretto

Alfanumerico{0,200}

fz-data-address

Indirizzo

Alfanumerico

fz-data-tckno

Numero Identificativo / Partita IVA

Numero{11,13}

fz-data-details

Descrizione

Alfanumerico{0,300}

fz-data-referring

Per conto di qualcuno

true|false

fz-data-referring-name

Persona a nome della quale viene fatta la donazione

Alfanumerico{0,100}

fz-data-referring-email

Email della persona a nome della quale viene fatta la donazione

Email{0,100}

fz-data-news-via-phone

Consenso al Contatto Telefonico

true|false

fz-data-news-via-sms

Consenso al Contatto Tramite SMS

true|false

fz-data-news-via-email

Consenso al Contatto Tramite Email

true|false

fz-data-fundraising-campaign-id

Campagna di Donazione

Numero

fz-data-name-hidden

Nome non visibile

true|false

fz-data-amount-visible

Importo donazione visibile

true|false

fz-data-api-tracking-id

ID Tracciamento API

Alfanumerico{0,20}

fz-data-custom-parameters

Parametri Personalizzati

Se le proprietà aggiunte compilano l'intero modulo, il modulo avanza automaticamente alle fasi successive. Ovvero, se ci sono informazioni sull'importo, si viene reindirizzati automaticamente alla sezione dei dati del donatore, e se ci sono anche i dati del donatore, si viene reindirizzati direttamente alla sezione dei dati della carta.

Parametri Personalizzati

È possibile utilizzare la funzione dei parametri personalizzati per trasferire a Fonzip qualsiasi campo che non è definito in Fonzip ma che si utilizza quando si ricevono donazioni.

Creazione di Parametri Personalizzati

È possibile creare un parametro facendo clic su Aggiungi parametro nella sezione Parametri Personalizzati, che si trova nella parte inferiore della pagina di creazione/modifica del modulo di donazione.

Nella schermata che appare, digita il valore chiave che passerai nel parametro nella sezione Nome campo, e il valore che vuoi che appaia nel sistema nella sezione Descrizione e salva.

Ad esempio, abbiamo creato un parametro con il nome del campo ricevuta e la descrizione Richiesta Ricevuta. Se il donatore richiede una ricevuta aggiuntiva, compileremo questo campo come "Sì", se non la richiede, come "No".

Nota: non ci sono restrizioni sui valori da passare nei parametri.

È necessario passare una stringa JSON alla proprietà fz-data-custom-parameters. Esempio

<button id="fonzip-button" fz-data-custom-parameters="{'makbuz': 'makbuz_degeri'}"/>

Dopo che la donazione è stata completata, se è stata selezionata l'opzione di richiedere una ricevuta, è possibile visualizzare i dati pertinenti nei dettagli della donazione come segue.

Avvisi sui Parametri Personalizzati

  • L'invio di un parametro non definito nelle impostazioni del modulo causerà un errore nel sistema.

  • L'invio di dati in un formato diverso da JSON causerà un errore nel sistema.

  • Quando si modifica o si elimina il nome di un campo di un parametro precedentemente aggiunto, si potrebbero perdere i dati relativi alle donazioni.

Content Security Policy

Se stai proteggendo il tuo sito con CSP per scopi di sicurezza, devi aggiungere le seguenti definizioni.

script-src: https://s.fonzip.com
connect-src: https://fonzip.com
style-src: https://s.fonzip.com
img-src: https://s.fonzip.com https://cdn.fonzip.com
frame-src: https://fonzip.com

Se utilizzi Nonce, prima delle funzioni embed o popup

fzv2("nonce", "NONCE-VALUE");

Puoi definirlo in questo modo.

Notifiche di Risultato

Se non definisci un URL di Notifica Risultato durante la creazione/modifica del modulo, Fonzip mostrerà la schermata di risultato standard di successo/fallimento e poi reindirizzerà il donatore all'Indirizzo della Pagina che hai definito.

Se lo hai definito, il risultato dell'operazione verrà inviato come HTTP POST all'URL che hai definito. Puoi trovare i parametri da inviare nella tabella sottostante.

Se l'URL definito ha una protezione CSRF contro le richieste POST, è necessario rimuovere questa protezione. In alternativa, è possibile effettuare un controllo nel parametro hash per verificare che la richiesta provenga da Fonzip. Si raccomanda vivamente di effettuare questo controllo.

Calcolo del Parametro Hash

Per il calcolo del parametro hash, conversation_id e Secret Key vengono hashati con l'algoritmo sha256 e convertiti in base 16.

hash = sha256(conversation_id + Secret Key)

Ad esempio:

conversation_id = 123456
Secret Key = chiavesegreta
hash = sha256(12345chiavesegreta) = 823b922b1bf0560b383e50e57e265172757d7718a85cd87497820ae1530e44f6

Parametro

Descrizione

donation_id

ID Donazione

donor_type

Tipo di Donatore

name

Nome Cognome Donatore

first_name

Nome / Nome Azienda

last_name

Cognome

email

Email

phone

Telefono

birthday

Data di Nascita

city

Città

district

Distretto

address

Indirizzo

details

Dettagli

tckno

Numero Identificativo / Partita IVA

referring

Per conto di qualcuno

referring_name

Persona a nome della quale viene fatta la donazione

referring_email

Email della persona a nome della quale viene fatta la donazione

recurring

Ricorrente / Una Tantum

recurring_limit

Donazione Ricorrente a Tempo Limitato

recurring_order_id

Numero Istruzione Donazione Ricorrente

category_id

ID Categoria Donazione

category

Categoria Donazione

name_hidden

Nome nascosto

amount_visible

Importo donazione visibile

custom_parameters

Parametri Personalizzati

donation_form_id

ID Modulo Donazione

donation_form

Modulo Donazione

news_via_phone

Consenso al Contatto Telefonico

news_via_sms

Consenso al Contatto Tramite SMS

news_via_email

Consenso al Contatto Tramite Email

lang

Lingua

complete_date

Data Operazione (ISO 8601)

amount

Importo Donazione

currency

Valuta (ISO 4217)

ip_address

Indirizzo IP

payment_status

Stato del Pagamento

3: Riuscito

5: Fallito

payment_method

Metodo di Pagamento

0: Carta

8: BKM Express

9: iDEAL

10: Paga con Iyzico

payment_settings_id

ID POS Virtuale

api_tracking_id

ID Tracciamento API

order_id

Numero Ordine Banca

conversation_id

ID Traccia

last_four

Ultime 4 Cifre Carta

bin_number

Numero BIN Carta

transaction_id

Numero Transazione Banca

provision_no

Numero Autorizzazione Banca

auth_code

Codice di Approvazione

reference_id

Numero di Riferimento

error_code

Codice Errore

error_text

Messaggio di Errore

hash

Hash

Impostazioni Avanzate

Se desideri rimuovere un modulo dalla tua pagina, devi utilizzare la funzione "destroy".

fzv2("destroy", "popup", "ANAHTAR")
fzv2("destroy", "embed", "ANAHTAR")

Se desideri mostrare un modulo nascosto, puoi utilizzare la funzione "show".

fzv2("show", "popup", "ANAHTAR")
fzv2("show", "embed", "ANAHTAR")

Se desideri nascondere un modulo mostrato, puoi utilizzare la funzione "hide".

fzv2("hide", "popup", "ANAHTAR")
fzv2("hide", "embed", "ANAHTAR")

Se desideri ricevere un feedback quando un modulo popup viene chiuso, devi definire la funzione che desideri sia richiamata con la funzione "callback" .

function close_function(ANAHTAR) {
console.log("popup closed", ANAHTAR)
}
fzv2("callback", "popup", "ANAHTAR", "close", close_function)

Transizione da V1 a V2

Innanzitutto, crea un modulo di donazione per V2. Poiché funzionerà come popup come prima, sulla tua pagina

fzv2("popup", "ANAHTAR", "BUTON-ID");

Devi avviarlo in questo modo.

Prima di avviare le operazioni che inviano i parametri di importo, donazione regolare, valuta, ecc. con fz.bagis() nel popup di V1, puoi riflettere gli eventi di queste modifiche di importo, donazione regolare e valuta nelle proprietà che iniziano con fz-data-*.

Ad esempio, prima

<script>
function bagis_yap() {
var miktar = document.getElementById("miktar").value;
var duzenli = document.getElementById("duzenli").checked;
fz.bagis({
amount: miktar,
recurring: duzenli
//Altri parametri
})
}
</script>
<input id="miktar" type="number" step="0.01" placeholder="Importo Donazione"/>
<input id="duzenli" type="checkbox" />
<label for="duzenli">Fai una donazione regolare</label>
<a onclick="bagis_yap();" href="javascript:;>Fai una donazione</a>

invece di prendere valori come questi e chiamare fz.bagis() quando si clicca sul pulsante, è necessario riflettere i valori corrispondenti nelle proprietà fz-data-* quando i valori pertinenti cambiano. Ad esempio

<script>
document.getElementById("miktar").addEventListener("change", function(event) {
this.setAttribute("fz-data-amount", this.value);
});
document.getElementById("duzenli").addEventListener("change", function(event) {
this.setAttribute("fz-data-recurring", this.checked);
})
</script>
<input id="miktar" type="number" step="0.01" placeholder="Importo Donazione"/>
<input id="duzenli" type="checkbox" />
<label for="duzenli">Fai una donazione regolare</label>
<a id="fonzip-button" fz-data-amount="" fz-data-recurring="">Fai una donazione</a>
Hai ricevuto la risposta alla tua domanda?