2011-07-11 11 views
6

Tengo un servicio Estoy comenzando donde se paga. Quiero otorgarle a un pago de PayPal una identificación especial. La ID se pasaría a través de IPN y podría leerla para poder modificar mi base de datos mysql con esa ID especial. Si todo eso tiene sentido ...Give PayPal buy now button special ID?

Básicamente, quiero actualizar su cuenta sin tener que realizar un proceso complicado que ya he probado en el que enviaría al usuario el ID de la transacción y tendrían que ir a un sitio especial URL para cambiar la información de su cuenta.

¿Ves lo que digo? ¿Cómo voy a hacer esto?

Gracias, Coulton

+0

¿Están sus usuarios pagadores usuarios registrados? ¿O simplemente pagan y obtienen algún tipo de identificación para el sitio? – Jem

+0

Son usuarios actuales. Y están recibiendo una actualización. Entonces, si pudiera pasar la identificación del usuario a través del sistema de pago y salir a través del IPN, sería fantástico. – iosfreak

+0

Cuando los usuarios pagan y se confirma que la información de pago es buena, ¿podría asignarles una clase de usuario diferente? He visto que algunas bases de datos eran como los usuarios básicos son un 0 y un administrador es decir un 5. Cada número otorga diferentes privilegios/capacidades de usuario.Los números generalmente van en orden pero son realmente arbitrarios. ¿Sería posible hacer una función como cuando la información de pago es buena? Simplemente toman una nueva lista de usuarios. A continuación, valida el nombre de usuario en el proceso de pago agregando el nombre de usuario a un formulario ingresándolo o mediante la cookie iniciada. Si la información de pago es buena, actualiza el estado – Jem

Respuesta

6

Si alguien tiene una pregunta sobre cómo hacerlo, he encontrado una manera de solucionarlo. Al hacer su botón, incluya esto:

<input type='hidden' name='notify_url' value='http://yourdomain.com/paypal/ipn.php?user_id=$user_id'> 

Para que pueda pasar quien ha realizado el pago al IPN a través de get. Simplemente use $_GET['user_id'] para obtener los datos (en mi caso un user_id). ¡Puedes pasar cualquier variable que desees!

1

He jugado un poco con esto para las edades antes de que yo he dado cuenta de que sólo se puede enviar el pre las variables definidas paypal y no hacer su propia arriba.

Estos se enumeran aquí https://www.paypal.com/cgi-bin/webscr?cmd=p/pdn/howto_checkout-outside

Uno puede utilizar para una variable personalizada se llama 'costumbre'

<input type="hidden" name="custom" value="<?=$twitId;?>"> 

También es necesario asegurarse de que usa este botón

<input type="hidden" name="cmd" value="_s-xclick"> 

También debe activar y configurar una URL para la notificación de pago instantánea en PayPal

Llaman a esto como un oyente, pero realmente solo envía los datos de pago a la página de paypal. Tenga en cuenta que esta no es la URL a la que se devuelve al cliente después de la finalización del pago, tal como se establece en las preferencias de los botones.

recuperar la variable personalizada en PHP por lo tanto

$userID = $_POST[custom]; 

las instrucciones aquí http://www.brianmoreau.com/articles/paypal_buy_now_button_sending_custom_variables.php

Esperanza Esto le ahorra las muchas horas que pasé en él.

Este método también le permite obtener los detalles del comprador como el correo electrónico y la dirección y la referencia de la transacción.

Para ver los datos completos, PayPal envía después del pago haciendo clic en el historial, IPN historial

+0

. También funciona para los botones "Comprar ahora" en la página de devolución. Probablemente valga la pena destacar las implicaciones de seguridad al hacer esto; cualquier cosa en "personalizada" podría ser modificada por el usuario, por lo que debe verificarse posteriormente. –