Pregunta

Dos pregunta al azar mientras trato de integerate PayPal IPN en mi aplicación web basada CodeIgniter.

1) ¿Son estas dos líneas de la misma?

$data['pp_info'] = $this->input->post();

$data['pp_info'] = $_POST;

2) Un usuario se compromete a pagar una cuota mensual recurrente a utilizar su servicio a través de PayPal - primer pago que son conscientes de que han pagado a medida que los datos devueltos por paypal. Pero, ¿cómo hacer un seguimiento si los usuarios han pagado por los siguientes meses? ¿Cómo sabe que el usuario no ha cancelado su cuenta de paypal?

Gracias a todos por la ayuda

¿Fue útil?

Solución

1) Sí, pero debería utilizar la primera, en caso de CI realiza cambios en el método en el futuro (filtros de seguridad, etc.).

2) PayPal tiene una dirección URL es necesario llamar a cada pocas horas que dice "esta tarjeta ha expirado chicos" y "esto otros chicos pago recurrente ha sido procesado". La dirección URL será en su cosita panel de control de PayPal.

Otros consejos

1) Tenga cuidado - de seguridad que desea utilizar el poste de CodeIgniter () manipulador, pero tenga en cuenta que, si bien IC estandariza retornos de línea a \ n, PayPal espera \ r \ n. Así que si usted no tiene cuidado, PayPal va a rechazar la entrada de varias líneas como no válido. Para evitar esto en mi biblioteca PayPal IPN hago esto:

    foreach (array_keys($_POST) as $field)
    {
            $value = $this->input->post($field);
            $ipnData[$field] = str_replace("\n", "\r\n", $value);
    }

2) Si está utilizando IPN para pagos recurrentes, a continuación, PayPal enviará notificaciones de los cambios a nivel de suscripción de un usuario a la URL del IPN. Usted quiere mirar la variable txn_type - valores válidos incluyen subscr_signup, subscr_failed y subscr_eot (al final de la temporada). ¿Quieres comprobar estos valores y manejarlos en su aplicación.

1) Nope que no son los mismos.

Se debe utilizar normalmente this-> input-> puesto $ (); porque es un corto la mano que le ayuda a asegurarse de que ese índice de matriz de POST isset.

si nada es puesto a su página y le llame $ _POST [ 'misdatos'] obtendrá un error porque el que el índice de matriz no existe. para superar este que haría un "if (isset ($ _POST [ 'misdatos']))" cheque, pero IC ya lo hace por usted.

y como lo dijo Coronatus a obtener los extras adicionales CI

2) no se llama paypal cada pocas horas, como lo dijo Alex decano. IPN uso de manera segura hará un "empuje" a su servidor cada vez que algo sucede.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top