Skip to content

Instantly share code, notes, and snippets.

@janogarcia
Created December 10, 2012 10:09
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save janogarcia/4249739 to your computer and use it in GitHub Desktop.
Save janogarcia/4249739 to your computer and use it in GitHub Desktop.
Procesando tarjetas de crédito en tu webapp: Paymill VS PayPal

Procesando tarjetas de crédito en tu webapp: Paymill VS PayPal

TL;DR PayPal fatal. Paymill molamil.

Integración del proceso de checkout

PayPal no ofrece en España un método de pago que se integre por completo con tu webapp. La integración más básica Pago estándar consiste básicamente en redirigirte a PayPal e introducir ahí los datos de tu tarjeta. Es decir, la clásica página estándar de checkout de PayPal, con su típico look & feel.

La alternativa algo más avanzada, Pasarela integral, permite que en esa página externa de PayPal se pueda personalizar el logo... y algún que otro detalle (según PayPal "hasta 21 elementos gráficos").

El servicio Pasarela integral tiene un coste de 15€/mes, mientras que el Pago estándar no tiene tarifa mensual. A ambos hay que sumarles además la tarifa de comisión por venta.

En los dos casos anteriores el usuario es redirigido a una URL externa de PayPal, por lo que el proceso de ckeckout no tiene una integración ideal con tu webapp, al perder el control de la experiencia de checkout que te gustaría ofrecer. Los entendidos dicen que un buen sistema de pago perfectamente integrado en tu webapp puede convertir considerablemente más que cuando redirigimos al usuario a una pasarela externa.

En USA, Canada y UK, PayPal ofrece el servicio PayPal Payments Pro. Con este servicio es posible integrar el proceso de checkout en tu webapp, sin tener que redirigir en ningún momento a PayPal a tus usuarios... lamentablemente, este servicio no está disponible en España.

Con Paymill el usuario tan sólo necesitará introducir sus datos de tarjeta en un formulario de tu webapp... y listo, compra realizada. Podéis ver un ejemplo en el pie de esta página: https://www.paymill.com/

Es más, con Paymill sería muy sencillo que tu webapp contara con una experiencia de checkout similar a la del App Store de Apple. Es decir, inmediata, con la mínima fricción posible. Ideal para evitar perder ventas durante el proceso de checkout:

  • En el perfil del usuario mostrarías un formulario donde tus usuarios introducirían y guardarían los datos de pago (su tarjeta), de esta forma, a la hora de pagar bastaría con que pulsaran el botón "Comprar", nada más. No necesitarían volver a introducir los datos de su tarjeta para cada nueva compra.

  • Para evitar compras accidentales y como medida de seguridad adicional, podrías añadir a esto una ventana modal que se mostrara tras pulsar el botón "Comprar", donde se le solicitaría al usuario el password de tu webapp (de manera similar a como hace Apple en el App Store).

Seguridad

Todo esto es posible con la API de Paymill, con la gran ventaja de que en ningún caso los datos de la tarjeta de tus usuarios será transmitido ni almacenado en tu webapp.

De esta manera tu webapp no necesitará cumplir con las estrictas medidas especificadas por el PCI, de obligado cumplimiento para aquellos que procesen, transmitan, o almacenen datos bancarios.

Los datos bancarios son transmitidos directamente a Paymill a través de su "JavaScript Bridge" sin que tengan que pasar en ningún momento por tu webapp.

Es más, por necesitar no necesitarás ni SSL/https en tu webapp, algo que sí sería obligatorio en el caso de usar PayPal Payments Pro (el cual ni siquiera está disponible en España). Esto no significa que tu webapp no sea segura, todo lo contrario, los datos bancarios siempre se transmitirán a Paymill via conexión cifrada SSL/https a través de su "JavaScript Bridge".

Una nota importante respecto al "JavaScript Bridge". En el formulario HTML donde se recogen los datos de las tarjetas no añadas el atributo name a los elementos del formulario, así te asegurarás que dichos datos nunca sean recibidos por el código de tu webapp que recibe los datos del formulario, con lo que evitarás tener que cumplir con las medidas de PCI en tu webapp.

Dicho esto, y aunque no sea en absoluto necesario para trabajar con Paymill, es recomendable contar una conexión SSL/https en tu webapp, por la confianza y seguridad que transmitirá a tus usuarios.

Resumiendo: con Paymill podemos conseguir un proceso de checkout con la mínima resistencia, perfectamente integrado con tu webapp, y seguro (sin incurrir en los costes de conformidad PCI o incluso SSL).

Comisión, Cobros, Pagos, Divisas, Retiradas de efectivo...

La comisión de Paymill es generalmente menor que la de PayPal:

  • Paymill: 2.95% of the transaction amount + €0.28 for each transaction.
  • PayPal: 3,4% + €0,35 EUR por transacción.

Hay que tener en cuenta que la de Paymill es fija y la de PayPal es por tramos, si tienes un elevado volumen de ventas quizás sea mejor la de PayPal. Echa tus números.

Con Paymill puedes cobrar en España en cualquiera de estas divisas: USD, EUR, CHF, o GBP. Pero no las puedes mezclar, siempre debes usar la misma divisa para todos tus cobros. Puedes recibir pagos desde cualquier parte del mundo en la divisa que hayas elegido para tu webapp. Y en todos los casos puedes retirar los fondos en EUR.

Los tipos de tarjeta soportadas por Paymill son Visa y Mastercard. Están trabajando para incluir American Express y otras.

PayPal puede retener durante un tiempo indefinido tus fondos si detecta que comienzas a recibir muchos pagos de una forma repentina. Con Paymill recibirás los fondos una vez a la semana.

Más ventajas de Paymill a tener en cuenta:

Other providers charge more for services that we offer for free. Failed transactions and processing international credit cards are free for our users. In addition, there are no registration fees, no setup costs, no monthly provision fees, and no other hidden costs.

Cobros recurrentes, rentenciones...

Además de esto, con Paymill también podrás gestionar cobros recurrentes (con diferentes planes semanales, mensuales o anuales), realizar reembolsos, preautorizaciones/retenciones... Para ver todo lo que ofrece, consulta su API.

API y Documentación

Otro aspecto igualmente importante es el soporte de Paymill para los desarrolladores. Con una documentación clara y amigable, una API simple, un proceso de creación de cuentas de prueba inmediato, librerías oficiales que funcionan... Vamos, todo lo que desearías encontrar en PayPal.

Por poner un ejemplo, he necesitado escasos 5 minutos para crear una cuenta de Paymill, descargar la librería oficial de PHP, y empezar a realizar pagos de prueba desde una webapp que estamos desarrollando.

Sobre Paymill

Paymill, para bien o para mal, es otro clon más de los hermanos Samwer.

En esta ocasión el clon es de Stripe, una de las startups que más está sacudiendo el sector del proceso de pagos online en USA, con una generosa inversión (entre los cuales se encuentran los fundadores de PayPal). Stripe está tardando más de lo deseable en desembacar en Europa, y los hermanos alemanes no han dejado escapar la ocasión.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment