678 messaggi dal 12 maggio 2001
www.idioteca.it
domanda stupida, ma meglio togliersi ogni dubbio...
sicuro che il sito della banca riesca ad accedere alle tue pagine nel processo di conferma dei dati inviati?
Ho implementato su un paio di siti il servizio di Setefi ed in entrambi i casi il problema più grosso era quello che mi dimenticavo di rendere "pubblico" le mie pagine in locale per i miei test.
Inoltre avete inserito il file .cgn di cui ha bisogno per riconoscere il sito che vuole usare il servizio? Dalla parte finale del tuo messaggio credo che quest'ultimo problema sia scongiurato...verifica comunque se accedi al file cgn perchè, non vorrei sbagliarmi ricordando male, ma il paymentid mi sembra che te lo restituisca sempre, anche in caso di errori.
Cosa ti restituisce questa istruzione?

TransVal = MyObj.PerformInitTransaction

ciao

P.s.
comunque ritengo inaccettabile che un'azienda che offre un servizio simile e ad oggi non ha nemmeno in mente (dopo esplicita richiesta) di pensare ad un servizio utilizzabile senza oggetti COM. E in ogni caso state attenti perchè la documentazione che forniscono è al quanto incompleta. Ad esempio dovrebbe restituirti un campo data e questa data non arriva mai, campo sempre nullo o arrivano errori non presenti nella documentazione. Per non dire che per avere un ambiente di test ed uno si produzione devi fare due richieste distinte e creare due "negozi" distinti quando basterebbe associare ad un negozio più account e distinguerli tra debug e produzione, cosa che avveniva tranquillamente con bankpass o cartasì
Modificato da giangi_77 il 02 agosto 2010 23.41 -
2 messaggi dal 02 agosto 2010
Grazie Giangi,
per Setefi, la cosa più vergognosa è il servizio di assistenza che a seguito di esplicite domande risponde con dei "copia e incolla" di documenti (inutili) che poco hanno a che vedere con la domanda posta. Pensa che ad un certo punto ho esplicitamente richiesto un'assistenza da un tecnico informatico, ma hanno ancora una volta fatto finta di nulla...

Per il sito, a scanso di equivoci ho messo tutto su un nostro server di test, raggiungibile dall'esterno. Ho messo le pagine asp, aspx e il file .cgn nella stessa cartella. Ho dato all'utente IIS tutti i permessi immaginabili. Asp di demo va, aspx no.

Con ASPX PerformInitTransaction() ritorna 0. Ottengo url e paymentid, ma la pagina su cui redirigo (della banca) non funziona.
Siccome la demo asp funziona, ho provato anche a mettere come destinazione del pagamento la pagina asp, ma non va ugualmente.
Se da asp metto come pagina di ricevuta una pagina .aspx, il pagamento lo fa ma poi setefi redirige sulla mia pagina di errore (la asp di demo).
Ribadisco che le pagine aspx comunque sono raggiungibili dall'esterno.


PS
Ma i siti di cui parli erano in ASPX?

Ciao,
Alberto
678 messaggi dal 12 maggio 2001
www.idioteca.it
concordo in pieno sul discorso assistenza e anche io ne avrei da raccontare in proposito...
Per il resto sì, parlavo di siti in asp.net, sia in c# che vb.net.
Ora sono un po' preso, ma se riesco in serata riguardo il codice e vediamo se riesco a darti qualche chiarimento in più.
ciao
5 messaggi dal 24 settembre 2010
Anyone interested in implementing this gateway for us?
Server is Windows 2003 (64bit) set with Aruba.it.
.NET Framework 1.1.

Request is to make it work, either using ASP or ASP.NET.

We'll give you full access to server (ftp and terminal server).
Immediate payment upon delivery.

We've tried to set it up for a full day, to no avail.
We continue to get the error "Unable to open resource file."
Everything works on our local development server (Windows 7 Ultimate), but not on the production server at Aruba.

Thanks in advance.

Alex
alexcalder@rialto.com
Dunque, è passatoun pò di tempo, ma rovistando nel repository ho trovato un'implementazione di quanto chiedi.
Ho estrapolato solo la parte che interessa a te, a grandi linee; ma proprio a grandi linee!

