Enige tijd geleden hebben we nodig om een aankoopsysteem maken via PayPal met als bijzonderheid dat we direct een bevestiging van betaling aan dergelijke aankopen voor de gebruiker weer te geven ontvangen. Dit was het belangrijkste verschil met een winkelwagentje op een website waar je iets fysiek, in dit geval hoeft u niet om de status van een aankoop weten, wanneer het magazijn team om uw bestelling voor te bereiden en te controleren of de betaling is verricht voor het opdienen verkopen . Onze zaak is ingewikkelder. Verkopen diensten die kunnen worden abonnementen, leningen webgebruik, premium diensten, toegang tot prive-ruimtes ... al deze soorten opties voor de gebruiker, na het betalen terug naar uw website om de diensten te genieten die u hebt gekocht.
Als u wilt statische knoppen (Nu kopen) opladen via PayPal hebt twee opties, of maak van de PayPal-website of het genereren van je eigen. Het probleem is dat u moet maken statische creëren een voor elke gebruiker en elke service die u nodig hebt om te verkopen, iets absurd om te proberen en als je had verteld duizenden knoppen. Wanneer u uw eigen degenen kunnen maken normale of veilige, zodat niet kan worden gewijzigd door de manier waarop. Dit is de methode die normaal moeten worden gebruikt, omdat in de normale, een ervaren gebruiker kan het verschuldigde bedrag te wijzigen, iets wat je niet wilt gebeuren.
Voor het systeem goed te werken in een URL moet aankopen gedaan op een manier die zou ons in staat om de gebruiker die maakte de aankoop moesten de betrokken diensten toe te identificeren ontvangt. De oplossing is om de knoppen online ondertekend productidentificatie gebruikt als het userid koopt uw database, zodat bevestigingen aankoop zal de gebruiker die eigenaar is van geven en u voorzien van de diensten waarvoor u heeft betaald creëren. Kan gebruik maken van meer uitgebreide combinaties om het systeem opnieuw te gebruiken voor verschillende producten, bijvoorbeeld-idServicio userid (12345-3). Na ontvangst, om de string te splitsen door het script en hebben alles wat je nodig hebt. In dit geval zijn er verschillende soorten van dienstverlening, maar indentificaban door de kosten ervan, waarbij de gebruikers-id hadden genoeg.
Blijkbaar is eenvoudig, maar ingewikkeld als documentatie, ondanks uitgebreid, is niet helemaal duidelijk. Aan de ene kant is het niet duidelijk hoe het opzetten van uw PayPal-rekening te hebben het hele systeem en de andere is nogal verwarrend hoe de knoppen te maken en ontvangen van bevestigingen. Laten we in detail uitleggen, want het is een interessante oefening in PHP programmeren.
PayPal-account configureren
Het eerste wat je hoeft te doen is het creëren van een X.509-certificaat openbaar , enige systeem dat PayPal accepteert.
De gedetailleerde instructies heb je ze hier . eigenlijk moet je openssl gebruik, elke Linux-systeem, maar het zal hebben geïnstalleerd en Windows-versies.
- genrsa openssl-mijn-prvkey.pem 1024
- openssl req-new-key mijn-prvkey.pem-x509-days 3650-out my-pubcert.pem
Met deze eerste genereren de private sleutel en vervolgens de X.509-certificaat dat publieke sleutel. Het is belangrijk de-dag, hebben we 10 jaar zetten om problemen te voorkomen. In mijn geval heb ik de eerste 365 dagen als het afkomstig is van het voorbeeld en stopte met werken een jaar zonder je besefte, waren de gebruikers die gewaarschuwd waren. Sla de twee bestanden, mijn-mijn-pubcert.pem prvkey.pem en de behoefte aan hieronder.
We hebben ons certificaat opgesteld. Nu uploaden we naar PayPal te decoderen onze knoppen kennen. In uw PayPal-rekening moet u naar:
Profiel-> Gecodeerde Betaling Instellingen
Van daar, eerst de PayPal publieke certificaat te downloaden, moet u onze knoppen coderen, en aan de andere kant je je publieke certificaat we belde mijn-pubcert.pem uploaden. Je krijgt een certificaat ID te krijgen, datebook.
Als alles goed is gegaan, nu zetten we de rekening te accepteren alleen PayPal-knoppen getekend, zodat niemand kan onze identiteit na te bootsen met knoppen om andere prijzen, een zeer belangrijk detail. We ga dan naar:
Profiel-> Betalingsgegevens website
Actieve Eerste Betaling Data Transfer en kopieën u Identity persoonlijke code die u vertelt, moet je het later. Dan in de Betalingen sectie Gecodeerde Website betaling de optie Blokkeren in de website te activeren is niet versleuteld. Zoals je kunt zien was ik niet zo duidelijk over het proces.
Deze stap is niet vereist, maar daarmee krijgt de gebruiker terug naar uw site nadat u de betaling heeft gedaan en, indien het juist is, en haar diensten ter beschikking te hebben. Maakt Auto-optie terug en geeft de retour-URL, dwz de URL waar uw klant zal worden teruggegeven, bijvoorbeeld: http://www.tudominio.com/index.php?accion=creditos_paypalok
Eindelijk activeer de optie die ons online betalingen kennis. Om dit zullen wij doen:
Profiel-> Preferences Instant Payment Notification
En activeer de kennisgeving van de URL waar we zullen ontvangen, bijvoorbeeld, http://www.tudominio.com/secure/paypal/ipn.php.
Als je dit punt hebt bereikt, heb je alles wat je nodig hebt om te beginnen met de code. Ter herinnering, moet je:
- Uw private sleutel, mijn-prvkey.pem.
- Uw publiek certificaat, mijn-pubcert.pem.
- Uw gecertificeerde ID PayPal
- Uw persoonlijke code Identity
- Paypal Public Certificate, paypal_cert_pem.txt.
Wij zijn dus drie taken:
- Maak knoppen aankoop
- Maak het script van collecties receptie
- Maak het script terug na een aankoop
Het creëren van de knoppen
We beginnen met de code. De enige vereiste is dat uw installatie zou hebben geconfigureerd PHP openssl extensie essentieel om te werken met certificaten. Met deze klasse vond ik op het moment (ik had een harde tijd vinden van iets simpels) hebben het hele proces geautomatiseerd, alleen maar zorgen te maken over de gegevens aan dat we hebben gespaard, certificaten en een gecertificeerde ID PayPal, eenvoudig is het niet?.
- "Class.PayPalEWP.php" ) ; include ("Class.PayPalEWP.php");
- PayPalEWP ( ) ; $ Paypal = & new PayPalEWP ();
- ( "/tmp" ) ; $ Paypal -> setTempFileDirectory ("/ tmp");
- ( "my-pubcert.pem" , "my-prvkey.pem" ) ; $ Paypal -> SetCertificate ("my-pubcert.pem", "mijn-prvkey.pem");
- ( "XXXXXXXXXX" ) ; $ Paypal -> setCertificateID ("XXXXXXXXXX");
- ( "paypal_cert_pem.txt" ) ; $ Paypal -> setPayPalCertificate ("paypal_cert_pem.txt");
- , 'Cmd' => '_xclick'
- , 'Business' => 'info@tudominio.com'
- 'Item_name' => 'Buy Dienst X,
- idUsuario '], 'Item_number' => $ _SESSION ['userid'],
- 5 ', 'Bedrag' => 'Mei',
- 1 ', 'No_shipping' => '1 ',
- EUR ', 'Currency_code' => 'EUR',
- ES ', 'Lc' => 'NL',
- );
- post \” > $ Form5 = "<form method= action= \" \" bericht https://www.paypal.com/cgi-bin/webscr \" \">
- cmd \” value= \” _s-xclick \” /> type = <input verborgen \" \" \" value= name= \" \" _s-xclick cmd \" />
- encrypted \” value= \” —–BEGIN PKCS7—– \n ".$paypal->encryptButton($paypalParam)." \n —–END PKCS7—– \” /> \ "Type = \" <input name= verborgen gecodeerd \" PKCS7-- --BEGIN \" \n value= ".$paypal-> \ "encryptButton ($ paypalParam)." \ N - EINDE PKCS7 - \ "/>
- <Input > betalingen met PayPal is snel, gratis en veilig \ "style = \" border:. 0; \ ">
- </ Form> ";
De code is vrij duidelijk.
We hebben het, $ form5 bevat de code van uw knop.
De belangrijkste parameters zijn:
- item_name: informatief, zodat uw klant weet wat je koopt. Bijvoorbeeld: Nieuws abonnement aankoop.
- item_number: Hier stellen we de userid van uw klanten in uw database, zodat u weet wie koopt.
- hoeveelheid: De prijs die u in rekening brengen, in dit geval 5 euro.
Wijzig deze en andere parameters om uw keuzes reflecteren en aanpassen aan uw toepassing. Door het nemen van $ form5 code op uw site hebben het systeem klaar voor de verkoop.
Het ontvangen van meldingen
Het ontvangen van meldingen is de hoeksteen van het systeem om ervoor te zorgen dat een klant heeft betaald voor een dienst. PayPal heeft gedacht dat je zou kunnen hebben connectiviteit tijdelijk problamas voorkomen dat u een aankoop doet, die vereist dat u bevestigen dat u de bevestiging heeft ontvangen door toezending dezelfde parameters je gestuurd herkennen. Een nieuwsgierige maar effectieve systeem, kun je niet imiteren als geen bewerking identifiers weet u verzendt, zodat alleen de ontvanger de ontvangst bevestiging kan bevestigen. Wat wij doen is het creëren van een HTTP POST-aanvraag met alle parameters naar ons en geef het terug aan PayPal. Als alles goed gaat zullen we ontvangen een GECONTROLEERD en we accepteren deze transactie als geldig en doe de verwerking wij passend achten, te beginnen met controle dubbelhartigheid van de transactie, omdat PayPal zou worden terug te zenden en eindigt bij de dienst waarvoor u heeft betaald waardoor de gebruiker .
- / / Lees de post van PayPal-systeem en voeg 'cmd'
- ; $ Req = 'cmd = _notify-valideren';
- $_POST as $key => $value ) { foreach ($ _POST als $ key => $ value) {
- ; $ Req = "& $ Key = $ value".;
- }
- / / Bericht terug naar PayPal-systeem te valideren
- " ; $ Header = "POST / cgi-bin/webscr HTTP/1.0 \ r \ n".;
- " ; $ Header =. "Content-Type: application / x-www-form-urlencoded \ r \ n";
- ( 'www.paypal.com' , 80 , $errno , $errstr , 30 ) ; $ Fp = fsockopen ('www.paypal.com', 80, $ errno, $ errstr, 30);
- / / Wijs geplaatst variabelen om variabelen te plaatsen
- [ 'item_name' ] ; $ Item_name = $ _POST ['item_name'];
- [ 'item_number' ] ; $ Item_number = $ _POST ['item_number'];
- [ 'payment_status' ] ; $ Payment_status = $ _POST ['payment_status'];
- [ 'mc_gross' ] ; $ Payment_amount = $ _POST ['mc_gross'];
- [ 'mc_currency' ] ; $ Payment_currency = $ _POST ['mc_currency'];
- [ 'txn_id' ] ; $ Txn_id = $ _POST ['txn_id'];
- [ 'receiver_email' ] ; $ Receiver_email = $ _POST ['receiver_email'];
- [ 'payer_email' ] ; $ Payer_email = $ _POST ['payer_email'];
- [ 'txn_id' ] ; $ TransID = $ _POST ['txn_id'];
- [ 'item_number' ] ; $ Userid = $ _POST ['item_number'];
- [ 'mc_gross' ] ; $ Bedrag = $ _POST ['mc_gross'];
- ; $ Credits = 100;
- ! $fp ) { if (! $ fp) {
- / / CONTROL FOUT-GEEN VERBINDING MET PAYPAL
- / / GEEN ERNSTIGE, ALS NIET bevestiging van de transactie
- / / Opnieuw ZELF DE ONDERSTAANDE
- { Else {}
- / / Controleer het niet is verwerkt en de transactie
- ; $ Query = "SELECT * FROM paypal waar TransID = '$ TransID' en status = 1";
- -> Execute ( $query ) ; $ R = $ conn -> Uitvoeren ($ query);
- -> recordcount ( ) ; $ Add = $ rs -> recordcount ();
- $sumar == 0 ) { if ($ add == 0) {
- / / ALLE TRANSACTIE logeamos
- $ Query = "insert into paypal (TransID, datum, status variabelen)
- VALUES ('$ TransID', nu (), 1, '$ vars') ";
- -> Execute ( $query ) ; $ R = $ conn -> Uitvoeren ($ query);
- / / Hier nu doe je je bewerkingen
- Userid: / / Om de service gebruiker toekennen
- / / Controleer of geldig userid
- { Else {}
- / / DUPLICATE TRANSACTIE, NIETS DOEN
- }
- / / FOUT CONTROL
- }
- }
- }
We hebben de bevestiging van de betaling van PayPal ontvangen, hebben wij in onze database opgeslagen en we naar onze klantenservice hebben gegeven, zal dit proces verschillend voor elke toepassing te zijn dus niet uit te leggen, doe jouwe als je nodig denkt. Wat ik zou aanraden is om een tabel van alle transacties ontvangen als een logboek bij te houden, helpt u fouten of klachten van gebruikers te vinden.
Merk op dat alleen PayPal lanceert dit proces met de juiste transacties, die beweerd goed, nooit met de verkeerde (gebrek aan evenwicht, verkeerde kaart, etc..).
Terugkerende gebruikers op onze website
Zodra de gebruiker klaar is de PayPal transactie moet het terug te sturen naar onze site, zodat u kunt beginnen met de dienst waarvoor u heeft betaald. Deze methode biedt ons PayPal Automatische terugkeer naar de gebruiker te sturen naar de URL die u hebt opgegeven met vermelding van de parameters van de transactie, inclusief de vraag of het nog geldig was of niet. PayPal is ook aan alles gedacht: ik kan een gebruiker niet terug te keren naar de plaats van herkomst zonder eerst melding gemaakt van het succes van de transactie (de vorige stap). Dus het mechanisme van de PayPal-gebruiker vertraging doorsturen van een paar seconden om te proberen om uw server te maken en op de hoogte van die transactie. Gewoon geweldig. Gebruik nu uw persoonlijke identificatiecode die we hebben verkregen voor het opzetten van het account op PayPal. Is de parameter die we noemen $ auth_token code.
Het proces is vergelijkbaar met de bevestiging van transacties. We moeten communiceren met PayPal dat we de terugkeer verzoek van de gebruiker heeft ontvangen en het is ons, die, alleen dan zal ons de gegevens van de transactie te geven. Weer een merkwaardige methode. Om dit te doen, krijgen we aangegeven door de identificatie van de transactie en moet het terug samen met onze identiteit token door een ander gesprek HTTP POST, dus zorgen we ervoor dat we die informatie vragen. Als alles correct is PayPal brengt ons terug naar de transactiegegevens in reactie op deze oproep. Weer geweldig systeem.
Waarom niet doen zoals in de vorige stap? Eenvoudige, IPN methode is transparantie voor de gebruiker, is een interne oproep naar PayPal systemen om de jouwe te maken, zal niemand weten dat gegevens worden verzonden, zodat u kunt deze gegevens gebruiken om de transactie te bevestigen. En el método de retroceso, esta URL llega al usuario, con lo que podría hacer cosas que no deseamos con los datos, con lo que no nos envían nada en la solicitud, simplemente el identificador de la transacción para que internamente nosotros pidamos los datos validándonos con el código personal .
- //read the post from PayPal system and add 'cmd'
- $tx_token = $_GET [ 'tx' ] ;
- $auth_token = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" ;
- $req = 'cmd=_notify-synch' ;
- $req .= "&tx=$tx_token&at=$auth_token" ;
- $header .= "POST /cgi-bin/webscr HTTP/1.0 \r \n " ;
- $header .= "Content-Type: application/x-www-form-urlencoded \r \n " ;
- ( 'www.paypal.com' , 80 , $errno , $errstr , 30 ) ; $ Fp = fsockopen ('www.paypal.com', 80, $ errno, $ errstr, 30);
- ; $ IsError = 0;
- if ( ! $fp ) {
- $isError = 2 ; //error HTTP
- } else {
- // read the body data
- $res = ” ;
- $headerdone = false ;
- // read the header
- $headerdone = true ;
- } else if ( $headerdone ) {
- // header has been read. now read the contents
- $res .= $line ;
- }
- } // parse the data
- $i = 1 ; $i <count ( $lines ) ; $i ++ ) { for ($ i = 1; $ i <count ($ lijnen); $ i + +) {
- }
- ; //no error $ IsError = 0, / / geen fouten
- [ 'first_name' ] . " " . $keyarray [ 'last_name' ] ; $ Naam = $ keyarray ['voornaam'] "'$ Keyarray. [' Achternaam '].;
- [ 'item_name' ] ; $ Product = $ keyarray ['item_name'];
- [ 'payment_gross' ] ; $ Bedrag = $ keyarray ['payment_gross'];
- [ 'item_number' ] ; $ Userid = $ keyarray ['item_number'];
- + $keyarray [ 'mc_gross' ] ; $ Bedrag = 0 + $ keyarray ['mc_gross'];
- $estado = $keyarray [ 'payment_status' ] ;
- $transid = $keyarray [ 'txn_id' ] ;
- //ahora ya puedes evaluar lo que necesites de tu transacción
- //y termina informando al usuario de que todo ha ido bien y ya tiene su servicio
- $isError = 1 ; //error de transaccion
- }
- }
La respuesta que recibimos es una respuesta HTTP estandar, con lo cual debemos ser conscientes de que vamos a recibir primero todas las cabeceras HTTP de la respuesta, después dos saltos de línea ya continuación la respuesta propiamente dicha. En una petición normal esta respuesta sería el código HTML de tu página, pero en este caso recibimos la lista de parámetros de la transacción, uno por línea y del tipo:
parámetro1=valor1
parámetro2=valor2
... El código tiene esto en cuenta y, al recoger la respuesta, regenera la lista de parámetros/valores recibidos con lo que tenemos los datos necesarios.
La primera línea va a ser SUCESS ó FAIL , está claro el dato, una indica que la transacción ha sido válida y la otra que no. Obviamente debes informar al usuario de que la operación ha sido correcta y que ya tiene su servicio disponible.
Si has entendido bien todo lo explicado hasta ahora, verás que los sistemas de recepción de notificaciones y retroceso automático son muy similares, de hecho puedes utilizar este último para validar las transacciones de igual modo que con el primero y no necesitarías éste. Pero ¿qué ocurriría si sólo implementas el segundo y el usuario cierra la ventana del pago mientras está en esos segundos de espera antes de reenviarlo a tu web? Simplemente que el usuario no tendría su servicio disponible ya que nunca ha llegado a realizar el proceso del Retroceso automático . Para solucionarlo implementamos los dos. Con el primero aseguramos que la mayoría de transacciones válidas son procesadas y los servicios otorgados al cliente, con la segunda, además de informar al cliente del éxito o fracaso se su operación, tenemos un sistema de redundancia por si el primer procedimiento hubiese fallado. Como en ámbos tenemos el identificador de transacción, simplemente debemos comprobar que esa transacción ya existe y no hacer nada o procesarla si no existe.
Y eso es todo amigos. Con esto hemos aprendido a tener un sistema de compras de servicios seguro y dinámico en PayPal. Cómo habéis podido observar, el procedimiento es bastante complejo en cuanto a configuración y desarrollo, pero es muy interesante el estudio del resultado para tener una idea más amplia de como implementar sistemas seguros.










