Foros del Web » Programando para Internet » PHP »

Pagos en linea con PHP

Estas en el tema de Pagos en linea con PHP en el foro de PHP en Foros del Web. Que tal... no tengo experiencia en crear aplicaciones que tengan la opcion de pago en linea con PHP, estoy pensando usar 2chekout.com y paypal.... el ...
  #1 (permalink)  
Antiguo 07/11/2004, 07:56
 
Fecha de Ingreso: julio-2004
Ubicación: Quito
Mensajes: 123
Antigüedad: 13 años, 5 meses
Puntos: 0
Pagos en linea con PHP

Que tal... no tengo experiencia en crear aplicaciones que tengan la opcion de pago en linea con PHP, estoy pensando usar 2chekout.com y paypal.... el problema es que me gustaria que mi programa cambie un estado (pagado o no pagado) segun el resultado positivo o negativo del pago con 2chekout.com o paypal.com.... no se si me pueden ayudar con ideas sobre como realizar este proceso, debo usar https, sockets o es mejor que el chequeo de pagado o no pagado se realize manualmente?


saludos
  #2 (permalink)  
Antiguo 08/11/2004, 07:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ambas pasarelas de pago tienen su documentación al respecto .. Hasta ejemplos traen para PHP (por lo menos así lo ví en PayPal).

El tema es que esas pasarelas de pago ya te entregan o te ponen a tu disposición formas (códigos/funciones ..) para obtener ese resultado de una transacción.

Normalmente usan sockets para esa funcionalidad y te conectas a sus servidores por SSL .. pero el SSL lo presta PayPal o la pasarela de pago que uses .. no es necesario directamente que lo uses tu .. salvo por seguridad del resto de tu aplicación .. lo que es el pago en sí ya pasa por el SSL de estas pasarelas de pago.

Un saludo,
  #3 (permalink)  
Antiguo 20/12/2004, 00:56
Avatar de augustino  
Fecha de Ingreso: marzo-2004
Ubicación: Zacatecas, Zac, Mexico
Mensajes: 619
Antigüedad: 13 años, 8 meses
Puntos: 4
¿cuales son los nombres de las variables que les debo enviar que contienen el digito verificador, holdernumber, numero de vencimiento?


enviandolo a https://www.paypal.com/cgi-bin/webscr
__________________
La firma es un derecho, en cualquier foro, por intrigas de usuarios que ya no participan en el foro, y la manipulacion de otros, la he reterido temporalmente
Lucha contra el cancer, envia e-mails a tu gobierno y congreso, para apoyar la investigacion cientifica

  #4 (permalink)  
Antiguo 20/12/2004, 01:06
Avatar de augustino  
Fecha de Ingreso: marzo-2004
Ubicación: Zacatecas, Zac, Mexico
Mensajes: 619
Antigüedad: 13 años, 8 meses
Puntos: 4
Aqui dice como crear el form en Html

https://www.paypal.com/cgi-bin/websc...s_help_outside

Los nombres de las variables
https://www.paypal.com/cgi-bin/websc...ptions-outside

payment_type creo que es donde se indica si es tarjeta de credito o transferencia bancaria

Cita:
<?php
// read the post from PayPal system and add 'cmd'
$req = 'cmd=_notify-synch';

$tx_token = $_GET['tx'];
$auth_token = "GX_sTf5bW3wxRfFEbgofs88nQxvMQ7nsI8m21rzNESnl_79cc FTWj2aPgQ0";
$req .= "&tx=$tx_token&at=$auth_token";

// post back to PayPal system to validate
$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('www.paypal.com', 80, $errno, $errstr, 30);
// If possible, securely post back to paypal using HTTPS
// Your PHP server will need to be SSL enabled
// $fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

if (!$fp) {
// HTTP ERROR
} else {
fputs ($fp, $header . $req);
// read the body data
$res = '';
$headerdone = false;
while (!feof($fp)) {
$line = fgets ($fp, 1024);
if (strcmp($line, "\r\n") == 0) {
// read the header
$headerdone = true;
}
else if ($headerdone)
{
// header has been read. now read the contents
$res .= $line;
}
}

// parse the data
$lines = explode("\n", $res);
$keyarray = array();
if (strcmp ($lines[0], "SUCCESS") == 0) {
for ($i=1; $i<count($lines);$i++){
list($key,$val) = explode("=", $lines[$i]);
$keyarray[urldecode($key)] = urldecode($val);
}
// check the payment_status is Completed
// check that txn_id has not been previously processed
// check that receiver_email is your Primary PayPal email
// check that payment_amount/payment_currency are correct
// process payment
$firstname = $keyarray['first_name'];
$lastname = $keyarray['last_name'];
$itemname = $keyarray['item_name'];
$amount = $keyarray['payment_gross'];

echo ("<p><h3>Thank you for your purchase!</h3></p>");

echo ("<b>Payment Details</b><br>\n");
echo ("<li>Name: $firstname $lastname</li>\n");
echo ("<li>Item: $itemname</li>\n");
echo ("<li>Amount: $amount</li>\n");
echo ("");
}
else if (strcmp ($lines[0], "FAIL") == 0) {
// log for manual investigation
}

}

fclose ($fp);

?>

En todo lo que vi no se envian o reciben variables de los digitos verificadores de la tarjeta, sus holdernumber, la fecha de vencimiento

¿o sera que el cliente recibi un correo de paypal con un vinculo a la forma donde viene esto?
__________________
La firma es un derecho, en cualquier foro, por intrigas de usuarios que ya no participan en el foro, y la manipulacion de otros, la he reterido temporalmente
Lucha contra el cancer, envia e-mails a tu gobierno y congreso, para apoyar la investigacion cientifica

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:46.