Dopo un'ampia lettura sulla disordinato sito docs Paypal Questa è una breve guida ExpressCheckout lavorando 2013. Volevo avere dettagli dell'elemento indicati su pagina di pagamento PayPal e pagina della cronologia delle transazioni commerciali .
documentazione Paypal collega
È possibile chiamare metodi seguenti URL direttamente sul browser web, aggiornare i parametri di token e PayerID conseguenza.
Questo è un prodotto digitale quindi non vengono fornite le spese di spedizione e gestione. Riga dell'articolo singola. Importo e tasse sono indicate. Non è necessario un indirizzo di consegna confermato, nessun campo per gli indirizzi di spedizione, nessuna nota del testo libero, il pagatore non ha bisogno di account paypal e nessuna registrazione richiesta (solutiontype = sole). Attiva la sezione della carta di credito sul sito paypal (landingpage = fatturazione). Usa il titolo del marchio personalizzato sul sito paypal. Usa il campo personalizzato per dare il proprio valore per scopo di monitoraggio. La cronologia delle transazioni del sito commerciale deve mostrare i dettagli degli articoli (fornire dettagli sugli articoli sui metodi SetExpressCheckout e DoExpressCheckoutPayment).
metodo SetExpressCheckout apre una nuova transazione
https://api-3t.sandbox.paypal.com/nvp?
USER=<userid>
&PWD=<pwd>
&SIGNATURE=<mysig>
&METHOD=SetExpressCheckout
&VERSION=98
&PAYMENTREQUEST_0_PAYMENTACTION=SALE
&REQCONFIRMSHIPPING=0
&NOSHIPPING=1
&ALLOWNOTE=0
&SOLUTIONTYPE=Sole
&LANDINGPAGE=Billing
&BRANDNAME=MY+WEBSHOP+TITLE
&PAYMENTREQUEST_0_AMT=22.22
&PAYMENTREQUEST_0_TAXAMT=4.30
&PAYMENTREQUEST_0_ITEMAMT=17.92
&PAYMENTREQUEST_0_DESC=mypurdesc
&PAYMENTREQUEST_0_CUSTOM=custom1
&PAYMENTREQUEST_0_CURRENCYCODE=EUR
&L_PAYMENTREQUEST_0_NUMBER0=itemid1
&L_PAYMENTREQUEST_0_NAME0=MyItem1
&L_PAYMENTREQUEST_0_DESC0=Item1+description
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_AMT0=17.92
&L_PAYMENTREQUEST_0_TAXAMT0=4.30
&RETURNURL=https://myserver.com/webapp/paypal.jsp%3Fcmd=successexp
&CANCELURL=https://myserver.com/webapp/paypal.jsp%3Fcmd=cancelexp
risposta deve avere ACK = Successo o ACK = SuccessWithWarning, leggere il valore GETTONE
reindirizzamento del browser utente al sito di Paypal, dare valore simbolico
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=<token>
L'utente utilizza l'account paypal o carta di credito. Paypal reindirizza l'utente per restituire o cancellare l'url. URL di destinazione di reindirizzamento ottenuto token e PayerID valori dei parametri. La transazione non è ancora completata, dobbiamo chiamare il metodo doExpressCheckoutPayment.
dialogo Visualizza conferma sullo schermo (con il tasto OK, pulsante Annulla) o semplice caso commit di una transazione e mostrano "Grazie, acquisto a termine" messaggio. L'utente ha già accettato un pagamento nel sito paypal e si aspetta che la transazione sia finalizzata.
È possibile eseguire il commit della transazione all'interno di uno stesso gestore richiesta-risposta o utilizzando l'attività in background asincrona . Il sito Paypal potrebbe essere temporaneamente non disponibile quindi non aspettarti che funzioni immediatamente.
Commit transazione se redirect fosse successo, utilizzare token e PayerID
https://api-3t.sandbox.paypal.com/nvp?
USER=<userid>
&PWD=<pwd>
&SIGNATURE=<mysig>
&METHOD=DoExpressCheckoutPayment
&VERSION=98
&PAYMENTREQUEST_0_PAYMENTACTION=SALE
&PAYMENTREQUEST_0_AMT=22.22
&PAYMENTREQUEST_0_TAXAMT=4.30
&PAYMENTREQUEST_0_ITEMAMT=17.92
&PAYMENTREQUEST_0_CURRENCYCODE=EUR
&L_PAYMENTREQUEST_0_NUMBER0=itemid1
&L_PAYMENTREQUEST_0_NAME0=MyItem1
&L_PAYMENTREQUEST_0_QTY0=1
&L_PAYMENTREQUEST_0_AMT0=17.92
&L_PAYMENTREQUEST_0_TAXAMT0=4.30
&token=<token>
&payerid=<payerid>
Leggi ACK = successo e verificare i campi
ACK=Success
PAYMENTINFO_0_PAYMENTSTATUS=Completed
PAYMENTINFO_0_ACK=Success
PAYMENTINFO_0_AMT=22.22 total amount must match
PAYMENTINFO_0_FEEAMT=0.99 (just for fun, read paypal comission fee)
PAYMENTINFO_0_CURRENCYCODE=EUR currency must match
(opzionale) Leggi i dettagli della transazione da Paypal
È possibile utilizzare questo durante il flusso di lavoro della transazione o qualsiasi ime se memorizzato un token per un uso successivo.
https://api-3t.sandbox.paypal.com/nvp
?USER=<userid>
&PWD=<pwd>
&SIGNATURE=<mysig>
&METHOD=GetExpressCheckoutDetails
&VERSION=98
&token=<token>
Leggere i parametri di risposta.
ACK=Success
CHECKOUTSTATUS=PaymentActionCompleted
PAYMENTREQUEST_0_AMT=22.22
PAYMENTREQUEST_0_TAXAMT=4.30
PAYMENTREQUEST_0_CURRENCYCODE=EUR
(opzionale) Leggi e salvare id transazione, la correlazione id e id token e scrivere a tabella di log.
PAYMENTREQUEST_0_TRANSACTIONID=11E585715B622391E
CORRELATIONID=4534b683c335f
Sono disposto a ricevere commenti in caso di errori logici.
stai usando il nome corretto del campo per il campo quantità ..? –
Non sto usando il modulo ... Quando chiamo questa funzione, il pagamento deve essere impostato su Paypal ... Più tardi nel mio codice, chiamo questa funzione, che invia l'utente a Paypal: RedirectToPayPal ($ paypal ["GETTONE"]); –
https://github.com/hrendoh/PayPal-Express-Checkout-example –