101 usuarios han comentado en " Cobrando por servicios a través de PayPal con PHP "
Feed The commentaren voor deze ingang Trackback[...] Enlace: Cobrando por servicios a través de PayPal con PHP [...]
excelente tutorial, gracias.
[track back] http://cuatroxl.wordpress.com/2008/04/13/cobrando-por-servicios-a-traves-de-paypal-con-php-enlace/
[...] Cobrando por servicios a través de PayPal con PHP. vía: Cerebro en la Sombra [...]
NO SIRVE!!, he estado probandolo, subiendo actualizando los archivos en paypal, el servidor y nada!, ademas el codigo tiene problemas de sintasys, está mal escrito y tiene muchos errores, he tratado lo mejor que pude, en paypal los certificados ya estan bien y por mas que intengo vale queso, le hago clic en el boton comprar y me manda pero a la pagina principal de paypal, esto es una basaura, no sirve.
Hola Jorge,
Te aseguro que funciona, más que nada por que lo tengo funcionando desde hace año y medio sin ningún problema. El código es el mismo que tengo funcionando, así que si no he copiado y pegado mal algo, debería estar bien.
Podrías empezar por decir que partes del código has tenido que modificar y, a continuación, mostrarnos tu código de creación de botones para ver porqué no te funciona.
Un saludo.
Hello OSUs,
Estoy integrando paypal en un web site con tu método, pero una vez configurada la cuenta como indicas y creado el botón, al conectar con paypal, éste me devuelve el siguiente error:
"Wij kunnen deze transactie niet verwerken, omdat er een probleem is met het e-mailadres dat door PayPal verkoper. Contact op met de verkoper voor het oplossen van het probleem. Indien deze betaling is voor een eBay-bedrijf, neem dan contact op met de verkoper via de link "Vraag het de verkoper"-pagina van de advertentie. Zodra u de juiste e-mailadres, kan de betaling worden gemaakt op http://www.paypal.com . "
Enig idee wat zou het zijn?
Ik heb vastgesteld dat de aangegeven op de knop e-mail is hetzelfde als de PayPal-account, maar het kan niet, want het is de eerste keer dat Compleet paypal.
Dank bij voorbaat.
Ja het werkt, vooral omdat die klasse is de officiële PayPal is niet gemaakt door "buitenstaander", de officiële steun in hun website. Het is waar dat de getoonde code hier heeft een syntax error, maar vrijwel zeker een ding van de blog te plaatsen (offertes, etc etc), naar html entiteiten voorkomen.
Hoe dan ook, het werkt, wat er gebeurt is dat u niet weet configureren.
Selphy,
Dus je denken niet verkeerd klinkt, maar het lijkt erop dat het een probleem met uw PayPal-rekening kan zijn. Weet je zeker dat het goed is en heeft geen beperkingen?
Hebt u gecontroleerd of het certificaat geldig is?
Hello OSUs,
Het certificaat configuratie is correct en ik denk ook, is het niet te ingewikkeld uitzien, lol. Maar ik denk dat de opdrachtgever ontbreekt valideren enkele van de rekening, als ik iets dat ongeveer 5 of 6 dagen duurt hebben gezegd, ik wacht op uw bericht te hertest.
Ik zal je vertellen dat het echt als dat is het probleem.
Tot dan zal ik wachten, niet gek! Ze missen een of twee dagen bij de meeste
Goede middag,
Ik probeerde je code, maar uit het eerste deel bij om op de knop te betalen met paypal, de entiteit antwoordt hij met de boodschap: ". We kunnen niet decoderen het certificaat ID"
Je weet dat je zijn?
Heel erg bedankt en vriendelijke groeten.
Hoi Ricardo,
Op zoek naar wat door Google,
Ik krijg naar:
http://www.paypaldeveloper.com/pdn/board/message?board.id=ewp&message.id=615
Zou het kunnen zijn dat u onbewust een regeleinde?
Met vriendelijke groet,
OSUs
Hello,
Ik heb hetzelfde probleem als Ricardo, niet kan decoderen certificaat ID. Ik gebruik de paypal sandbox voor het testen, weten of het werkt daar ook?
Dank je wel,
Jose.
Hallo, ik ben op het punt om een soortgelijk systeem op te starten, ik vraag me af of andere gegevens te envar informatie te paypal kunnen worden verzonden en wanneer deze zal worden teruggegeven in IPN en de terugkeer van de gebruiker op onze site.
Ik vond dat er voornaam of achternaam variabelen bijvoorbeeld ... zou slechts enkele te voegen aan de knop verzenden en en kunnen worden gebruikt in de andere twee scripts zijn? dwz paypal zou weer met mij gebeuren?
Nou estoyusando dit voorbeeld een dynamisch aankoopsysteem encritado maken dit is de code die ik opgewekt de klas ...
Het thema is dat ik krijg de fout "kan niet decoderen het certificaat ID. 'En ik las het kan zijn omdat plaatst newline sommige slecht, maar ik soort devulve de gecodeerde tekenreeks met sprongen die reeds zijn opgenomen
Is ook deve verce of ketting moet een string zonder pauzes zijn ... Ik ben verkeerd doen (ik weet het is moeilijk te zeggen
)
Zoals ik laat ik gewerkt om hier te helpen:
lijn van de vorm "- BEGIN PKCS7 - \ n" $ paypal-> encryptButton ($ paypalParam) "\ n - END PKCS7 -"..
is eigenlijk "- BEGIN PKCS7 - \ n" $ paypal-> encryptButton ($ paypalParam) "\ n - END PKCS7 -"..
ie "-" (streepje 5 keer) in plaats van "-" zeker werd vervangen toen het werd gepubliceerd, ik bijna liet me gek XD
ze zijn slecht aanhalingstekens ('), maar het gemakkelijker toont.
Verbazingwekkende tutorial bedankt voor alles
Met betrekking tot de fout "kan niet decoderen het certificaat ID.", Zou ik willen opmerken dat in mijn geval was er, want ik was met behulp van de paypal_cert_pem.txt voor de Sandbox, maar als je de productielocatie moet opnieuw downloaden van ons profiel.
Anders dank OSUs hun uitleg, zoals ik zeer nuttig zijn geweest. PayPay is een zee van mogelijkheden, en heeft mij meer kosten vertalen wat ik wilde de PayPal-taal om het uit te voeren doen.
De tutorial is goed, maar als ik integreren met een database paypal onderaan deze echoo hele liooo
en niet goed uit te leggen, kon ik ud.
dat nesecitare tafels, ik ben half confundifooo help please
Thanks voor de hand
Ten eerste, heel erg bedankt voor deze tutorial, dankzij hem slaagde ik erin om bijna klaar ontwikkelen van een Joomla component met behulp van dit systeem.
Mijn probleem in kwestie is de volgende: ik alles correct gedaan, maar als ik lees wat PayPal stuurt me, krijg ik altijd de staat: ONGELDIG, hoewel transacties correct worden uitgevoerd.
Ik vraag me af wat er kan gebeuren, als de return URL me heeft laten zien, zelfs een "st = Completed", dit is de tekst die PayPal rendement, compleet:
HTTP/1.1 200 OK
Maa 8 december 2008 20:33:17 GMT
Server: Apache/1.3.33 (Unix) mod_ssl/2.8.22 OpenSSL/0.9.7e mod_gzip/1.3.26.1a mod_fastcgi/2.4.2
Set-Cookie: domain =. paypal.com, path = /
Set-Cookie: cookie_check = yes; afloopt = do, 06-Dec-2018 20:33:17 GMT; domain = Paypal.com, path = /.
Set-Cookie:. Navcmd = _notify-valideren; domain = Paypal.com, path = /
Set-Cookie: navlns = 0; afloopt = Zon, 03-Dec-2028 20:33:17 GMT; domain = Paypal.com, path = /.
Set-Cookie: Apache = 10.191.196.11.158601228768397316, path = /; afloopt = Zon, 26-Oct-02 14:05:01 GMT
Connection: close
Content-Type: text / html charset = UTF-8
ONGELDIG
man vertel me waar je het gedownload .... Ik kopieer deze q zijn er en als ik naar paypal vertelt me q q moet worden geformatteerd. Pem
# Hibade,
Ik laat u een aantal links of ze helpen met uw probleem:
http://www.pdncommunity.com/pdn/board/message?board.id=ipn&thread.id=9388
http://paypaldev.org/topic.asp?TOPIC_ID=5720
http://paypaldev.org/topic.asp?TOPIC_ID=11377
http://www.paypaldeveloper.com/pdn/board/message?board.id=ipn&thread.id=8610
In het algemeen is het probleem alleen melding de transactie succesvol was, hetgeen de aanmelding mislukt. Controleer de URL's die u geïndiceerd voor als je de fout vinden.
# Roberto,
begrijp niet goed uw probleem.
GEGENEREERDE? Uw eigen certificaten zoals aangegeven in de tutorial?
genrsa openssl-mijn-prvkey.pem 1024
openssl req-new-key mijn-prvkey.pem-x509-days 3650-out my-pubcert.pem
Het certificaat moet aan Paypal Personal jouwe.
Goed
Zeer goede tutorial, bedankt voor de moeite.
Ik heb een klein probleem. Ik ben al op zoek naar een lange tijd en ik heb niet gevonden waarom.
Ik correct op de knop, als ik zie de broncode van de pagina zie ik k me maar heeft versleuteld op de knop drukken om te zien wat paypal werkt geeft mij het volgende bericht: Het e-mailadres van het bedrijf is niet opgenomen in de blob. Contact met de verkoper.
Als iemand weet hoe ik het kan oplossen Ik zou het op prijs stellen.
Groet en dank bij voorbaat
Hoi, Ik ben het creëren van een website met paypal integratie. Ik lees uw handleiding en ik ben verloren in de eerste stappen van het creëren van X.509 publieke certificaat in dit deel:
De gedetailleerde instructies heb je ze hier. eigenlijk moet je
link niet werkt waardeer uw hulp
Hola Juan,
Debe de hacer algún problema con la documentación de Paypal.
Puedes verla mientras tanto en la caché de google .
Ya he conseguido solucionar mi problema. Os lo comento por si a alguien le pasa que sepa solucionarlo.
El problema viene de la clase PayPalEWP. He encontrado otra por internet y con esa me ha funcionado a la primera.
Excelente tutorial, he estado buscando información pero no existe tanta, voy a probar todo esto a ver como me va.
Saludos!!!
Excelente es un adjetivo que se queda corto!
Muchas gracias por compartirlo con todos, me ha sido de enorme ayuda para mi proyecto!
Un saludo y sigue así!
holas, primeramente agradecer por el tuto, pero tengo un problema no se si es con mi certificado o que pero al momento de haber mi boton que veo q si esta encriptado y todo, presiono y me redirige a la pagina de paypal pero mostrandome un error que dice: “No podemos descodificar el Id. de certificado.”, no se cual pueda ser el problema ya que realice los pasos tal como mensionas.
Epero una manito porfas.
Hola Kerberos,
Revisa los demás comentarios, hay gente con tu mismo problema que pudo resolverlo.
Un saludo
Gracias Osusu por tu respuesta, bueno solo fueron unos guiones pero al final lo solucione, luego tube el problema de q no habia o mejor dicho no mandaba el correo de la empresa, pero bueno segui en mi terca buskeda y encontre en la misma pagina de paypal otro script de la clase y esta aca: http://www.pdncommunity.com/pdn/attachments/pdn/ewp/159/1/ewp.php
bueno ahora a seguir con los pasos si tengo mas problemas se los comento.
Salu2 8)
Tengo una duda, cual de los dos ultimos script debo utilizar???, porke primero puse el ipn, con toda la verificacion y luego mostrastes el otro con el token como hago eso???, son los 2 o uno de ellos???, cual seria el indicado???
Hola Kerveros,
Son dos cosas distintas pero que se relacionan.
El primer script, si he entendido bien, es la notificación del pago. Este aviso es transparente al usuario, lo hace paypal contra tus sistemas y te indica que la oepración se ha procesado correctamente.
El segundo script que comentas entiendo que es la vuelta del usuario una vez ha comprado, que en realidad también es una notificación.
Pero piensa una cosa, ¿qué ocurre si sólo usas el segundo método y el ususario al terminar la compra no vuelve a tu web por el redirect que le marca paypal?
Son dos procedimientos complementarios, no excluyentes
.
Espero haberte ayudado.
Osus
creo q sip, bueno ya casi termino con esto y empezare a realizar las pruebas y comentare luego como me fue.
Hello! En primer lugar muchas gracias por el tutorial claro y util; toda la informacion esta en ingles y se agradece mucho el aporte.
Tras depurar un poco el codigo y adaptarlo a mi programacion llego a un punto en el que no puedo continuar. En primer lugar he realizado el upgrade de mi cuenta de Pay pal a premium y la he verificado; he creado la clave privada y el certificado publico; he subido mi certificado y descargado el certificado publico de Pay pal.
Con los certificados en el root de la aplicacion y el id del mismo en $paypal->setCertificateID creo que ya lo deberia tener todo.
Cuando ejecuto, Pay pal me da un mensaje que pone : “El vendedor no es una cuenta PayPal Premier o Business. Esta función sólo se activa para los titulares de cuenta PayPal Premier o Business.”, cuando si voy a mi cuenta si que me pone que es Premier verificada.
Kunt u mij een idee van wat er mis is geven? Dank u zeer veel toch
Ik het probleem opgelost, zal ik het posten voor het geval iemand hetzelfde voelt:
in het bedrijf van de variabele parameter $ paypalParam e zet de Paypal account. Ik had het verlaten info@tudominio.com die de code gebracht.
Alles werkt prima, dank u zeer OSUs
Hi q zoals groeten, dit is een uitstekende handleiding alleen wil ik in plaats van de betaling knoppen duurt slechts via mijn website zonder het verlaten van de Might lagers een beetje, dond start bedankt!
Zeer goede tutorial. Nou ik ben met behulp van een winkelwagentje dat ik deed .... deze knop is voor "Nu kopen", is mijn vraag hoe ik het kan implementeren in het winkelwagentje? dwz het einde om alle producten te kopen op de kar.
Tuurlijk David, in principe berekent de totale prijs en zet de prijs van de som, niets meer.
Jezus
Ik probeerde om de transactie te doen, krijg ik deze foutmelding:
"We kunnen niet decoderen het certificaat ID"
Ik probeer een nieuw certificaat en een nieuwe persoonlijke sleutel en het certificaat ... paypal genereren ..... het certificaat id paypal geeft mij is 13 cijfers en breng het tot deze variabele:
$ Paypal-> setCertificateID ("1234567890123");
is dat juist?
Bedankt voor je hulp OSUs
Ik probeer alles wat we in het forum besproken te doen en niet om het probleem op te lossen ..... Is het dat is niet goed geconfigureerd php_openssl extensie? Ik doe het van localhost naar mijn machine en ik heb XP, de apache wordt beheerd door Wamp php ook weet niet of het iets te maken heeft.
En een ander ding, zoals uitgevoerd op de host, ik nodig:
ssl-certificaat?
een dedicated IP?
of iets anders? bedankt voor je hulp OSUs, deze ongelooflijke deze post, ik heb veel geleerd sinds ik ben nieuw op dit e-commerce.
Ik hoop dat uw antwoord of andere ..... Bij voorbaat dank
Hallo David,
Je moet ook niet ssl en toegewijde ip als je wilt doen met ssl is jouw beslissing, niet het protocol.
Aan de andere kant, wat het probleem met het certificaat, zie de bovenstaande reacties, Ivan suggereert een mogelijke oplossing voor uw probleem.
ok, nog een ding ... geen idee hoe certificaten of de sleutel te genereren ..
Gebruik deze tool
http://www.stellarwebsolutions.com/certificates/stellar_cert_builder.php
Iets te maken hebben? van gender hier paypal certificaat ....
Goed David,
In het artikel leg ik uit hoe je genereren met openssl, niet hoe om te bewijzen wat hij zegt.
en kunnen genereren door OpenSSL, een vraag ...
Het certificaat is een txt paypal?
$ Paypal-> setPayPalCertificate ("paypal_cert_pem.txt");
of het is ook een. pem?
$ Paypal-> setPayPalCertificate ("paypal_cert.pem");
Ongeacht de mate dat je het bestand gezet, het is echt een tekstbestand.
Goed,
Uitstekende handleiding, ik ben je een biertje, heb de tijd dat je me gered zoek naar mogelijkheden van Paypal niet te zien, is het duidelijk dat je kunt doen op uw pagina's, maar de documentatie laat veel te wensen over.
Resumo mis pasos (aunque están todas las soluciones en los comentarios) para que se sepa que a fecha de hoy sigue siendo perfectamente valido (leyendo bien artículo y comentarios así como con un poco de sentido común, of course):
1.- Depurar el código para limpiar basurilla wordpres (comillas, saltos de línea)
2.- En el hidden encrypted sustituir las dos rayas que se ven por cinco guiones
Osus, muchisimas gracias por el tiempo que te has tomado por ofrecernos este tuto, verdaderamente ha sido de gran ayuda.
Met vriendelijke groet,
PD: Supongo que los que tenéis blog estáis acostumbrados a los trols pero no me queda otra que sentirme avergonzado por permanecer a las misma raza que el tal Jorge Ortega del comentario despectivo, menos mal que tu ni caso ya lo tuyo
Hola MrLp3,
Muchísimas gracias por tus comentarios y más aun por tu apoyo
Seguro que gracias a tus consejos mucha gente dejará de tener problemas con el copy/paste, eso que llamas “sentido común”
Un abrazo
Hello,
lo primero agradeceros muchísimo este tutorial… Está genial. Completo, claro, útil.. Directo para el top ten
Tengo una duda: ¿esto es una implementación del expressCheckOut de Paypal o de qué exactamente?
Muchísimas gracias
Hola Botona,
Disculpa pero yo lo que no entiendo es tu pregunta.
¿Has elido el artículo? Creo que está bien explicado.
Hola que tal, me había desaparecido…encontre cual fue el error aparte de los 5 guiones y comillas. Cuando entraba al recinto de sandbox, me salia un error que paypal no podia decodificar el id de certificado.
El caso fue que cambia _s-xclick pr _s-click
Saludos, ahora intentaré adecuar el código para añadir varios productos en un mismo botón. Mi pregunta es ¿se puede?
Gracias Osus por este foro que nos ha ayudado a muchos, sin duda… Shalom
Buenas David,
Encantado de que te haya ayudado el artículo y de que hayas podido solucionar tu problema.
No entiendo mucho lo que dices de varios productos. ¿Quieres decir que con un solo botón compres un pack de productos? Solo tendrías que poner el precio total y el detalle de la compra.
¿Es eso o qué es exactamente lo que quieres hacer?
No. Tengo un catalogo, de ahi se pueden añadir productos a un carrito (add to cart), al ver el carrito tego n productos y el boton “comprar ahora”. Al hacerle clic los n productos que estan en el carro pasan toda la información a paypal. Es como le estoy haciendo por ahora (sin botones encriptados), y te comento que paypal hace la suma del total, yo sole le paso los items mediante este boton.
Si tienen ideas, compartan. De momento trabajo en esto y les hago saber.
Hello,
estoy utilizando el tutorial para un proyecto de tienda online y está genial, una vez eliminda toda la basurilla que deja el wordpress en el código de PHP funciona de maravilla.
Esto me ha ahorrado unas cuantas horas de trabajo.
Heel erg bedankt!
Hola yo tengo un problema, con lo que dicen de las comillas, por mas que las cambio de ” a ” (no se si se ve la diferencia pero el punto es que las que salen en el codigo de aqui son las redonditas y en dreamweaber son las rectas cambio todas y aun asi no me sale el boton al hacer echo $form5 y los guines que comentaron que son dos y deben ser 5.
Si alguien me pudiera ayudar con eso le agradeceria
Otra duda, a los archivos de recibiendo las notificaciones como tengo que guardarlos, porque ya logre hacer funcionar el primer codigo, y todo bien hasta ese momento pero me perdi en como guardo esos php con que nombre vaya!!!
se que no he agradecido por el post se me fue la onda pero es que ando algo desesperado porque necesito que esto me funcione en 3 dias y por mas que busco este post es el mas claro y cercano a lo que necesito.
mi duda es si los dos codigos de recibiendo las notificaciones y devolviendo al usuario van en el archivo ipn? porque ya hice la prueba y ya me esta haciendo los cargos pero en la seccion de codigo de”recibiendo las notificaciones” en donde esta comentado //ahora ya puedes evaluar lo que necesites de tu transaccion
Solo necesito hace un update de de un campo de una tabla pero no me lo hace, yo digo que es por mi dudaa de esos dos codigos van en ipn.php porque plos dos tienen el mismo header y la misma variable req y supongo que eso es lo que estoy haciendo mal
Muchas gracias de antemano a quien me peuda ayudar.
Hola buenos días, gracias por este tutorial es la primera vez que voy a empezar con paypal y mas que todo tengo dudas, controlo algo de php pero las dudas son con respecto a los parámetro que hay que enviar.
Estuve revisando el apartado para generar el boton encriptado y genere los certificados lo que no encuentro dentro de paypal es Perfil->Configuración de pago codificado (yo tengo una cuenta paypal de estas gratis, es por eso que no funciona??).
Un saludo
Hola Eduardo, no sabría decirte si por qué no te sale, yo creo que vale para todas las cuentas.
Te adjunto captura de la opción por si la hubieses pasado por alto:
He estado peleándome con la clase Class.PayPalEWP.php y siempre me daba el mismo error “La dirección de correo electrónico para la empresa no se incluye en el objeto binario”. Revisando la clase vemos como para crear ficheros se usa la función tempnam de php pasándole como parámetro u prefijo. ESE ES EL PROBLEMA. Como nos indican en la documentación http://us3.php.net/manual/en/function.tempnam.php cuando estamos en Windows solo usará los tres primeros caracteres del prefijo, por lo que en dicha clase no se generarán los siguientes archivos necesarios. LA SOLUCIÓN: acortamos el prefijo a dos caracteres por ejemplo
$clearFile = tempnam($this->tempFileDirectory,'w_');
$signedFile = preg_replace('/w/', 'signed', $clearFile);
$encryptedFile = preg_replace('/w/', 'encrypted', $clearFile);
Felicidades por este gran manual
Muy interesante el artículo, muchas gracias por la explicación. Estaba buscando algo así. Aunque he visto algún error de sintaxis la explicación está muy clara y el código también sirve.
Un saludo y gracias!
Hola Roberto,
Gracias por tu comentario. No dudes en indicarme a qué errores de sintaxis te refieres para intentar solucionarlos.
Osus
Hallo
Estoy intentando utilizar el ejemplo, pero me sale error
Error detectado – No podemos descodificar el Id. de certificado
Sabe alguien 100% seguro si este error está de la parte de config de PayPal o de la parte del formulario.
Puedo compartir el código si alguien quiere
Muchas gracias de antemano
Xavier
Hola, se supone que la clase Class.PayPalEWP.php la deberia tener instalada la empresa donde yo tengo alojada la web? no?
como puedo comprobar si la tiene instalada? digo.. por si tengo que pedirle que la instale.
Met vriendelijke groeten
Hola Mauricio,
La clase la pones tú, es parte de tu aplicación.
Buenas, vale.. vale.. ahora entendí.
La definición de la clase esta en el link.
no lo habia visto.
Pensaba que era una clase definida o que habia que instalar.
Muchas gracias por todo….
Ahora cuando empiece a desarrollar los botones…. me surgiran mil dudas.
OSUS, me puedes enviar tu mail por si me surgen mas preguntas?
Buenas Mauricio,
Mejor deja tus dudas en los comentarios así quedan disponibles para cualquiera que tenga dudas.
Igualmente lee todos los comentarios anteriores por si ya estuviera resuelta.
Hola, mi pregunta es de novato, bueno, de supernovato.
Entiendo bastante bien el código por que me difiendo con el php, vale. Pero ahora es cuando me pegaréis: ¿y todo esto donde lo pongo?
Bueno el botón (¿un botón por producto?) vale, lo coloco en la página donde tenga el producto o servicio a vender, ¿pero los otros dos scripts?
Entiendo que el 2º irá a la web que le indiquemos a PayPal al configurar ¿qué? ¿Y el 1º?
¿Este código se puede usar tal cual para probar en el SandBox?
Como veréis ando más bien perdido
Dank
Hallo. Gracias por el tutorial.
Necesito un fa, he realizado toda la configuración en la cuenta original de paypal, pero necesito hacer pruebas hasta el final para verificar todo el proceso de compra.
Como puedo realizar este mismo procedimiento pero en la cuenta ficticia creada en sandbox??
Buenas… alguien me puede orientar… en mi pagina web necesito ademas del metodo de pago por paypal… necesito por tarjeta de credito. (Mastercard, Visa y American Express). pero lo que busco es que el cliente ingrese el tipo y numero de tarjeta en mi pagina web y que al presionar comprar ahi no se como… se haga el pago. Quiero evitar una pagina intermedia de alguna empresa (estilo paypal) para ingresar los datos del cliente. quiero que los haga directamente desde mi web.
Met vriendelijke groeten
Hello,
Antes de nada, darte la enhorabuena por el articulo porque estaba buscando por la web de paypal y muchas otras y se me hacia todo muy confuso. Ademas, estoy implantando un sistema de anuncios de pago y entonces todo este tutorial me vino de gran ayuda ya que el obetivo final es muy similar al tuyo. La principal duda me surgio con la creacion del certificado. Si le ayuda a alguien, para generarlos en windows, solamente es instalar el openssl para windows con una libreria que pide si no la tienes instalada en el pc. Despues, te vas a la carpeta de instalacion y entras en la subcarpeta bin y pinchas 2 veces en openssl. Seguido, escribes los comendos citados arriba y listo.
Ahora, me encuentro con el ultimo dilema. Mi web es multiidioma y estoy usando un sistema de subdominios para enseñar el idioma adecuado en pantalla. Entonces, no me valdria el sistema de la url de retroceso automatico porque la url final puede variar en funccion de si antes de pagar estabas en castellano o en otro idioma. La solucion que estoy barajando seria pasar como parametro al paypal la url en caso de exito y la otra en caso de fracaso y ahi pongo las que quiero en funccion del idioma (en cancel_return y en return) y anular en la configuracion del pago el retroceso automatico. Que opinas.
Met vriendelijke groeten
Hello,
No se si no faltaria por comprobar que $payment_status=='Completed' antes de dar los servicios.
Met vriendelijke groeten
El tutorial me parece genial, pero tengo un problemilla. Hago todos los pasos, genero con openSSl los certificados, subo el público, me bajo el de paypal… pero luego no encripta. Siempre me sale algo así:
He probado a poner los .pem con rutas relativas, absolutas, en la misma carpeta… y no consigo que me encripte el botón. ¿Alguien sabe qué puede ser? Gracias de antemano por vuestra ayuda.
Hola a todos,
lo primero gracias por el tutorial, y lo segundo, tengo un problema, me genera el botón codificado pero cuando pulso el entorno de pruebas me dice lo siguiente:
“Hay un problema con la verificación de la firma del pedido seguro. Favor de comunicarse con el vendedor.”
¿A alguien le ha pasado? Estoy desesperada……..
¡¡GRACIAS!!
Hola Osus mil gracias por este tutorial, estaba probandolo pero al momento de mandarme al formulario para pagar me da el sigueinte error:
Ha escrito caracteres no admitidos en este cuadro. Los tipos de caracteres actualmente disponibles son: europeo, chino, coreano, japonés y tailandés. Inténtelo de nuevo.
ya revise que no aya caracteres raros por todos lados como acentos y esas cosas pero me sigue dando el mismo error, saves por que???
Hola, no tengo claro cuando debo ejecutar el archivo cuya linea 2 es $req = 'cmd=_notify-validate';. Este archivo ¿es el que debo poner en la url de configuración de IPN?
Y, ¿cuando ejecuto el archivo cuya linea 2 es $tx_token = $_GET['tx'];?
Dank
Impecable crack, a la primera y todo perfecto,aun a dia de hoy sigue siewndo útil este post, muchas gracias!!!!!!!!!
Hallo
Muy buen articulo, es justo lo que estaba buscando.
Tengo un problema y es que no logro hallar la clase PayPalEWP para descargarla….
Se que soy un estupido, pero no la encuentro en el sitio de paypal ¿me puedes dar una mano?
Muchas gracias
Hola de nuevo,
perdon, no habia visto el link que ponias…. dije que era un estupido
Saludos.
Muchas gracias por el trabajo que te has pegado al recopilar esta información.
Me he leido todos los post así como el artículo varias veces pero no termino de hacer funcionar el script.
He creado las claves, las he subido al servidor, he cambiado el código del script, eliminando los caracteres que aparecen y poniendo cinco guiones (-), he quitado los saltos de linea, todo lo que se me ha ocurrido y continua sin funcionar. Me sigue apareciendo el mensaje de que no se puede descodificar el id. ¿Alguien lo ha resuelto? ¿Además de las soluciones que se plantean en las respuestas alguien ha probado otra cosa?
No se si la respuesta que devuelve mi script es la correcta o no. Al hacer pruebas con el generador de botones de paypal muestra un codigo de unos 20 caracteres pero a mi me sale una texto coficado enorme. No se si estoy haciendo alguna cosa mal.
Gracias por adelantado si alguno puede darme una respuesta. Si lo considerais necesario puedo postear el código
Un saludo
Gracias por el articulo después de corregir lo de los guiones y la solución que daba (hace 2 años xD) “agu_zahara”, lo del error de la función “tempnam”, al fín he conseguido hacer el pago en el entorno de pruebas sandbox espero que funcione igual cuando esté en el entorno real.
Muchas gracias a todos y en especial al creador del artículo.
Un saludoooo
crackman y Osus oa cualquiera que este interesado en un donativo:
Soy Rafa de España Castellón, intento hacer una plataforma de pagos utilizando PayPal, llevo mucho tiempo con este trabajo y necesito vuestra ayuda, me gustaría que me facilitaras el código para implementarlo en mi sitio Web, así como una pequeña explicación o tutorial de este, si consigo hacer funcionar la plataforma de pagos en mi Web no me importa dar un donativo a quien se preste a ayudarme de una forma útil.
Un saludo Rafa.
Mi correo es cosm2occelli@hotmail.com
Hola Rafa,
De code is zoals aangegeven in het artikel, er is geen truc, ik denk dat alles is goed uitgelegd.
Wat is je probleem precies te implementeren?
Zeer goede uitleg, dank je ... ik een pakket om te werken met paypal handleidingen van php dat misschien zij dienen te delen.
http://depositfiles.com/files/mkzybtu7p
Hallo Ik waardeer deze prachtige handleiding moet nog dingen gevangen Barias waarheid dat echt helpt of paypal account lol weet te veranderen, ik hoop snel een linck zetten zodat ze het programma kunnen downloaden voor iedereen die lijdt en Chequen met programma's
@ Chip1,
Bedankt voor je reactie. Uiteraard het artikel is bijna vier jaar, is het normaal dat er dingen zijn die niet werken
een vraag wat er gebeurt, is dat bij het ontvangen van gegevens van paypal (ik gebruik zandbak) Ik denk dat de blanco pagina doet niets als ik krijg geen goed deze gegevens
$ Fp = fsockopen ("www.sandbox.paypal.com", 80, $ errno, $ errstr, 30);
$ IsError = 0;
dat geeft mij geen enkele fout of iets gewoon niets verschijnt ajjaja
Hello,
Ik heb een probleem, weet niet PHP (ik ken de taal C) en de noodzaak om deze scripts te gebruiken. Ik zie dat je nummers zet en niet <? Php x examen aan het begin van de code, etc ... Ik bedoel er is geen script om later te downloaden en te manipuleren. Weet iemand waar er een aantal van deze en het is voor php5?.
Groeten.
chip1 gebruik deze
$ Fp = fsockopen ('ssl :/ /' $ Config ['imprimoya'] ['ssl_url_paypal'], 443, $ errno, $ errstr, 30.);
Hallo, voor de gebruikers van de zandbak, zou IPN en Meldingen zowel de code te wijzigen naar het volgende:
$ Fp = fsockopen ('ssl :/ / www.sandbox.paypal.com', 443, $ errno, $ errstr, 30);
een vraag als ik kan meerdere producten te krijgen binnen de reeks, maar in een dynamische en niet toe te staan voor destro zet een reeks
Gewoon wil u bedanken voor het schrijven van dit fantastische tutorial. Ik heb veel tijd besteed aan het proberen om de dynamiek van PayPal-betalingen te bestuderen, en zoals je zegt, is vrij robuust, maar moeilijk te begrijpen en de onderwerpen zijn zeer verward. Met je tutorial heb ik gemaakt in slechts enkele minuten, misschien iets meer dan een uur, veel meer dan ik heb gedaan op zoek naar informatie en het lezen van andere tutorials. Heel erg bedankt voor dit.
OSUs, ik heb een probleem zeker echte beginner, maar kan niet vinden hoe dit te doen, ik ben met certificaten, kan niet vinden hoe dit te doen, waar je de opdrachten uitvoeren.
Volgens mijn begrip zou moeten worden op mijn server, maar kan niet vinden waar ik schreef aan mijn dealer en een certificaat te verkopen, maar ik weet niet eens zeker of ik zou dienen ...
Kunt u mij leiden hoe kan ik dit X.509 publieke certificaat en sleutel?? alstublieft ....
@ Isabel,
Je moet hebben openssl geïnstalleerd op elke machine waarop je toegang hebt. Als je SSH toegang tot de server hebt, kun je het daar rechtstreeks doen, als je het niet nodig hebt om het te installeren op uw ontwikkelmachine.
Thanks OSUs,
Als ik toegang tot mijn site op de server, en gaan ervan uit dat ik de oppenssl "enabled", zal ik beoordelen waar ik kan zien en / of uitvoeren van de commando's om verder te gaan ..
Ik waardeer uw hulp, en als ik het doe zal ik delen ...
Goedemorgen
Alles werkt perfect dank u allen.
VRAAG.
1.In het voorbeeld heb ik het totaal. en kan weergeven post per post?
Optie voor credit card betaling 2.Hoe configureren zonder dat de gebruiker hoeft paypal account
THANKS
Oplossen van mijn probleem laat ik aan dezelfde twijfel hebben.
$ PaypalParam = array (
'Cmd' => '_cart'
'Upload' => '1 ',
'Business' => 'neacss@gmail.com'
'Currency_code' => 'USD',
'Lc' => 'IN',
);
$ I = 1;
while ($ row = mysql_fetch_array ($ DB-> rsQuery))
{
$ Item = $ row ['ID'];
$ Naam = $ row ['Naam'];
$ ValorPago = $ row ['betaling'];
$ ItemName = 'item_name_' $ I.;
$ ItemNumber = 'item_number_' $ I.;
$ ItemAmount = 'Amount_' $ I.;
$ PaypalParam [$ ItemName] = $ Naam;
$ PaypalParam [$ ItemNumber] = $ Item;
$ PaypalParam [$ ItemAmount] = $ valorPago;
$ I + +;
}
Hello OSUs,
Ik probeer om de code te implementeren en ik krijg de volgende foutmelding:
Het e-mailadres van het bedrijf is niet opgenomen in de blob. Contact PayPal handel.
Je weet wat dit kan verkeerd doen?
Dank je wel!
Ik kon mijn probleem op te lossen. De oplossing gaf agu_zahara, had niet gelezen je reactie.
Dank je wel!
Hello OSUs,
Ik kon het niet afmaken uitvoering paypal betalen ..
Markeer ik de fout "kan niet decoderen het certificaat ID.
"Ik heb de hele blog gelezen en gecorrigeerd alles wat ze zeggen (ongeveer 5 streepjes, aanhalingstekens en al dat) en ik markeert nog steeds dezelfde fout ...
Weet je iets anders dat zou kunnen zijn?
Ik waardeer uw hulp ..
He solucionado mi problema, y no creo de verdad lo que era, lo dejo por si alguien tiene el mismo problema…
Solo quite los \n en la linea:
encryptButton($paypalParam).”\n—–END PKCS7—–\”/>
además de corregir comillas y los guiones medios…. la linea me quedo finalmente asi:
encryptButton($paypalParam).'—–END PKCS7—–”/>
y listo, espero que a alguien le sirva…
Saludos!!
Hola, el resultado de los files cambia con cada refresh ahunque tenga la misma informacion. esto es normal? aqui tengo un MD5 del resultado dentro del file. lo saque usando:
var_dump(md5(file_get_contents('file uno path')));echo”;
var_dump(md5(file_get_contents('file dos path')));echo”;
var_dump(md5(file_get_contents('file tres path')));echo”;
nota como cambian los files 2 y 3
string(32) “649c5aa3aceb5e7005f98d93820322e8″
string(32) “a853644bfc16ddeca152c94e6dc67e1f”
string(32) “713ebb09f44f37d1b39f4ffbb0baf908″
despues del refresh me da
string(32) “649c5aa3aceb5e7005f98d93820322e8″
string(32) “b8e7edd53e9c4de2f1cac761286d423d”
string(32) “307e6885382c2d9231f1e82850d357e0″
Nota: el nombre del file no cambia -para probar estoy usando el mismo nombre. Dime porfavor. Esto es Normal?
Dank
(PS. tambien el string del boton cambia)
Deberia de ser lo mismo, pues esta hutilizando lo mismo cada vez, o no?
Laat een reactie achter