Saltar al contenido

¿Configurar la URL de retorno de PayPal y hacer que vuelva automáticamente?

Hola, descubrimos la respuesta a tu pregunta, continúa leyendo y la hallarás un poco más abajo.

Solución:

Debe habilitar la devolución automática en su cuenta de PayPal; de lo contrario, ignorará la return campo.

De la documentación (actualizada para reflejar el nuevo diseño de enero de 2019):

El retorno automático está desactivado de forma predeterminada. Para activar el retorno automático:

  1. Inicie sesión en su cuenta de PayPal en https://www.paypal.com o https://www.sandbox.paypal.com Aparece la página Resumen de Mi cuenta.
  2. Haga clic en el icono de rueda dentada en la parte superior derecha. Aparece la página Resumen de perfil.
  3. Haga clic en el enlace Mis preferencias de venta en la columna de la izquierda.
  4. En la sección Vender en línea, haga clic en el enlace Actualizar en la fila de Preferencias del sitio web. Aparece la página Preferencias de pago del sitio web
  5. En Devolución automática para pagos en el sitio web, haga clic en el botón de opción Activado para habilitar la devolución automática.
  6. En el campo URL de retorno, ingrese la URL a la que desea que sus pagadores sean redirigidos después de que completen sus pagos. NOTA: PayPal verifica la URL de devolución que ingresó. Si la URL no tiene el formato correcto o no se puede validar, PayPal no activará la devolución automática.
  7. Desplácese hasta la parte inferior de la página y haga clic en el botón Guardar.

IPN es para notificaciones de pagos instantáneos. Le brindará información más confiable / útil que la que obtendrá con la devolución automática.

La documentación para IPN está aquí: https://www.x.com/sites/default/files/ipnguide.pdf

Documentación en línea para IPN: https://developer.paypal.com/docs/classic/ipn/gs_IPN/

El procedimiento general es que pase un notify_url con la solicitud, y configure una página que maneje y valide las notificaciones de IPN, y PayPal enviará solicitudes a esa página para notificarle cuando se realicen pagos / reembolsos / etc. atravesar. Esa página del controlador de IPN sería el lugar correcto para actualizar la base de datos para marcar los pedidos como pagados.

Formulario de muestra usando PHP para pagos directos.

[email protected]">

por favor revise los campos notify_url, return, cancel_return

código de muestra para manejar ipn (my_ipn.php) que es solicitado por paypal después de que se haya realizado el pago.

Para obtener más información sobre cómo crear una IPN, consulte este enlace.

 $value) 
    $value = urlencode(stripslashes($value));
    $req .= "&$key=$value";

// Now Post all of that back to PayPal's server using curl, and validate everything with PayPal
// We will use CURL instead of PHP for this for a more universally operable script (fsockopen has issues on some environments)
//$url = "https://www.sandbox.paypal.com/cgi-bin/webscr";
$url = "https://www.paypal.com/cgi-bin/webscr";
$curl_result = $curl_err = '';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $req);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/x-www-form-urlencoded", "Content-Length: " . strlen($req)));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$curl_result = @curl_exec($ch);
$curl_err = curl_error($ch);
curl_close($ch);

$req = str_replace("&", "n", $req);  // Make it a nice list in case we want to email it to ourselves for reporting
// Check that the result verifies
if (strpos($curl_result, "VERIFIED") !== false) 
    $req .= "nnPaypal Verified OK";
 else 
    $req .= "nnData NOT verified from Paypal!";
    mail("[email protected]", "IPN interaction not verified", "$req", "From: [email protected]");
    exit();


/* CHECK THESE 4 THINGS BEFORE PROCESSING THE TRANSACTION, HANDLE THEM AS YOU WISH
  1. Make sure that business email returned is your business email
  2. Make sure that the transactions payment status is completed
  3. Make sure there are no duplicate txn_id
  4. Make sure the payment amount matches what you charge for items. (Defeat Price-Jacking) */

// Check Number 1 ------------------------------------------------------------------------------------------------------------
$receiver_email = $_POST['receiver_email'];
if ($receiver_email != "[email protected]") 
//handle the wrong business url
    exit(); // exit script

// Check number 2 ------------------------------------------------------------------------------------------------------------
if ($_POST['payment_status'] != "Completed") 
    // Handle how you think you should if a payment is not complete yet, a few scenarios can cause a transaction to be incomplete


// Check number 3 ------------------------------------------------------------------------------------------------------------
$this_txn = $_POST['txn_id'];
//check for duplicate txn_ids in the database
// Check number 4 ------------------------------------------------------------------------------------------------------------
$product_id_string = $_POST['custom'];
$product_id_string = rtrim($product_id_string, ","); // remove last comma
// Explode the string, make it an array, then query all the prices out, add them up, and make sure they match the payment_gross amount
// END ALL SECURITY CHECKS NOW IN THE DATABASE IT GOES ------------------------------------
////////////////////////////////////////////////////
// Homework - Examples of assigning local variables from the POST variables
$txn_id = $_POST['txn_id'];
$payer_email = $_POST['payer_email'];
$custom = $_POST['custom'];
// Place the transaction into the database
// Mail yourself the details
mail("[email protected]", "NORMAL IPN RESULT YAY MONEY!", $req, "From: [email protected]");
?>

La siguiente imagen le ayudará a comprender el proceso de PayPal.
Flujo de proceso de Paypal

Para obtener más información, consulte los siguientes enlaces;

  • https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside
  • https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

Espero que esto te ayude..:)

una forma que he encontrado:

intente insertar este campo en su código de formulario generado:


rm medio método de devolución;

2 medio (correo)

Luego, después de que el usuario compra y regresa a la URL de su sitio, esa URL también obtiene los parámetros POST

ps si usa php, intente insertar var_dump($_POST); en su URL de retorno (secuencia de comandos), luego realice una compra de prueba y cuando regrese a su sitio verá qué variables se encuentran en su URL.

Si conservas alguna cuestión o forma de progresar nuestro sección te insinuamos realizar una anotación y con deseo lo observaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *