Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di jonnyl
    Registrato dal
    Dec 2003
    Messaggi
    180

    Paypal express checkout.

    Salve a tutti,
    sto tribolando con paypal, ho scaricato le api per asp NVP, e creato gli account di test sul sandbox.

    Ho preso le credenziali api e adesso sto cercando di implementare il pulsante sul mio script.
    Siccome si tratta di beni digitali vorrei fare una cosa semplificata al massimo senza bisogno di registrazione sul sito, anche perchè paypal consiglia di creare un pagamento in due click, al massimo farò la registrazione dell'ordinativo andato a buonfine leggendo direttamente dal websrc.

    L'unica cosa che ho capito è che si possono passare informazioni tramite sessions e stringhe, quel che vorrei ottenere è:
    una volta che l'utente clicca sul pulsante per pagare, e il pagamento va in porto, si viene ridirezionati alla pagina che farà partire il download.

    Sono riuscito ad inserire il pulsante che passa un ID, la descrizione, il prezzo e la quantità a paypal, però non so configurare il link di ritorno.

    Per questa situazione ho creato anche una pagina ADODB.Stream che fa partire il download del file correlato all'ID in questione (il path del file si trova nel record dove ci sono immagini e descrizioni) .

    Qualcuno mi puo seguire su questa cosa ? Sono disposto anche a dare un piccolo compenso a chi vorrà spiegarmi come funzionano le api, oppure potete optare per una consulenza grafica, sono un designer e con grafica e css me la cavo piuttosto bene.

    resto qui seduto, reccolto in preghiera, sperando in un'anima pia che possa darmi l'input neccesario per completare questa cosa. Sinceramente ho un po paura di fare cavolate, e c'è poco da scherzare.

    Intanto vi ringrazio
    joy
    Kovalsky per gli amici.

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E' passato parecchio tempo da quando ho relizzato un piccolo e-commer con pagamento su pay-pal pertanto vado a memoria.
    I dati che puoi inviare sono:
    -id (tuo account pay-pal)
    -Nominativo cliente (no possibile col tasto donate)
    -Email
    -Prezzo
    -Quantita
    -Descrizione
    -Pagina cortesia eseguito
    -Pagina cortesia errore
    i campi possono essere hidden o text del form dipende se usi il tasto "donate" o il loro modulo preconfezionato.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it L'avatar di jonnyl
    Registrato dal
    Dec 2003
    Messaggi
    180
    Ciao Andrea,
    grazie per la risposta, vorrei specificare che non si tratta di una donazione, ma di un express checkout per digital goods.

    Paypal ha attivato questa nuova modalità di micro pagamenti, dal canto mio sono riuscito ad effettuare pagamenti normali dal mio carrello, però quando si parla di beni digitali, ci deve essere la possibilità di costruire un link di ritorno ben formulato che poi dia l'accesso al download diretto.

    E' il futuro : tutti potranno vendere un articolo, un E-book, una foto, una file musicale, video games etc etc in due click e a tariffe agevolatissime.

    Però per fare questo bisogna utilizzare le api, e compilare il link di ritorno dinamicamente, e dopo aver verificato che il pagamento sia stato effettuato correttamente dare l'accesso al download.

    Su questa cosa avrei bisogno di aiuto, abbisognasi di un manipolatore di api.....o vespe fa istess.

    Kovalsky per gli amici.

  4. #4
    Puoi tranquillamente usare i campi hidden anche per specificare l'url di ritorno da Paypal, sia per quando la procedura è andata a buon fine, sia quando l'utente ha annullato.

    Se guardi bene nella procedura normale html di Paypal, nella creazione dei campi, ci sono anche dei campi facoltativi, tra i quali proprio questi due. E quei due link di ritorno te li crei dinamicamente già quando crei la form di partenza del pagamento.

  5. #5
    Utente di HTML.it L'avatar di jonnyl
    Registrato dal
    Dec 2003
    Messaggi
    180
    Ciao ale,
    grazie intanto ; sono in una fase piuttosto avanzata ora, come hai detto tu, infatti, ho inserito l'url di ritorno direttamente nel form .

    Tutto funziona bene, solo che ora sono alle prese con la convalida della pagina IPN, che mi restituisce sempre il valore INVALID.

    Come sicuramente saprai questa pagina deve avere il responso verified per essere attendibile.
    Ho seguito tutta la guida passo passo, ed i consigli del buon Andrea Cavicchi.

    Non riesco però a capacitarmi del fatto che pur seguendo tutte le guide, in inglese ed in italiano, adesso sono ad un nuovo punto morto, bloccato da questo INVALID response.

    Le guide dicono che tutti i valori del form, inviati dalla pagina di pagamento alla mia pagina di ritorno, devono essere rispediti all'endpoint via POST.

    Ebbene l'ho fatto :

    str = Request.Form & "&cmd=_notify-validate"

    questa stringa richiama tutti i valori del form presenti nella pagina di pagamento, infatti se faccio un stampa di questa stringa vedrò la stringa completa di interrogazione.

    Ragionando un po mi sono stampato tutti i valori presenti in quel form facendo:

    For Each yy In Request.Form
    strBody = strBody & yy & ": " & Request.Form(yy) & "
    "
    Next
    response.write strbody

    In questo modo ricevo la lista ESATTA dei campi con i loro valori.
    Questo solo per verificare che il form venga passato in maniera corretta.

    Mi viene da pensare che il responso invalid possa essere legato anche alla codifica dei caratteri speciali che non corrispondono, ossia lettere accentate etc etc.

    Vado per tentativi, l'aiuto di un espertissimo ASP coder mi sarebbe stato veramente gradito, anche se superato, l'asp resta l'unico linguaggio che conosco insieme al js, appena posso mi metto a studiare l'ASP.net

    Kovalsky per gli amici.

  6. #6

  7. #7
    Utente di HTML.it L'avatar di jonnyl
    Registrato dal
    Dec 2003
    Messaggi
    180
    Cavolo ! L'errore era proprio li ! Nel charset =(

    La presenza di caratteri come à è ì ò ù mi sta crushando lo script !

    Nei dati dell'ipotetico acquirente c'era la lettera à , modificando l'indirizzo acquirente e togliendo la A accentata sono riusctio ad ottenere il responso VERIFIED !

    Ovviamente non posso sorvalare su questa faccenda, perchè soprattutto in italia, sia nomi che indirizzi possono contenre tali valori.

    ED ora ?
    La pagina paypal che reindirizza che contiene l'url di ritorno e la mia pagina IPN hanno lo stesso charset, Utf-8 .

    Ho notato che il campo nascosto di input (in questo caso l'indirizzo) contiene un carattere accentato e guardando il sorgente della pagina esso appare come un quadratino strano, non codificato:


    Scorrendo l'immagine si nota un'altro campo input che definisce il charset : windows-1252 ;

    Ho provato a settare il charset della pagina IPN proprio come windows-1252 ma il risultato non cambia , la stringa di interrogazione è sempre buggata:

    codice:
    &address_street=Via+Unit%EF%BF%BD+d%27Italia%2C+5783296&payment_date=06%3A55%3A22+Mar+29%2C+2011+PDT&payment_status=Pending&
    Per entrambe i charset sulla lettera "à" ricevo questa codifica %EF%BF%BD

    Suggerimenti ?
    Kovalsky per gli amici.

  8. #8
    Inizia a mettere come codifica una UTF-8

    E poi sostituisci i caratteri strani con l'escape:

    la à con "&agrave ;" (tutto attaccato)
    la è con "&egrave ;" (tutto attaccato)
    ...ecc

  9. #9
    Utente di HTML.it L'avatar di jonnyl
    Registrato dal
    Dec 2003
    Messaggi
    180
    Risolto, sembra che di default paypal utilizzi il charset windows-1252, che si perde i caratteri per strada.

    Per risolvere la questione basta andare nella'account paypal, settare nelle proprietà della pagina IPN il charset Utf-8, vi ringrazio tutti.

    Alle volte discutere il problema con altre persone aiuta.
    Thanks
    Kovalsky per gli amici.

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Contento della soluzione, potevi almeno avvisarmi che stavi procedendo personalmente visto che ceravamo lasciati diversamente su skype.
    Che mi serva da lezione
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.