Codice personalizzato pagamento e-commerce
Autore: Cristian Marcucci
Visite 5203,
Followers 2,
Condiviso 0
Salve,
devo implementare il bottone "paga adesso" con il codice fornito dal fornitore del servizio nexi (circuito carta si). Essendo un codice in php, chiedo dove vada inserito: nel codice bottone oppure nella pagina che contiene il carrello?
Ho provato ad inserirlo nel codice bottone ma quando visualizzo la pagina, vedo tutta la stringa...
Grazie per l'aiuto.
Postato il
... se si vede il codice (pagina no! PHP), forse è stato commesso qualche errore nella procedura del "paga adesso", il cui pulsante viene creato automaticamente:
__________ estratto dalla Guida ________________________________
... ...se si intende utilizzare un sistema di pagamento diverso da quelli proposti, è necessario impostare come Tipo di Pagamento l'opzione Codice personalizzato. In questo caso occorre digitare nel campo Codice HTML per il Pulsante 'PagaAdesso' il codice HTML fornito, in seguito all'iscrizione, dal gestore del servizio di transazione scelto.
Il codice HTML fornito dal gestore del servizio di transazione serve per creare il pulsante "PagaAdesso" e deve essere completato con l'indicazione di cosa viene acquistato e il relativo prezzo. Perché il carrello funzioni è necessario, dunque, inserire manualmente nel codice i seguenti tag:
▪[ORDER_NO] - permette di riprendere il numero dell'ordine; ▪[PRICE] - permette di riprendere il prezzo.
.
Autore
... la guida l'ho letta e ti ringrazio di avermelo ricordato, ma il mio problema è dove inserire il seguente codice php:
<?php
// Alias e chiave segreta
$ALIAS = '<ALIAS>'; // Sostituire con il valore fornito da Nexi
$CHIAVESEGRETA = '<CHIAVE SEGRETA PER CALCOLO MAC>'; // Sostituire con il valore fornito da Nexi
$requestUrl = "https://int-ecommerce.nexi.it/ecomm/ecomm/DispatcherServlet";
$merchantServerUrl = "https://" . $_SERVER['HTTP_HOST'] . "/xpay/php/pagamento_semplice/codice_base/";
$codTrans = "TESTPS_" . date('YmdHis');
$divisa = "EUR";
$importo = 5000;
// Calcolo MAC
$mac = sha1('codTrans=' . $codTrans . 'divisa=' . $divisa . 'importo=' . $importo . $CHIAVESEGRETA);
// Parametri obbligatori
$obbligatori = array(
'alias' => $ALIAS,
'importo' => $importo,
'divisa' => $divisa,
'codTrans' => $codTrans,
'url' => $merchantServerUrl . "esito.php",
'url_back' => $merchantServerUrl . "annullo.php",
'mac' => $mac,
);
// Parametri facoltativi
$facoltativi = array(<paypalShipping>
'paypalShipping' => '',</paypalShipping>
);
$requestParams = array_merge($obbligatori, $facoltativi);
$aRequestParams = array();
foreach ($requestParams as $param => $value) {
$aRequestParams[] = $param . "=" . $value;
}
$stringRequestParams = implode("&", $aRequestParams);
$redirectUrl = $requestUrl . "?" . $stringRequestParams;
?>
di seguito il codice html per la creazione del bottone:
<html>
<head></head>
<body>
<a href="https://int-xxxxxxxxx.it/ecomm/ecomm/xxxxxxxxxxxx>">
<button>PAGA ADESSO</button>
</a>
</body>
</html>
nella maschera sotto, ho inserito il precedente codice html per il bottone e funziona perchè rimanda alla pagina indicata all'interno.
E' il codice php ed i due [ORDER_NO] e [PRICE] che non ho capito dove inserirli...
... ... controlla le istruzioni fornite del tuo ist. di credito; ... forse quel codice PHP si dovrebbe posizionare in un file PHP sul tuo sito...
... resta comunque in attesa dello STAFF appena possibile per entrare nello specifico...
.
Autore
il gestore del servizio mi dice che il codice va inserito dove può essere richiamato dal bottone, ma se lo compilo nell'apposito spazio (come da immagine), non funziona.
Sto attendendo una risposta dello sta, ma vedo che ancora non è arrivata...
Non ci sono altri utenti che abbiano implementato codici simili?
Autore
...ma non esiste un plugin che implementi NEXI? Simile a quelli proposti da WebSite come MultiSafepay o Pagseguro ecc. ecc.
... quello che è previsto, è quello che ha già visto sulla Guida; ...penso che il metodo più semplice ed immediato sia quello di abbinare qualsiasi tipo di pagamento a PayPal (postepay, cartacredito, ecc.)...
... comunque, in attesa dei veri esperti, ...prova ad incollare quel codice PHP nel Blocco Note di Windows, senza errori, e salva con nome, tutti i file, NOME: paganexi.php (controllando che il nome finale sia veramente "paganexi.php")
... invia questo file paganexi.php ... nella radice del sito in RETE tramite client FTP di terze parti, tipo Filezilla, WS_FTP, FTP di Gestione Risorse, FilesManager, eccetera, ...oppure allegandolo al progetto lasciando vuota la destinazione "files" proposta per default...
... io non posso verificare nel programma, ma se il codice che hai postato del bottone PAGA ADESSO è quello proposto dalla finestra del Programma, allora usa il codice corretto in questo modo (!!!altrimenti non farlo!!!):
<html>
<head></head>
<body>
<a href="paganexi.php">
<button>PAGA ADESSO</button>
</a>
</body>
</html>
.
Autore
... il codice che ho inserito nella finestra specifica è corretto e funziona. Lo avevo soltanto alterato per la privacy. Quello in php è quello che devo inserire in una qualche parte del sito e questa mattina mi sembra di aver trovato dove: nella sezione esperto della proprietà pagina del carrello e-commerce. Infatti in questa pagina da la possibilità di scegliere il tipo di file generato, che in questo caso è in php...
in questo modo sembra funzionare e da errore una volta in gestione al fornitore del servizio. Per questo sono in contatto anche con loro ai quali ho inviato le info richieste.
... allora sei sulla strada giusta, infatti in primis seguire le istruzioni del fornitore del codice, e poi, se del caso, verificare il discorso ▪[ORDER_NO] ▪[PRICE]...
... quel codice HTML dove l'avevi preso...?...
... comunque, alla fin fine ci farai sapere come avrai risolto... ciao
Autore
Il codice HTML mi è stato fornito dal gestore del servizio insieme a quello php...
Sicuramente vi faro sapere, se risolvo, come ho fatto...
Grazie per ora.
Autore
Salve... per adesso non ho risolto ed il fornitore del servizio, dopo qualche scambio di opinione, ma ha chiesto se avessi provato ad inserire una form action che richiami il file php. Mi anche suggerito un listato tipo in html.
Fermo restando che quest'ultimo lo passa inserire nell'apposito campo del "crea bottone", mi sapete dire come si creano delle form action in website?
grazie.
... avevi fatto la prova che avevo pensato precedentemente, >> QUI ...?...
... magari prova a mettere in quel campo solo:
<?php include_once("paganexi.php"); ?>
... oppure:
<script type="text/javascript" src="paganexi.php"></script>
... attendi comunque gli esperti...
.
Autore
... La prova non l'avevo fatta perché mi domando come può, un file indipendente richiamato dal bottone, portarsi dietro i parametri dell'ordine come il prezzo, il numero di ordine ecc. ecc. Per passarli al gestore del servizio. Infatti il codice lo avevo inserito nella pagina dove risiede il carrello, nella sezione esperto...
Proverò questo tuo consiglio, ma degli esperti non ho ancora ricevuto risposta.
Grazie.
Autore
Ho effettuato vari tentativi, ma senza nessun risultato e non ho ricevuto nessuna risposta da parte degli esperti.
Sono due settimane che sto chiedendo un aiuto concreto per risolvere il problema di implementazione per il pagamento online tramite la piattaforma nexi, ma senza risultato.
WebSite viene pubblicizzato come un programma automatizzato di facile utilizzo anche, e soprattutto, per l'e-commerce ma che di fatto non lo trovo così.
In quanto autodidatta capisco di essere penalizzato soprattutto per mettere mano al codice, ma trovo inammissibile che per avere assistenza tecnica si debba ricorrere soltanto ai topic! Che non sia previsto un numero da chiamare potendo parlare con un programmatore.
Devo iniziare la vendita online e ancora sono ad ammattire per capire dove inserire il codice php fornito da gestore dei pagamenti...
Ormai mi sono talmente confuso con tutti questi spezzoni di codice, che non riesco più ad essere lucido neanche nei vari tentativi. Mi occorre un esperto che gestisca la mia situazione seguendomi passo passo e che mi indichi ogni passaggio.
Chiedo a chiunque sia in grado, di fornirmi dei contatti diretti per poter risolvere il problema.
... ho lanciato un sollecito venerdì, ma come saprai nel we l'assistenza è sospesa...
... porta pazienza ancora un po', sperando nel loro intervento appena possibile, da domani in poi...
.
Autore
Grazie... spero proprio di risolvere.
Buongiorno Cristian,
ho visto il codice che hai riportato. E' in php e non va bene con i dati del carrello che sono generati in javascript. Occorrerebbe realizzare un codice javascript che invii i dati al tuo codice in php (inserendo i soliti dati [PRICE] e [ORDER_NO]).
Su questo purtroppo non posso aiutarti mi spiace. Se non riesci a sistemare la cosa dovresti intervenire cambiando sistema di pagamento Paypal o un'altro.
Autore
... Sinceramente mi sembra strano non riuscire a implementare un collegamento fra linguaggi.
Quando ho acquistato il programma nella versione pro, l'implementazione dell'e-commerce era descritta come una banale procedura e scoprire adesso, una volta acquistato il prodotto è sottoscritto un contratto con la banca di appoggio che utilizza Nexi, non mi rende certo felice. E mi rende ancora meno felice leggere che non ci potete fare niente...
Perché adesso, senza l'aiuto di un programmatore, sono punto e a capo. Anzi anche peggio.
Buongiorno Cristian,
capisco il tuo disagio, purtroppo è difficile sapere in anticipo il linguaggio usato dalla banca e ci sono casi in cui questo linguaggio non è compatibile.
Prova a chiedere a loro se dispongono di un altro codice Javascript compatibile, oppure puoi anche valutare l'opzione di usare un metodo di pagamento già incluso nel software come per esempio Paypal. Nel tuo account sul loro sito potrai poi collegarlo alla tua banca.
Prova a vedere se così riesci a utilizzare il carrello. Fammi sapere.
Autore
... Il gestore del servizio Nexi non ha soluzione per concatenare il codice javascript con il php e come plugin di pagamento ha disponibili per le seguenti piattaforme: https://ecommerce.nexi.it/plugin
Mi inoltre caldeggiato di rivolgermi ad un programmatore...
Autore
Adesso ho chiesto info per PayPal, ma non vedo una semplice soluzione...
Ciao Cristian, ho creato un e-commerce e anche io sto cercando di risolvere il problema ma non ne vengo a capo. Hai per caso risolto il tutto? Te ne sarei grato se potessi darmi una mano...
Autore
Ciao Sergio, per adesso non ho risolto un bel niente e vedo che, nonostante gli appelli, non ne viene a capo neanche lo staff... per adesso sto offrendo il pagamento con bonifico e paypal, poi mi dedicherò alle carte di credito tramite codice. Comunque non vedo una rapida e semplice soluzione... ammesso che la si trovi.
Non ti servirà a molto, ma ti riporto la mia esperienza con Nexi (prima Carta SI), con Joomla avevo scaricato un modulo e l'ho configurato, il modulo è stato sviluppato da utenti comuni con la collaborazione della NEXI, con Prestashop ho un modulo (Nexi Xpay) che fornisce la Nexi (da Nexi Payments SpA) per gli utilizzatori.
La Nexi prende una percentuale sulle transazioni e se i primi loro sistemi erano rozzi ora danno moduli abbastanza semplici, metti la chiave MAC e il tuo alias e funziona tutto tramite il loro gateway.
Detto questo (che non ti sarà molto utile) ti chiedo, hai guardato bene sulla pagina della Nexi dove forniscono i demo e l'area test? (io non sono un programmatore ma ci sono andato un paio di volte quando si bloccava il pagamento dal mio sito) https://ecommerce.nexi.it/specifiche-tecniche/webmobile/pagamentosemplice/codicebase/avviopagamento.html
Hai visto questo codice JS? Era questo che cercavi?
--- cut ---
import java.util.Map;
import java.util.HashMap;
import java.security.MessageDigest;
import java.util.Date;
import java.text.SimpleDateFormat;
import java.net.URLEncoder;
public class codice_base {
public static void main(String[] args) throws Exception {
// Alias e chiave segreta
String ALIAS = "<ALIAS>"; // Sostituire con il valore fornito da Nexi
String CHIAVESEGRETA = "<CHIAVE SEGRETA PER CALCOLO MAC>"; // Sostituire con il valore fornito da Nexi
String HTTP_HOST = "my-server.example.tdl";
String session_id = "12345";
String requestUrl = "https://int-ecommerce.nexi.it/ecomm/ecomm/DispatcherServlet";
String merchantServerUrl = "https://" + HTTP_HOST + "/xpay/pagamento_semplice_python/codice_base/";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = new Date();
String codTrans = "TESTPS_" + dateFormat.format(date);
String divisa = "EUR";
String importo = "5000";
// Calcolo MAC
String stringaMac = "codTrans=" + codTrans +
"divisa=" + divisa +
"importo=" + importo +
CHIAVESEGRETA;
String macCalculated = hashMac(stringaMac);
// Parametri obbligatori
String requestParams = "";
requestParams += "alias=" + URLEncoder.encode(ALIAS,"UTF-8") + "&";
requestParams += "importo=" + URLEncoder.encode(importo,"UTF-8") + "&";
requestParams += "divisa=" + URLEncoder.encode(divisa,"UTF-8") + "&";
requestParams += "codTrans=" + URLEncoder.encode(codTrans,"UTF-8") + "&";
requestParams += "url=" + URLEncoder.encode(merchantServerUrl + "esito.html","UTF-8") + "&";
requestParams += "url_back=" + URLEncoder.encode(merchantServerUrl + "annullo.html","UTF-8") + "&";
requestParams += "mac=" + URLEncoder.encode(macCalculated,"UTF-8") + "&";
// Parametri facoltativi
<paypalShipping>
requestParams += "paypalShipping=" + URLEncoder.encode("","UTF-8") + "&";</paypalShipping>
String redirectUrl = requestUrl + "?" + requestParams;
System.out.println(redirectUrl);
}
public static String hashMac(String stringaMac) throws Exception {
MessageDigest digest = MessageDigest.getInstance("SHA-1");
byte[] in = digest.digest(stringaMac.getBytes("UTF-8"));
final StringBuilder builder = new StringBuilder();
for(byte b : in) {
builder.append(String.format("%02x", b));
}
return builder.toString();
}
}
--- cut ---
Sai che stestare i pagamenti da IOS e ANDROID?
Non è proprio semplice, ma prova a partire dalla pagina della NEXI, magari fai un modulo per tutti gli utenti WS5 e lo implementano nella prossima versione :)
Chiedo anch'io aiuto per lo stesso problema. Non c'è verso di configurare Nexi come alternativa a paypal!!
Buongiorno,
ho segnalato al nostro team di sviluppo questa necessità di poter interagire con il sistema di Nexi. Purtroppo però non vi so dare tempistiche al momento.
Per ora dovreste o contattare direttamente il servizio Nexi per un codice da inserire o appoggiarvi a un altro servizio.
Grazie, vi farò sapere nel caso avessi news a riguardo.
Il servizio nexi fornisce un codice html che è quelo riportato nel òost di Cristina.
Il sistema website non lo riconosce, purtroppo.
Cristian, ciao... Hai scritto sopra: "per adesso sto offrendo il pagamento con bonifico e paypal, poi mi dedicherò alle carte di credito tramite codice..." ma se hai già implementato PayPal hai la possibilità che se un utente vuole fare acquisti ma NON ha un conto PayPal, può pagare regolarmente con qualsiasi altra carta di credito semplicemente scegliendo di la voce "Paga con una Carta" e inserendo i dati della sua carta se non ha un conto PayPal al quale accedere, come si vede nello screenshot sotto... inserisce i dati della carta e i suoi dati anagrafici (li richiede nuovamente PayPal) e può pagare con qualsiasi carta di credito o anche carta prepagata...
P.s. Anzi no: i dati anagrafici richiesti nuovamente da PayPal in realtà vengono inseriti in automatico nella schermata di PayPal e vengono prelevati da quelli inseriti al momento di compilare i dati nella procedura di acquisto di Website. Quindi, in definitiva, nella finestra di PayPal andrebbero inseriti SOLO i dati della eventuale carta di credito con la quale si vuole pagare. Ancora più facile in realtà. Ciao ciao
Ciao Cristian per la risposta. Ho coinvolto un programmatore che sta studiando il problema ma già mi ha anticipato che non sarà semplice. Se ho notizie posterò la soluzione.
Grazie a tutti per i vostri suggerimenti ed interventi.
a presto su questo forum
Ribuongiorno... a titolo informativo, l'inserimento della stringa PHP mi manda in crash il programma e si chiude mentre con la stringa in JAVA questo non succede. Vuol dire qualcosa?
... non posso dirti di più, ...ma potrebbe dipendere da dove e come si inserisce il codice EXTRA, e se deve far uso di script esterni e/o collegamenti alla rete...
... il codice PHP può funzionare in pagine con estensione PHP e solo una volta esportato sul server; ... in locale, con sintassi corretta, non dovrebbe sortire nessun effetto risultando inerte...
.
Buongiorno Sergio,
se ti crash il programma puoi aprire un altro topic specifico spiegandomi cosa inserisci e allegandomi il messaggio di errore così da poter identificare il problema. Grazie.
Buongiorno Riccardo, ho riprovato ad inserire la stringa PHP di Nexi all'interno della finestra che chiede il tipo di pagamento, selezionato "CODICE PERSONALIZZATO" e questa volta, anziché chiudersi il pgr è apparsa questa pagina che ti allego:
Rimango un po' sconcertato...
Grazie
So che è un consiglio ovvio, ma avendo ottenuto questa schermata (quindi dei codici da fargli vedere) hai provato a contattare il loro numero verde 800916598 o a scrivere alla mail *** ?
Buongiorno Sergio,
credo che dipenda dal codice che è in formato PHP, non è possibile inserire nel carrello questo genere di codice occorre inserire un codice Javascript. Prova a contattare loro e facci sapere. Oppure puoi appoggiarti al servizio Paypal inserendo semplicemente solo l'account nel software.
Scusa Riccardo, a parte che incomedia mi taglia l'email del servizio assistenza Nexi (che magari è utile ad altri, io li sto contattando per altre problematiche), io su un sito fatto con un altra piattaforma (meno malleabile e più costosa di WS5) uso sia Nexi xhe Paypal e ti assicuro che inserire ANCHE Nexi fa aumentare le vendite. Molta gente, non so come mai, non vuole usare Paypal. Ora a parte le tariffe diverse (Nexi mi costa di meno) il dare la scelta alla gente incrementa le vendite.
E lo dico per esperienza, moltissimi pagano alla consegna, le ditte con bonifico bancario, pochissimi con assegno (lo permettiamo ma in effetti sarà l'un per cento dei clienti che l'ha fatto, avranno avuto le loro ragioni per farlo).
Se devo fare una statistica a mente direi che su 5 clienti 3 pagano con Paypal, 1 con Nexi e uno contrassegno ("se non ho il pacchetto in mano non mi fido" oppure "Io non ho la carta di credito o non la voglio dare in rete").
Cosa succede quando abbiamo problemi con Nexi? I clienti ci telefonano, le vendite calano... insomma, sulla nostra pelle abbiamo scoperto che un sistema diverso da Paypal serve. Ora stiamo studiandoci Apple pay e Amazon Payments per vedere se vale la pena implementarli (chiedendo in giro a chi li usa in Italia se ci sono miglioramenti nel volume di vendite)
Il dire "Appoggiati a Paypal" è una soluzione in effetti, ma la peggiore dal punto di vista commerciale. Se si parla di utilizzare WS5 per qualcosa di più di fare un sito vetrina penso che il problema Nexi sia molto importante e da non liquidare con una frase fatta.
... è corretto per l'antispam automatico...
... se vuoi comunicare un email puoi farlo in questo modo: aaaaa(At)bbb.cc ... dove (At) = @
.
Buongiorno Topografo D.,
ti confermo che ho inviato la segnalazione al nostro team di sviluppo così da poter valutare questo servizio.
Grazie.
Buongiorno Riccardo P.
Visto che ero in contatto con una persona del supporto NEXI ( support.ecommerce(at)nexi.it ) per altre mie problematiche gli ho segnalato questo thread, si sa mai che abbiano il tempo per leggerlo (io ci credo poco, ma tentar non costa nulla)
Ed ecco la risposta...
Gentile Cliente,
[...]
In merito alla questione WEBSITE X5, sul relativo sito (https://www.websitex5.com/it/ecommerce.html) tra i plugin disponibili non c'è quello per Nexi/XPAY.
Non è quindi sufficiente "incollare" alias e chiave mac nel codice del pulsante "Paga", ma la piattaforma del sito deve conoscere le specifiche tecniche XPAY.
Quindi sarebbe necessario installare o realizzare un plugin ad hoc, attività che non viene naturalmente gestita da NEXI.
NEXI fornisce gratuitamente plugin (e relativa assistenza) per alcune piattaforme e-commerce, il cui elenco è consultabile su https://ecommerce.nexi.it/plugin.
Cordiali saluti
Assistenza Clienti
Nexi Payments S.p.A.
Niente da fare, quindi, da parte loro...
Buongiorno,
mi spiace per la risposta che ti hanno dato. Ti confermo che ho segnalato il servizio al nostro team di sviluppo così da poter valutarne l'integrazione.
Per il momneto l'unica alternativa che posso consigliarti è di usare un altro servzio o appoggiarti a Paypal.