Saturday, July 9, 2011

Cómo utilizar el API de PayPal para realizar compras en tu web

Llevo dias buscando una explicacion como esta, en ingles no la encuentro, asi que posteo la informacion de http://www.imaginanet.com/blog/como-utilizar-paypal-para-realizar-compras-en-tu-web.html
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



Wednesday, June 22, 2011

Como instalar Symfony 1.4 en windows

1. Instalar IIS

2.Instalar XAMP para windows
Versión para Windows 98, NT, 2000, XP y Vista. Esta versión contiene: Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System para Win32 y NetWare Systems v3.32, JpGraph, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, y WEB-DAV + mod_auth_mysql.

3. Bajar el zip de symfony 1.4 

4. crear carpetas c:/dev/sfproject/lib/vendor en tu ordenador.

5. hacer unzip a esta ultima carpeta /vendor

6. Renombrar la carpeta symfony 1.4 a symfony

7. anadir el path C;/xanmp/php a los "environmental variables" de tu ordenador

8. si tienes windows 7 anadir el boton run al menu de start http://www.sevenforums.com/tutorials/559-start-menu-add-run-button.html

9.  Crear un proyecto : Abrir la pantalla run , escribir cmd para tener una ventana, y escribir c:\> php lib\vendor\symfony\data\bin\symfony generate:project PROJECT_NAME (con el nombre que le quieres dar a tu proyecto)

10. verificar que esta bien installado c:\> php lib\vendor\symfony\data\bin\symfony -V

11. Hacer una base de datos con phpmyadmin

12. configurar la base de datos C:/ php symfony configure:database "mysql:host=localhost;dbname=dbname" root mYsEcret

13. hacer una aplicacion php symfony generate:app frontend

14. darle derechos completos a las carpetas cache/  y log/

15  Abrir el editor que uses como administrador si estas en windows 7 (boton derecho antes de abrir el editor) y modificar el archivo xamp/apache/conf/httpd.conf anadiendo esto al final

# Be sure to only have this line once in your configuration
NameVirtualHost 127.0.0.1:8080
# This is the configuration for your project
Listen 127.0.0.1:8080
<VirtualHost 127.0.0.1:8080>
DocumentRoot "C:\dev\sfproject\web"
DirectoryIndex index.php
<Directory "C:\dev\sfproject\web">
AllowOverride All
Allow from All
</Directory>

Alias /sf "C:\dev\sfproject\lib\vendor\symfony\data\web\sf"
<Directory "C:\dev\sfproject\lib\vendor\symfony\data\web\sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

16. apagar y prender apache apache y navegar a :  http://localhost:8080/index.php/
Si todo esta bien veras la pagina de tu primer proyecto symfony.

mas detalles aqui http://www.symfony-project.org/get/pdf/getting-started-1.4-en.pdf