En este articulo vamos a modificar la pasarela de pago de paypal de woocommerce para wordpress para que cuando se vaya a realizar el pago aparezca por defecto el pago con tarjeta en vez de cuenta paypal.
Nos explicamos mejor, cuando vamos a terminar el pago en woocommerce mediante paypal la pagina por defecto que nos aparece es abierta la pestaña de pago con cuenta paypal y la pestaña de pagos con tarjeta sin cuenta paypal aparece sin desplegar.
Nuestra intención es precisamente cambiar esta situación para que la pagina por defecto cuando vayamos a pagar sea la de tarjetas desplegada y la otra sin desplegar.
Este detalle que parece una tontería puede suponer el finalizar la compra o no, ya que muchos usuarios que no están acostumbrados a la compra por Internet ven en la anterior solo la opcion de pago con cuenta con paypal y no la de tarjetas por lo que puede suponer el no terminar la venta por la poca experiencia del usuario.
Para ello lo que tenemos que aprovecharnos de la api de PayPal y son ofrecidos a los desarrolladores para que los utilicen cuando desarrollan pasarelas de pago contra PayPal.
En nuestro caso lo que vamos a modificar es el fichero de woocommerce que le indica cuando lanza paypal que en vez de utilizar la pagina normal de pago deseamos la otra con las tarjetas, para ello tenemos que editar el fichero class-wc-gateway-paypal-request.php situado en la carpeta de nuestro wordpress en ./ wp-content/plugins/woocommerce/includes/gateways/paypal/includes/class-wc-gateway-paypal-request.php
Si lo editamos en torno a la línea 89/90 encontramos el siguiente código:
'zip' => $order->billing_postcode, 'country' => $order->billing_country, 'email' => $order->billing_email ), $this->get_phone_number_args( $order ), $this->get_shipping_args( $order ), $this->get_line_item_args( $order ) ), $order ); }
Lo único que deberemos hacer es añadir al final casi el argumento LANDINPAGE para modificar la página de aterrizaje del plugin, así que lo añadiremos casi al final de la sección de argumento y el código quedará como se muestra a continuación
'country' => $order->billing_country, 'landing_page' => 'billing', 'email' => $order->billing_email
De esta forma conseguimos que la pagina de destino sea la de las tarjetas que hemos mencionado anteriormente.
Espero que os sirva para vuestro proyectos y recordar que este sistema funciona a partir de la version woocommerce 2.3.5, para las anteriores hay que utilizar otro sistema en el cual no vamos a entrar, ya que vamos actualmente por la 2.6.5 asi que os recomiendo que actualicéis el plugin por temas de seguridad y estabilidad del sistema.