simular simulador por pago ipn hacer ejemplo developer configurar como boton paypal

por - simulador paypal



¿Puedo enviar una variable a PayPal y hacer que me la vuelva a enviar cuando finalice el pago? (6)

Sí, si envía item_number , la notificación de IPN incluirá eso cuando se publique de nuevo. Grabo una identificación única en la base de datos cuando el usuario comienza el proceso de pago, e incluyo eso al enviarlos a PayPal. Cuando entra el IPN, esa identificación única coincide con el registro en la base de datos, dándome toda la información que necesito.

Editar Re su comentario:

Supongo que hay un ejemplo de código en algún lugar del sitio vinculado anteriormente, pero básicamente en mi caso estoy usando un formulario que PUBLICÉ en https://www.paypal.com/cgi-bin/webscr . Dentro de ese formulario hay varios campos ocultos documentados en el material de IPN ( cmd para qué comando realizar, business para especificar su ID de negocio, item_name para una buena descripción en la interfaz de usuario de PayPal, item_number para el número de artículo que mencioné anteriormente, etc., etc. .). Cuando IPN envía mensajes a su dirección IPN, incluye varios campos (como payment_status - ¡algo importante! & Mdash y el item_number que item_number al publicar en ellos).

He estado utilizando API de pago exprés para convertir cuentas de personas en mi sitio a cuentas premium después de pagar. El único problema es que no envía al usuario al sitio hasta que haga clic en el botón para regresar y actualiza su permiso cuando eso sucede. Alrededor del 40% de los usuarios no parecen hacer eso ... por lo que sus cuentas nunca se acreditan después del pago.

A pesar de que PayPal realiza un postback inmediato después del pago exitoso, nunca pude actualizar realmente la cuenta del usuario de inmediato, ya que no puedo enviar un tipo de información que identifique al usuario que acaba de completar el pago. . Solo podría hacer eso cuando te envíen de vuelta al sitio, que envía la identificación de la transacción, que registré con una devolución posterior. Lo busca y otorga permiso si se encontró en el DB.

¿Hay alguna manera de enviar algún tipo de variable a paypal, que luego me envíe de vuelta? Algo como & user_id = 123, lo que haría muy práctico actualizar el permiso del usuario.


Iten_number variable oculta no funciona en mi aplicación. Pero descubrí que custom campo oculto custom funciona bien. Simplemente agregue este campo al formulario generado por paypal: <input type="hidden" name="custom" value="YOUR VALUE FROM DB"/> . Después, puede leer este valor para identificar, por ejemplo, qué producto se ha comprado. (Código Java): String custom = request.getParameter("custom");


De acuerdo con las Variables HTML para el Estándar de pagos de PayPal , puede enviar todas las variables de "Transferencia":

item_number Variable de paso para que rastree el producto o servicio adquirido o la contribución realizada. El valor que especifique se le devuelve al finalizar el pago. Esta variable es necesaria si desea que PayPal rastree el inventario o realice un seguimiento de las ganancias y pérdidas del artículo que vende el botón.

variable de paso personalizado para sus propios fines de seguimiento, que los compradores no ven. Predeterminado: no se le devuelve ninguna variable.

y

factura Variable de paso a través que puede usar para identificar su número de factura para esta compra. Predeterminado: no se le devuelve ninguna variable.

Todas estas variables de paso son enviadas por el IPN en la información de respuesta de pago.

Solo tiene que renderizar su plantilla HTML en el servidor y escribir los campos en el código HTML como

<input type="hidden" name="item_number" value="{{ productID }}"> <input type="hidden" name="invoice_id" value="{{ invoiceID }}"> <input type="hidden" name="custom" value="{{ jsonInfo }}">

Técnicamente, el campo "personalizado" puede ser una cadena codificada JSON si desea manejar más datos como

myItemObject = { "customerEmail" : "[email protected] "customerID: "AAFF324" } jsonInfo = json.dumps( myItemObject ) return render_template(tmpl_name, jsonInfo=jsonInfo, productID=productID, invoiceID=invoiceID)


Espero que esta URL resuelva tu problema. Como resolvió el mío también. Agregue una variable personalizada a su formulario y luego recupérela en su página de pago exitoso. Ejemplo: <input type=''hidden'' name=''custom'' value=''<?php echo $email; ?>''/> <input type=''hidden'' name=''custom'' value=''<?php echo $email; ?>''/>

y luego recuperarlo como:

$_POST[''custom'']


Solo para agregar a esta vieja pregunta ...

Hay parámetros de opción que se utilizan comúnmente para el envío de datos personalizados a través de PayPal.

Estas etiquetas de opción son on0 , on1 u on2 para los nombres de campo personalizados y os0 , os1 y os2 para los valores de campo personalizados.

Enviaría on0 con un valor de "UserID" y os0 la identificación real.

Estos valores se representarán en el IPN de la siguiente manera:

os0 se representa como option_selection1

os1 se representa como option_selection2

os2 se representa como option_selection3

on0 se representa como option_name1

on1 se representa como option_name2

on2 se representa como option_name3

Aquí está la información sobre los parámetros de HTML de PayPal


Finalmente obtengo esta respuesta, quiero compartirla con todos ustedes:

en su formulario HTML, coloque este código (este es el entorno limitado de Paypal):

form action="https://www.sandbox.paypal.com/cgi-bin/webscr?custom=YOUR_VAR" method="post"

En su PHP después de la redirección de Paypal al éxito de su página: use la variable cm GET:

$example = $_GET["cm"];