Cómo insertar un pedido en la base de datos y luego redirigir a Paypal

Edit:

Permítanme reformular mi pregunta... Estoy tratando de insertar un pedido en la base de datos mysql antes de redirigir a PayPal. En este momento, tengo que hacerlo en dos pasos. Presione un botón que redirigirá a otra página, que almacena el pedido, y luego redirigirá a otra página que contenga el botón Paypal Checkout.

El botón de PayPal es un formulario en sí mismo con entradas ocultas. Quiero saber si hay una manera de hacerlo en un solo paso. Es decir, cuando presiono el botón de paypal, ingresará mi pedido en la base de datos mysql antes de redirigir a paypal.

preguntado el 30 de junio de 12 a las 15:06

¿Puedes explicar de una manera? -

¿Sesiones? ¿Base de datos? ¿Archivo plano? XML? Elige tu opción. -

no es útil en absoluto. Supongo que mi pregunta es un poco vaga. Permítanme reformular arriba. -

@GordonM Realmente se ha esforzado por no contribuir absolutamente en nada a esta pregunta... -

@KirillFuchs Si hubiera mirado el historial de edición, habría notado que la versión original de la pregunta ni siquiera mencionaba cómo el OP almacenaba los datos. Mi comentario fue un comentario sardónico sobre ese hecho. Le sugiero que aprenda sobre funciones como el historial de edición de preguntas. -

2 Respuestas

Sí, puede emitir un header() que actualiza el Location:

header('Location: https://www.paypal.com/cgi-bin/webscr?' . http_build_query($vars));

sin que importe $vars son todas las variables necesarias:

    $vars = array(
            'cmd' => '_xclick',
            'business' => $paypal_email,
            'lc' => 'GB',
            'item_name' => $item_name,
            'item_number' => $item_number,
            'amount' => number_format($amount, 2),
            'notify_url' => $notify_url,
            'return' => $return_url,
            'currency_code' => 'USD',
            'button_subtype' => 'goods',
            'no_note' => 0,
            'tax_rate' => 0,
    );

Esto hará que el navegador redirija a PayPal sin que se cargue la página.

Respondido el 30 de junio de 12 a las 17:06

En su página de pago elegido, cuando haga clic en enviar, guarde el pedido en su tabla de pedidos pero establezca el estado en 0 o inconcluso. Luego, cree otro archivo que se pueda usar para devolver la URL en PayPal. Puedes llamarlo confirmación.php. Escriba un código allí que actualizará el estado a 1, lo que significa que el pago se realizó correctamente y ahora el pedido está listo para ser procesado.

En su secuencia de comandos de conexión de PayPal, configure la URL de retorno en confirm.php para que se realice el estado de actualización.

Eso es practicamente todo.

Respondido el 30 de junio de 12 a las 17:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.