String trackID = "..."; // Genera un track ID
e24PaymentPipeLib.e24PaymentPipeCtlClass pipe = new e24PaymentPipeLib.e24PaymentPipeCtlClass();
pipe.Action = "4";
pipe.Currency = "978"; // Euro
pipe.Amt = String.Format(CultureInfo.GetCultureInfo("en-US").NumberFormat, "{0:f2}", order.GetTotalAmount());
pipe.Language = "ITA";
pipe.ResponseUrl = String.Format("http://{0}/TransactionNotification.aspx?result=Success", Request.Url.Authority);
pipe.ErrorUrl = String.Format("http://{0}/TransactionNotification.aspx?result=Cancel", Request.Url.Authority);
pipe.Alias = "..."; // Indicare l'alias
pipe.ResourcePath = "..."; // Indicare l'ubicazione del file "resource.cgn"
pipe.TrackId = trackID;
pipe.Udf1 = order.ID.ToString();

Int16 result = pipe.PerformInitTransaction();

if (result != 0)
{
  // Errore...
  // Esegui il logging
  throw new Exception();
}
                            
String paymentID = pipe.PaymentId;
String paymentUrl = pipe.PaymentPage;

if (String.IsNullOrEmpty(paymentID) || String.IsNullOrEmpty(paymentUrl))
{
  // Errore...
  // Esegui il logging
  throw new Exception();
}

// Memorizza ora da quale parte la relazione tra l'id
// dell'ordine e l'id del pagamento.
// Ad esempio
TransactionTrackerService.Store(paymentID, order.ID);
Response.Redirect(String.Format("{0}?PaymentID={1}", paymentUrl, paymentID));


Qualche consiglio, visto che, come avrai notato, hai a che fare con un'interfaccia che definire "l'artigianato del software" sarebbe un complimento.

1) Controlla i permessi per la cartella all'interno della quale risiede il file di risorse (.cgn).

2) Cerca di monitorare la chiamata a PerformInitTransaction e verifica che esista un contesto di sicurezza che ne garantisca l'esecuzione.

Noi, dopo svariate peripezie (sulle quali ti sei già soffermato), siamo riusciti ad implementare la funzionalità e attualmente è tutto in produzione.
Fammi sapere.

PS. E' buffo. Siamo nel 2010 e ci sono ancora individui che non si sono stancati di COM. Autolesionismo?
Modificato da naighes il 24 settembre 2010 08.55 -

Nicola Baldi
"Make things as simple as possible, but not simpler."
>>> My blog <<<
678 messaggi dal 12 maggio 2001
www.idioteca.it
naighes ha scritto:

PS. E' buffo. Siamo nel 2010 e ci sono ancora individui che non si sono stancati di COM. Autolesionismo?[Edit by="naighes" on="24 settembre 2010 08.55"]


più che autolesionismo è poca serietà (tra l'altro in questo caso parliamo di un servizio molto delicato) visto che non scelgono di stare al passo coi tempi.

E vogliamo aggiungere che l'ambiente di test è diverso da quello di produzione?

Se penso che se pur coi suoi limiti ho dovuto sostituire bankpass con setefi solo perchè la banca del mio cliente non consentiva più il suo utilizzo per spingere ad usare un prodotto (setefi) di sua produzione.
ciao
5 messaggi dal 24 settembre 2010
Molte grazie.
Proverò tutto e vi farò sapere.
Anche noi dobbiamo, purtroppo, cambiare da BankPass (durata configurazione, 5 minuti) a Setefi (5 giorni, speriamo).

Thanks a million.

Alex
5 messaggi dal 24 settembre 2010
Sembra che il problema non sia collegata al codice ma ai permessi universali sui server virtuali di Aruba.it.

Ho appena trovato questo sul sito di assistenza di aruba:

----------------------------------------------------
Installazione componenti personalizzati e dll
----------------------------------------------------
Non è possibile installare componenti personalizzati e registrare dll di terze parti o ActiveX.
Sui server NT4 sono installati i soli componenti di default per quanto concerne OptionPack, ovvero cdonts e browscap.
Windows 2000 non supporta installazioni addizionali e Windows 2003 Server e' installato come da raccomandazione Microsoft per ISP, ovvero installazione minima.
Per i linguaggi di scripting installati come php e perl sono disponibili le librerie ed oggetti di default dell'installazione base.
Nell?offerta server dedicati è possibile installare qualunque componente di cui si necessiti.
-----------------------------------------------------

Purtroppo si tratta di un server virtuale.

Grazie.

Alex.
Modificato da AlexCalder il 25 settembre 2010 22.22 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.