Para ello recurren a PayPal, que aunque sus recargos por transacción no son excesivamente económicas, por decirlo de alguna manera, no cobran un coste fijo mensualmente lleven a cabo pagos o no.
En este tutorial no vamos a explicar cómo hacer esto ni como crear una cuenta Paypal para vendedores, etc. Si alguno tenéis algún problema para implementarlo en vuestra tienda online, por favor no dudéis en preguntarlo en el foro y os intentaremos ayudar.
En este tutorial lo que vamos a intentar explicar es como, tras crear una forma de pago para tarjeta de crédito a través de Paypal, conseguir que el plugin de Paypal incorparado en Virtuemart nos redirija a la página de pago con tarjeta de crédito y no a la página de pagar a través de una cuenta Paypal.
Si utilizamos el plugin que acompaña a Virtuemart 2.x sin más, cuando un cliente termina el proceso de pedido y accede al pago con tarjeta a través del servidor seguro de paypal, Virtuemart lo redirigirá a una página como parecida a esta:

Para que el cliente pueda efectuar su pago, deberá hacer clic sobre ¿No dispone de una cuenta PayPal?, y la pantalla cambiará para mostrar algo parecido a:

Este es el modo por defecto en el que trabaja plugin.
Al hacerlo así, puede darse el caso de que el cliente al no ver claramente donde introducir su datos referentes a su tarjeta de crédito, abandone la comprar y por tanto el pedido no termine de llevarse a cabo.
Todo este modo de trabajo del plugin es debido a que Virtuemart en el momento en el que el cliente o usuario confirma el pedido y entra en comunicación con Paypal, envía una serie de datos o parámetros a Paypal, tales como el número de pedido, importe a cobrar, Cantidad, etc… pero también podría enviar como se debe presentar la página de Paypal al cliente.
Este parámetro no lo envía con lo que Paypal por defecto muestra la pantalla de Login.
Y después de tanta teoría, ¿Cómo conseguimos que muestre la pantalla de la tarjeta de crédito por defecto?, pues bien, vamos a ponernos manos a la obra que el proceso es bien sencillo.
Lo que debemos hacer es modificar el fichero paypal.php.
Este fichero se encuentra dentro de nuestra instalación de Joomla, en ../plugins/vmpayment/paypal/paypal.php.
Antes de realizar ningún cambio y como es habitual, debemos hacer una copia de seguridad de este archivo.
Una vez hecha la copia, vamos a editar el fichero paypal.php y nos dirigimos aproximadamente a la línea 200 y nos encontraremos algo como:
"address_override" => isset($method->address_override) ? $method->address_override : 0, // 0 ?? Paypal does not allow your country of residence to ship to the country you wish to"first_name" => $address->first_name,"last_name" => $address->last_name,"address1" => $address->address_1,"zip" => $address->zip,"city" => $address->city,"state" => isset($address->virtuemart_state_id) ? ShopFunctions::getStateByID ($address->virtuemart_state_id) : '',"country" => ShopFunctions::getCountryByID ($address->virtuemart_country_id, 'country_2_code'),"email" => $order['details']['BT']->email,"night_phone_b" => $address->phone_1,"return" => JROUTE::_ (JURI::root () . 'index.php?option=com_virtuemart&view=pluginresponse&task=pluginresponsereceived&on=' . $order['details']['BT']->order_number . '&pm=' . $order['details']['BT']->virtuemart_paymentmethod_id . '&Itemid=' . JRequest::getInt ('Itemid')),
"landing_page" => "billing",
"address_override" => isset($method->address_override) ? $method->address_override : 0, // 0 ?? Paypal does not allow your country of residence to ship to the country you wish to"first_name" => $address->first_name,"last_name" => $address->last_name,"address1" => $address->address_1,"zip" => $address->zip,"city" => $address->city,"state" => isset($address->virtuemart_state_id) ? ShopFunctions::getStateByID ($address->virtuemart_state_id) : '',"country" => ShopFunctions::getCountryByID ($address->virtuemart_country_id, 'country_2_code'),"email" => $order['details']['BT']->email,"night_phone_b" => $address->phone_1,"landing_page" => "billing","return" => JROUTE::_ (JURI::root () . 'index.php?option=com_virtuemart&view=pluginresponse&task=pluginresponsereceived&on=' . $order['details']['BT']->order_number . '&pm=' . $order['details']['BT']->virtuemart_paymentmethod_id . '&Itemid=' . JRequest::getInt ('Itemid')),
Antes de finalizar este tutorial, queremos agradecer la colaboración de Imawamba Juegos (tienda online de juegos de mesa en la que hemos participado de forma activa recientemente, y hemos puesto en práctica este método de pago), ya que nos ha permitido llevar a cabo este tutorial.