Paypal per il mio sito web
Auteur : HORACIO T.Per cortesia. qualcuno può indicarmi dove debo inserire il texto in HTML di Paypal per ricevere pagamenti nel mio sito web fato con, Websitex5 pro
finestra . PayPal2. Pulsanti ( {3stile : {4forma : "rett" ,5disposizione : "verticale" ,6} ,7asincrono creaordine ( ) {8Tentativo {9risposta const = attendi recupero ( "/api/orders" , {10metodo : "POST" ,11intestazioni : {12"Tipo di contenuto" : "application/json" ,13} ,14// utilizza il parametro "body" per passare facoltativamente ulteriori informazioni sull'ordine15// come ID e quantità dei prodotti16corpo : JSON . stringificare ( {17carrello : [18{19id : "IL TUO_ID_PRODOTTO" ,20quantità : "IL TUO_PRODOTTO_QUANTITÀ" ,21} ,22] ,23} ) ,24} ) ;2526const orderData = attendi risposta . json ( ) ;2728se ( orderData . id ) {29ordine di resoData . id ;30} altro {31const errorDetail = orderData ?. dettagli ?. [ 0 ] ;32const messaggioerrore = dettaglioerrore33? ` ${ dettaglio errore . problema } ${ errorDetail . descrizione } ( ${ orderData . debug_id } ) `34: JSON . stringa ( orderData ) ;3536lancia un nuovo errore ( errorMessage ) ;37}38} cattura ( errore ) {39consolle . errore ( errore ) ;40resultMessage ( ` Impossibile avviare il pagamento PayPal...<br><br> ${ errore } ` ) ;41}42} ,43async onApprove ( dati , azioni ) {44Tentativo {45const risposta = attendi recupero ( ` /api/orders/ ${ data . orderID } /capture ` , {46metodo : "POST" ,47intestazioni : {48"Tipo di contenuto" : "application/json" ,49} ,50} ) ;5152const orderData = attendi risposta . json ( ) ;53// Tre casi da gestire:54// (1) INSTRUMENT_DECLINED recuperabile -> chiama actions.restart()55// (2) Altri errori irreversibili -> Mostra un messaggio di errore56// (3) Transazione riuscita -> Mostra messaggio di conferma o di ringraziamento5758const errorDetail = orderData ?. dettagli ?. [ 0 ] ;5960if ( errorDetail ?. problema === "INSTRUMENT_DECLINED" ) {61// (1) INSTRUMENT_DECLINED recuperabile -> chiama actions.restart()62// stato recuperabile, secondo https://developer.paypal.com/docs/checkout/standard/customize/handle-funding-failures/63azioni di restituzione . ricomincia ( ) ;64} altrimenti se ( errorDetail ) {65// (2) Altri errori irreversibili -> Mostra un messaggio di errore66lancia un nuovo errore ( ` ${ errorDetail . description } ( ${ orderData . debug_id } ) ` ) ;67} altrimenti se ( ! orderData . Purchase_units ) {68lancia un nuovo errore ( JSON . stringify ( orderData ) ) ;69} altro {70// (3) Transazione riuscita -> Mostra messaggio di conferma o di ringraziamento71// Oppure vai a un altro URL: actions.redirect('thank_you.html');72transazione const =73 ordineDati ?. unità_acquisto ?. [ 0 ] ?. pagamenti ?. cattura ?. [ 0 ] ||74 ordineDati ?. unità_acquisto ?. [ 0 ] ?. pagamenti ?. autorizzazioni ?. [ 0 ] ;75risultatoMessaggio (76` Transazione ${ transazione . stato } : ${ transazione . id } <br><br>Vedi console per tutti i dettagli disponibili ` ,77) ;78consolle . tronco d'albero (79"Risultato dell'acquisizione" ,80 dati ordine ,81JSON . stringify ( orderData , null , 2 ) ,82) ;83}84} cattura ( errore ) {85consolle . errore ( errore ) ;86risultatoMessaggio (87` Siamo spiacenti, la transazione non può essere elaborata...<br><br> ${ errore } ` ,88) ;89}90} ,91} )92. render ( "#container-pulsante-paypal" ) ;9394// Funzione di esempio per mostrare un risultato all'utente. In alternativa è possibile utilizzare la libreria dell'interfaccia utente del tuo sito.95funzione risultatoMessaggio ( messaggio ) {96const contenitore = documento . querySelector ( "#messaggio-risultato" ) ;97 contenitore . innerHTML = messaggio ;98}
Grazie in anticipo
Horacio