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{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 |
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>