php - tarjeta - ¿Forma más fácil de integrar el pago exprés de PayPal?
tarjeta paypal gratis (2)
Es posible que desee utilizar el nuevo SDK de PayPal. Tienen un buen conjunto de código de muestra, incluido el código para el pago exprés y el IPN. Intente aquí https://www.x.com/developers/paypal/documentation-tools/paypal-sdk-index Obtenga el SDK para el pago exprés. En este momento, deberían estar en SDK 98 para PHP.
No tendrá que preocuparse por el Curl, el SDK se ocupa de todo eso por usted. Una llamada típica podría ser algo como esto.
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
Esta línea de código se modela después de las muestras. Todo está orientado a objetos. Ellos te proporcionan clases. En este caso, hay un objeto de solicitud que completa, los ejemplos muestran exactamente cómo hacerlo; solo usa las muestras como tu plantilla.
Parece que desea hacer el pago exprés de PayPal, de esta manera no tendrá que manejar tarjetas de crédito ni nada de eso. El usuario es redirigido al sitio web de PayPal y todas las transacciones financieras suceden allí. El usuario es redirigido a su sitio. Luego tiene una página donde el usuario puede revisar el pedido y hacer clic en enviar si lo aprueba. Cuando el usuario hace clic en enviar, llama a una API de PayPal y le informa a PayPal que la transacción está aprobada. PayPal luego ejecuta la transacción y le envía una confirmación con una identificación de transacción. A continuación, puede llamar a getTransactionDetails y mostrar la confirmación al cliente. También puede poner esos detalles de transacción en una base de datos.
Aquí están las API a las que puede llamar para esto. Estos se modelan de cerca al código de muestra que proporcionan
$paypalService->SetExpressCheckout($setECReq);
el control va a la URL de PayPal, y el usuario visita algunas páginas allí. el control vuelve a ti.
la página de revisión de su pedido $ paypalService-> GetExpressCheckoutDetails ($ getExpressCheckoutReq);
la página de confirmación de tu pedido
$paypalService->GetExpressCheckoutDetails($getECReq);
$paypalService->DoExpressCheckoutPayment($DoECReq);
Le dice a PayPal que haga la transacción.
$paypalService->GetTransactionDetails($request);
Aquí puede poner los detalles de la transacción en una base de datos. También puede enviarse un correo con todos los detalles, de esa forma sabrá cada vez que ocurra una transacción.
IPN puede ser un poco complicado. Hay un oyente de IPN de muestra que proporcionan, que ayudará. Tendrá que configurar su URL de escucha en el sitio web de PayPal. También deberá configurar un certificado SSL.
Los SDK son bastante nuevos, pero PayPal está trabajando en una forma aún más nueva de hacer cosas, developer.paypal.com. Acaba de salir en el último mes más o menos. Es posible que desee examinar eso también.
Creé un plugin de generación y visualización de productos para Wordpress CMS y ahora estoy tratando de integrar alguna forma de integración de PayPal para el proceso de compra.
Tengo el carrito, los productos, el envío, los totales, todo lo que descubrí de mi lado y esperaba que alguien pudiera indicarme la dirección más simple para enviar esta información a PayPal. Entiendo que algunos métodos para hacer esto no son tan seguros y otros te hacen saltar por los aro como una especie de perro de exposición. He estado tratando de aprender a usar cURL y luego cómo hacerlo funcionar con PHP, realmente parece un poco desordenado. Ahora tengo cURL trabajando en mi servidor WAMP ... pero ...
¿Hay una manera mejor o debo continuar aprendiendo cURL?
Puedo formatear los datos, sin embargo, tiene que enviarse a PayPal y no me importaría hacer esto con JavaScript; esta no es una pared de pago y cada orden es revisada con precisión por un humano, por lo que alguien juega con el lado del cliente la secuencia de comandos no me molestará. Definitivamente también quiero enviarlos a PayPal. No quiero guardar ni procesar su información de tarjeta de crédito. Sin embargo, sería bueno tener IPN. ¿Puede alguien señalarme en la dirección correcta o asegurarme que ya me dirijo hacia allí?
Muchas gracias.
Así es como me redirige automáticamente a PayPal con todos los detalles del formulario;
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" id="paypal">
<input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="cbt" value="Return to example" />
<input type="hidden" name="business" value="email" />
<input type="hidden" name="item_name" value="example Purchase" />
<input type="hidden" name="amount" value="9.99">
<input type="hidden" name="button_subtype" value="services" />
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="URL" />
<input type="hidden" name="notify_url" value="URL"/>
<input type="hidden" name="cancel_return" value="URL" />
<input type="hidden" name="currency_code" value="USD"/>
<input type="hidden" name="image_url" value="" />
<input type="hidden" id="custom" name="custom" value="invoice_id to track"/>
<input type="hidden" class="btn btn-primary" style="width:100%" alt="PayPal - The safer, easier way to pay online!"/>
</form>
Para productos múltiples, simplemente puede agregar más productos al formulario, por ejemplo;
<input type="hidden" name="item_name_1" value="Item #1">
<input type="hidden" name="amount_1" value="1.00">
<input type="hidden" name="item_name_2" value="Item #2">
<input type="hidden" name="amount_2" value="2.00">
Sin embargo, usar este método no es todo genial
Todos los datos deberían generarse con PHP y entrada en la página, también necesitaría verificar la transacción cuando el IPN vuelva a llamar para asegurarse de que se pagó.
<script type="text/javascript">
function myfunc () {
var frm = document.getElementById("paypal");
frm.submit();
}
window.onload = myfunc;
</script>