Array
(
    [0] => Array
        (
            [nombre] => Carlos
            [texto] => Hola buenas
yo estoy haciendo una pagina de proyecto y queria ponerle un paypal tal y como pones es increiblemente facil.
Mi duda (quizás problema), es si en la página de éxito:
<input type='hidden' name='return' value='http://mi_pagina/exito.html'>
Hay alguna manera de recuperar los datos que le había enviado anteriormente a Paypal o no?
Gracias [fecha] => 17 de junio de 2010 - 20:29 ) [1] => Array ( [nombre] => Imaginanet [texto] => Hola Carlos, en tu configuración de cuenta de PayPal puedes configurar a qué página debe responder PayPal si ha tenido éxito una venta.
Entre las variables que te envía PayPal a esa página que le indicas, está la variable item_number que tú le enviaste. Con esa variable te debería ser suficiente para conocer por ejemplo el código de compra y saber exactamente qué compra se ha finalizado con éxito para poder trabajar contra una base de datos. [fecha] => 18 de junio de 2010 - 12:19 ) [2] => Array ( [nombre] => Carlos [texto] => Muchas gracias! Eres un crack!
Me ha ayudado mucho, cuando consiga implementar esto, volveré por aquí a comentar la experiencia!!
Un abrazo [fecha] => 18 de junio de 2010 - 13:45 ) [3] => Array ( [nombre] => Carlos [texto] => Hola de nuevo
tengo un grave problema, te explico, estoy haciendo una web de reservas, entonces lo que hago es hacer una "Pre-Reserva" y entonces voy a pagar con el paypal (el formulario de arriba), paga bien pero claro me voy cuenta que al pagar el usuario va a la página de éxito solo si pincha en un enlace, es decir no va siempre. Entonces no tengo ni idea de como hacer para poder modificar en la base de datos que se ha pagado esa reserva. No se como hacer. Podrías darme alguna idea y/o ayuda por favor,
Muchísimas gracias de nuevo! [fecha] => 19 de junio de 2010 - 18:55 ) [4] => Array ( [nombre] => Imaginanet [texto] => Hola de nuevo Carlos, en mi primer comentario te dije que PayPal te avisaba de una compra exitosa y no es mediante el sistema de pinchar en el enlace de éxito tras pagar.
El mejor método para hacerlo es que en la configuración de la cuenta de PayPal en la que se paga, configures el Instant Payment Notification (o Notificación inmediata de Pago) a una dirección que tu le digas y te devuelve unos valores entre ellos el item_number.
Por ejemplo, tu le dices que tu dirección de IPN es www.tudominiopruebas.es/ipn-paypal.php, PayPal sólo llamará a ese archivo si tuviera éxito la venta y manda varias variables POST, entre ellas la variable POST item_number.
Con esa variable item_number puedes consolidar en base de datos una reserva que era una propuesta a una reserva en firme.
Puedes encontrar más información sobre IPN en el siguiente enlace https://www.paypal.com/ipn [fecha] => 21 de junio de 2010 - 07:59 ) [5] => Array ( [nombre] => Carlos [texto] => Hola de nuevo y gracias, creo que el problema es que mi pagina es en localhost!!
¿que puedo hacer? [fecha] => 21 de junio de 2010 - 11:41 ) [6] => Array ( [nombre] => Carlos [texto] => Estoy probando con express checkout y me hace lo del token, me muestra esto en el navegador:
TOKEN=EC%2d4HS07007JP073753M&TIMESTAMP=2010%2d06%2d21T09%3a45%3a00Z&CORRELATIONID=974f0ac98c912&ACK=Success&VERSION=52%2e0&BUILD=1364064
pero no vuelve al return [fecha] => 21 de junio de 2010 - 11:44 ) [7] => Array ( [nombre] => Imaginanet [texto] => Deberás o contratar un servicio de hosting o abrir los puertos de tu pc para que PayPal pueda acceder al archivo de respuesta IPN. [fecha] => 21 de junio de 2010 - 11:59 ) [8] => Array ( [nombre] => Harley [texto] => Hola que tal ojala me puedan echar una mano estoy implementando 2 tipos de pagos el spress chekout u el pago estandar en cuanto al 2do hay alguna forma de optener el codigo de transacipon id
antenada muchas gracias y saludos [fecha] => 7 de septiembre de 2010 - 03:41 ) [9] => Array ( [nombre] => Ricardo Rodriguez [texto] => Hola tengo una pagina web en asp.net c#, mi problema es el siguiente: el cliente seleccionará que tipo de anuncio quiere( 3 posibles) depende el que elija es un cargo diferente, cada anuncio tendrá un id de anuncio, cuando pague quiero mandar una variable(id_anuncio) y que me la regrese a mi pagina de pago exitoso para yo recibirla y activar el anuncio, todo mi codigo es en aspx c#. Como puedo hacer esto?
Gracias y saludos [fecha] => 3 de noviembre de 2010 - 04:15 ) [10] => Array ( [nombre] => Imaginanet [texto] => Hola Ricardo, el lenguaje de programación en este caso no importa para hacerlo. Puedes utilizar la variable del formulario que envías a PayPal item_number poniendo algo así como TIPOANUNCIO1-IDANUNCIO2222, cuando PayPal te devuelve la respuesta avisándote de que el pago se realizó correctamente, te devuelve esa variable tal y como la enviaste por lo que puedes procesar de esta manera que tipo de anuncio y qué ID ha pagado el usuario.
Lo más importante en este caso, es que en tu cuenta de PayPal tengas configurado el servicio IPN, Instant Payment Notification, donde le dices a PayPal que tras un pago correcto a tu cuenta, avise a una determinada dirección web (por ejemplo http://www.tudominiodepruebas.es/pago-paypal.aspx) y envía esas variables mediante POST.
En próximas entradas del blog tenemos planeado como explicar cómo son las confirmaciones de PayPal con su servicio IPN. [fecha] => 3 de noviembre de 2010 - 08:43 ) [11] => Array ( [nombre] => jessica [texto] => yo estoy haciendo una pagina en html y voy a vender un producto pero necesito saber como hacer el html con paypal, porfa si alguien me puede ayudar se los agradeceria mucho. [fecha] => 2 de diciembre de 2010 - 04:30 ) [12] => Array ( [nombre] => Jose [texto] => Hola, gracias por el código,
pero donde pone mi_cuenta_sandbox
¿alguien sabe que debo poner?
lo digo porque mi cuenta sandbox es un email,
¿seria por ejemplo?
jose@gmail.com@mipagina.com
Gracias [fecha] => 21 de diciembre de 2010 - 09:16 ) [13] => Array ( [nombre] => Imaginanet [texto] => Hola Jos&eacute;, lo primero que debes hacer es crear una cuenta de PayPal Sandbox y el nombre de usuario de esa cuenta es un correo electr&oacute;nico (por ejemplo usuario@mipagina.com). Ese correo electr&oacute;nico es el valor de mi_cuenta_sandbox. [fecha] => 21 de diciembre de 2010 - 10:07 ) [14] => Array ( [nombre] => Guillermo [texto] => Hola como estan,
Pregunta, cuanto cobra paypal por el servicio en tu pagina, si es mensual o anual.
muchas gracias [fecha] => 2 de enero de 2011 - 20:45 ) [15] => Array ( [nombre] => Imaginanet [texto] => Hola Guillermo. PayPal cobra una comisión en torno al 3.5% por cada pago que hagan en tu cuenta. [fecha] => 7 de enero de 2011 - 09:28 ) [16] => Array ( [nombre] => Ruben [texto] => He entrado a PayPal Sandbox y veo que me da la opcion para crear un boton con varios importes fijos. Sera posible que me de la posibilidad para que el usuario pueda poner un importe y que ralice el pago por paypal? Gracias [fecha] => 27 de julio de 2011 - 04:34 ) [17] => Array ( [nombre] => Imaginanet [texto] => Hola Rubén, con este formulario tu llamas a PayPal indicándole el importe en el parámetro amount, por lo que si creas un HTML con un input text donde escribir el importe que deseas pagar desde tu web, lo tienes hecho. [fecha] => 27 de julio de 2011 - 12:17 ) [18] => Array ( [nombre] => FLAVIO [texto] => hola Como estas? Te cuento, me estan armando una web y quiero poner un boton de paypal. Yo no soy programador. la persona que esta por hacerlo me pide la clave de paypal supongo para hacer lo que vos nos enseñas en este informe. Necesito saber si una vez que el programador termine, yo puedo cambiar la clave del paypal o debo dejar la misma siempre, me da un poco de miedo . Graci [fecha] => 17 de enero de 2012 - 18:59 ) [19] => Array ( [nombre] => Imaginanet - Carlos [texto] => Hola Flavio, es totalmente normal que necesite la contraseña de tu cuenta para terminar de configurar las compras.
Una vez que lo termine y compruebes que tú puedas hacer pagos reales pequeños, inmediatamente después vas al panel de control de PayPal y cambias la contraseña a una segura.
Saludos. [fecha] => 18 de enero de 2012 - 07:53 ) )

Miércoles, 17 de febrero de 2010

Cómo utilizar PayPal para realizar compras en tu web

Categoría: Comercio electrónico

Vamos a explicar cómo llamar al API de PayPal para realizar pagos en tu página web. En primer lugar deberemos crear una cuenta como desarrollador de PayPal Sandbox (https://developer.paypal.com/) que usaremos para verificar que lo hacemos de manera correcta antes de hacerlo funcionar en la tienda virtual de nuestra página web.

Tras hacerla y meternos en nuestra cuenta de desarrollador, deberemos seleccionar la opción Create a preconfigured buyer or seller account donde rellenaremos con nuestros datos el formulario teniendo en cuenta que debe ser una cuenta de vendedor.

Una vez creada, entraremos a nuestro listado de cuentas de PayPal Sandbox. Estas cuentas no son cuentas reales de PayPal y sólo funcionarán dentro de su Sandbox. Para entrar en ella pulsaremos el botón de Enter Sandbox Test Site y podremos introducir el usuario y contraseña para esta cuenta de prueba. Una vez dentro podemos observar que es como si fuera una cuenta de PayPal pero los pagos que se hagan a ella no serán reales.

Ejemplo de pago con el API de PayPal

Para realizar el pago utilizaremos un documento HTML en el que le pasaremos los parámetros que PayPal necesita (importe, código de venta, etc.) y otros opcionales como los datos del usuario que compra para que le aparezcan rellenados en el formulario de pago. Un ejemplo sería el siguiente:

<html>

<head>

<title>Ejemplo de pago mediante la API de PayPal</title>

</head>

<body>

<form name='formTpv' method='post' action='https://www.sandbox.paypal.com/cgi-bin/webscr'>

	<input type='hidden' name='cmd' value='_xclick'>
	<input type='hidden' name='business' value='mi_cuenta_sandbox@mi_pagina.com'>
	<input type='hidden' name='item_name' value='Nueva compra en mi web'>
	<input type='hidden' name='item_number' value='VENTA-X2561'>
	<input type='hidden' name='amount' value='10.15'>
	<input type='hidden' name='page_style' value='primary'>
	<input type='hidden' name='no_shipping' value='1'>
	<input type='hidden' name='return' value='http://mi_pagina/exito.html'>
	<input type='hidden' name='rm' value='2'>
	<input type='hidden' name='cancel_return' value='http://mi_pagina/cancelada.html'>
	<input type='hidden' name='no_note' value='1'>
	<input type='hidden' name='currency_code' value='EUR'>
	<input type='hidden' name='cn' value='PP-BuyNowBF'>
	<input type='hidden' name='custom' value=''>
	<input type='hidden' name='first_name' value='NOMBRE'>
	<input type='hidden' name='last_name' value='APELLIDOS'>
	<input type='hidden' name='address1' value='DIRECCIÓN'>
	<input type='hidden' name='city' value='POBLACIÓN'>
	<input type='hidden' name='zip' value='CÓDIGO POSTAL'>
	<input type='hidden' name='night_phone_a' value=''>
	<input type='hidden' name='night_phone_b' value='TELÉFONO'>
	<input type='hidden' name='night_phone_c' value=''>
	<input type='hidden' name='lc' value='es'>
	<input type='hidden' name='country' value='ES'>
</form>
<script type='text/javascript'>
	document.formTpv.submit();
</script>

</body>

</html>

La dirección de llamada del formulario de pruebas es https://www.sandbox.paypal.com/cgi-bin/webscr pero al pasar a ventas reales deberemos indicar https://www.paypal.com/cgi-bin/webscr

Como podemos ver, existente multitud de parámetros en el formulario que son fáciles de ver cuales son su propósito (nombre, dirección, etc.). A continuación detallamos los más importantes o que podemos tener duda de qué son realmente:

  • business: indicaremos la cuenta de PayPal asociada al vendedor. Mientras estemos de pruebas indicaremos la cuenta de pruebas del Sandbox, pero para ventas reales deberemos indicar nuestra cuenta de vendedor.
  • item_name: título que aparecerá en la pantalla de pago.
  • item_number: código de la venta, actuará como identificador único de cada venta.
  • amount: importe a pagar, donde si hay decimales no podrán indicarse con una coma ni con más de dos números.
  • return: página de vuelta a nuestra web indicando éxito en el pago.
  • cancel_return: página de vuelta a nuestra web indicando que no se realizó el pago por que el usuario lo canceló.
  • currency_code: código de la moneda usada en el pago. Para el caso del euro es EUR.
  • lc: idioma de la pantalla de pago.
  • country: código ISO del país del cliente.

Artículos relacionados

20 comentarios:

Hola buenas
yo estoy haciendo una pagina de proyecto y queria ponerle un paypal tal y como pones es increiblemente facil.
Mi duda (quizás problema), es si en la página de éxito:
<input type='hidden' name='return' value='http://mi_pagina/exito.html'>
Hay alguna manera de recuperar los datos que le había enviado anteriormente a Paypal o no?
Gracias
Comentario de Carlos - 17 de junio de 2010 - 20:29
Hola Carlos, en tu configuración de cuenta de PayPal puedes configurar a qué página debe responder PayPal si ha tenido éxito una venta.
Entre las variables que te envía PayPal a esa página que le indicas, está la variable item_number que tú le enviaste. Con esa variable te debería ser suficiente para conocer por ejemplo el código de compra y saber exactamente qué compra se ha finalizado con éxito para poder trabajar contra una base de datos.
Comentario de Imaginanet - 18 de junio de 2010 - 12:19
Muchas gracias! Eres un crack!
Me ha ayudado mucho, cuando consiga implementar esto, volveré por aquí a comentar la experiencia!!
Un abrazo
Comentario de Carlos - 18 de junio de 2010 - 13:45
Hola de nuevo
tengo un grave problema, te explico, estoy haciendo una web de reservas, entonces lo que hago es hacer una "Pre-Reserva" y entonces voy a pagar con el paypal (el formulario de arriba), paga bien pero claro me voy cuenta que al pagar el usuario va a la página de éxito solo si pincha en un enlace, es decir no va siempre. Entonces no tengo ni idea de como hacer para poder modificar en la base de datos que se ha pagado esa reserva. No se como hacer. Podrías darme alguna idea y/o ayuda por favor,
Muchísimas gracias de nuevo!
Comentario de Carlos - 19 de junio de 2010 - 18:55
Hola de nuevo Carlos, en mi primer comentario te dije que PayPal te avisaba de una compra exitosa y no es mediante el sistema de pinchar en el enlace de éxito tras pagar.
El mejor método para hacerlo es que en la configuración de la cuenta de PayPal en la que se paga, configures el Instant Payment Notification (o Notificación inmediata de Pago) a una dirección que tu le digas y te devuelve unos valores entre ellos el item_number.
Por ejemplo, tu le dices que tu dirección de IPN es www.tudominiopruebas.es/ipn-paypal.php, PayPal sólo llamará a ese archivo si tuviera éxito la venta y manda varias variables POST, entre ellas la variable POST item_number.
Con esa variable item_number puedes consolidar en base de datos una reserva que era una propuesta a una reserva en firme.
Puedes encontrar más información sobre IPN en el siguiente enlace https://www.paypal.com/ipn
Comentario de Imaginanet - 21 de junio de 2010 - 07:59
Hola de nuevo y gracias, creo que el problema es que mi pagina es en localhost!!
¿que puedo hacer?
Comentario de Carlos - 21 de junio de 2010 - 11:41
Estoy probando con express checkout y me hace lo del token, me muestra esto en el navegador:
TOKEN=EC%2d4HS07007JP073753M&TIMESTAMP=2010%2d06%2d21T09%3a45%3a00Z&CORRELATIONID=974f0ac98c912&ACK=Success&VERSION=52%2e0&BUILD=1364064
pero no vuelve al return
Comentario de Carlos - 21 de junio de 2010 - 11:44
Deberás o contratar un servicio de hosting o abrir los puertos de tu pc para que PayPal pueda acceder al archivo de respuesta IPN.
Comentario de Imaginanet - 21 de junio de 2010 - 11:59
Hola que tal ojala me puedan echar una mano estoy implementando 2 tipos de pagos el spress chekout u el pago estandar en cuanto al 2do hay alguna forma de optener el codigo de transacipon id
antenada muchas gracias y saludos
Comentario de Harley - 7 de septiembre de 2010 - 03:41
Hola tengo una pagina web en asp.net c#, mi problema es el siguiente: el cliente seleccionará que tipo de anuncio quiere( 3 posibles) depende el que elija es un cargo diferente, cada anuncio tendrá un id de anuncio, cuando pague quiero mandar una variable(id_anuncio) y que me la regrese a mi pagina de pago exitoso para yo recibirla y activar el anuncio, todo mi codigo es en aspx c#. Como puedo hacer esto?
Gracias y saludos
Comentario de Ricardo Rodriguez - 3 de noviembre de 2010 - 04:15
Hola Ricardo, el lenguaje de programación en este caso no importa para hacerlo. Puedes utilizar la variable del formulario que envías a PayPal item_number poniendo algo así como TIPOANUNCIO1-IDANUNCIO2222, cuando PayPal te devuelve la respuesta avisándote de que el pago se realizó correctamente, te devuelve esa variable tal y como la enviaste por lo que puedes procesar de esta manera que tipo de anuncio y qué ID ha pagado el usuario.
Lo más importante en este caso, es que en tu cuenta de PayPal tengas configurado el servicio IPN, Instant Payment Notification, donde le dices a PayPal que tras un pago correcto a tu cuenta, avise a una determinada dirección web (por ejemplo http://www.tudominiodepruebas.es/pago-paypal.aspx) y envía esas variables mediante POST.
En próximas entradas del blog tenemos planeado como explicar cómo son las confirmaciones de PayPal con su servicio IPN.
Comentario de Imaginanet - 3 de noviembre de 2010 - 08:43
yo estoy haciendo una pagina en html y voy a vender un producto pero necesito saber como hacer el html con paypal, porfa si alguien me puede ayudar se los agradeceria mucho.
Comentario de jessica - 2 de diciembre de 2010 - 04:30
Hola, gracias por el código,
pero donde pone mi_cuenta_sandbox
¿alguien sabe que debo poner?
lo digo porque mi cuenta sandbox es un email,
¿seria por ejemplo?
jose@gmail.com@mipagina.com
Gracias
Comentario de Jose - 21 de diciembre de 2010 - 09:16
Hola Jos&eacute;, lo primero que debes hacer es crear una cuenta de PayPal Sandbox y el nombre de usuario de esa cuenta es un correo electr&oacute;nico (por ejemplo usuario@mipagina.com). Ese correo electr&oacute;nico es el valor de mi_cuenta_sandbox.
Comentario de Imaginanet - 21 de diciembre de 2010 - 10:07
Hola como estan,
Pregunta, cuanto cobra paypal por el servicio en tu pagina, si es mensual o anual.
muchas gracias
Comentario de Guillermo - 2 de enero de 2011 - 20:45
Hola Guillermo. PayPal cobra una comisión en torno al 3.5% por cada pago que hagan en tu cuenta.
Comentario de Imaginanet - 7 de enero de 2011 - 09:28
He entrado a PayPal Sandbox y veo que me da la opcion para crear un boton con varios importes fijos. Sera posible que me de la posibilidad para que el usuario pueda poner un importe y que ralice el pago por paypal? Gracias
Comentario de Ruben - 27 de julio de 2011 - 04:34
Hola Rubén, con este formulario tu llamas a PayPal indicándole el importe en el parámetro amount, por lo que si creas un HTML con un input text donde escribir el importe que deseas pagar desde tu web, lo tienes hecho.
Comentario de Imaginanet - 27 de julio de 2011 - 12:17
hola Como estas? Te cuento, me estan armando una web y quiero poner un boton de paypal. Yo no soy programador. la persona que esta por hacerlo me pide la clave de paypal supongo para hacer lo que vos nos enseñas en este informe. Necesito saber si una vez que el programador termine, yo puedo cambiar la clave del paypal o debo dejar la misma siempre, me da un poco de miedo . Graci
Comentario de FLAVIO - 17 de enero de 2012 - 18:59
Hola Flavio, es totalmente normal que necesite la contraseña de tu cuenta para terminar de configurar las compras.
Una vez que lo termine y compruebes que tú puedas hacer pagos reales pequeños, inmediatamente después vas al panel de control de PayPal y cambias la contraseña a una segura.
Saludos.
Comentario de Imaginanet - Carlos - 18 de enero de 2012 - 07:53

Deja tu comentario:

Enviar