Pagos en php

He de realizar el sistema de pagos de una web. El sistema que había pensado son 3: paypal, por tarjeta de crédito y el tradicional: transferencia bancaria.

Para el último, ningún problema, es anunciar un número de cuenta y punto.

Para los otros dos, según he leído con paypal hay quien dice que hay muchos problemas, he visto por ahí, un formulario en el que se pasan los datos desde mi página a paypal, pero no lo tengo claro; para el tema del pago por tarjeta de crédito, pues en principio no sé, poner los elementos en pantalla, para el número de tarjeta, el código y la fecha de caducidad, ningún problema, pero luego no sé ni con quién contactar ni nada, no sé, si debería contactar con las empresas de dichas tarjetas (4b, visa, mastercard) o bien con alguna entidad bancaria ...

1

1 Respuesta

8.075 pts. Desarrollador de software a nivel profesional...

Hay muchas plataformas de pago fáciles de usar, incluso vos no tenes que preocuparte por que el usuario cargue los datos de la tarjeta en tu web, sino que cuando el usuario pone pagar lo redirigís a la plataforma de pago (esto hace que tu web sea segura para el usuario ya que solo ponen los datos de la tarjeta en la plataforma y no en tu web)

A si mismo la plataforma una ves que termina el proceso de pago te vuelve a redirigir a tu pago.

Para poder ofrecerte una solución necesito saber si quieres recibir pagos nacionales o internacionales y de que país estamos hablando (Nacionalidad de la persona que va a recibir los pagos), ya que paypal te deja pagar con tarjeta de crédito pero por ejemplo en Argentina por el momento por cuestiones políticas no se puede pagar por medio de paypal con tarjeta de crédito emitida en el país a otro usuario de paypal Argentino.

Bueno, los pagos se van a recibir en España, y por ahora serían pagos nacionales, aunque no se puede descartar alguno internacional ...

Estoy hablando con bancos para el tema de TPV virtuales y francamente no me termina de gustar, demasiadas condiciones y "tonterías" para nada, al fin y al cabo es coger unos datos, validarlos y realizar el pago ... ah! y luego cobrarse la comisión ... El tema paypal,no me termina de convencer, mas leyendo las opiniones de gente por internet, más que nada el cobrar ...

No sé con qué otras plataformas has trabajado y que sean fiables si puedes decirme alguna, le echaría un vistazo.

Saludos y gracias

Estos son los métodos de pago online con los que he trabajado.

-Decidir

<a>https://sps.decidir.com/sps-ar/SPSLogin</a>

-Authprize.net (te lo recomiendo)

<a>http://www.authorize.net/</a>

-DineroMail (creo que no está disponible para españa).

<a>http://www.dineromail.com/</a>

-MercadoPago (no sé si está disponible en España)
<a>http://www.mercadopago.com/</a>

PayPal (que no te agrada) y algunos otros que sé que solo están disponibles en latinoamérica.

Las condiciones que mencionas que no te gustan por lo gral. las vas a encontrar en todos los métodos de pago. Todas las plataformas funcionan casi de la misma forma. Vos posteas a una url de ellos un form con los datos que te piden, ellos continúan con el pago y después te devuelven a una url que especifiques y como parámetros te dan el numero de transacción etc.

Si, bueno, el número de transacción que dan al retornar al cliente a la url, debe ser eso, para el cliente, pero a la persona que recibe el pago, se lo comunican de alguna manera? le envían, quizá, un correo, p.ej, avisándole o comunicándole que ha recibido un pago por tal concepto y cantidad? ... ya que supongo que el cliente cuando realiza el pago, debe indicar algo no? ...

Por cierto, veo una cosa que se escapa, vamos, igual es desconocimiento por el tema de estas plataformas de las que me hablas ... ¿cómo sabe el sistema, cuál es la cantidad que debe ingresar? ... me refiero yo tengo un producto que cuesta 50 euros, cuando redirijo al cliente desde mi web a paypal (por ejemplo) ... una vez allí ¿cómo sabe el sistema que debe cobrar 50 euros? ¿hay algún sistema?

Saludos y gracias

Por lo gral las plataformas te dan un manual donde indican como postearles al webservices de ellos ej:

Suponiendo que usas authorize.net, tenes que postear un form con las especificaciones que te dan ellos:

<form method=post action="url_del_ws_de_authnet" target="platform">
 <input type=hidden name="x_response_code" value="codigo de pedido">
 <input type=hidden name="x_auth_code" value="autentificacion">
 <input type=hidden name=method value="cc">
 <input type=hidden name=customer_id value="1">
 <input type=hidden name=customer_name value="bla bla bla">
 <input type=hidden name=customer_address value="bla bla bla">
 <input type=hidden name=customer_city value="bla bla bla">
 <input type=hidden name=customer_state value="bla bla b">
 <input type=hidden name=customer_zip value="1768">
 <input type=hidden name=customer_country value="Argentina">
 <input type=hidden name=customer_email value="Email del cliente">
 <input type=hidden name=card_swipe value="">
 <input type=hidden name=cc_type="" value="visa">
 <input type=text name=cc_number value=''>
 <input type=text name=cc_exp_date value=''>
 <input type=text name=cc_csv_code svalue=''>
 <input name=amount value='aca va el monto total de la compra'>
 <input type=hidden name="return_url" value="Url de retorno a mi pagina">
</form>

Este caso es para una tarjeta de credtio por eso el sufijo "cc" en todos los campos

Todo lo relacionado con customer son los datos del cliente.

Cc_type acá en el ejemplo es un hidden pero pueden ser varios radios para que elija el tipo de tarjeta el cliente (visa, master, etc)

Cc_number: numero de tarjeta 16 dígitos

cc_exp_date: fecha de vencimiento de la tarjeta.

Cc_csv_code: dígitos de verificación (los que están en la parte de atrás (por lo gral son 3).

Amount: Acá contesto a tu pregunta. Es el monto total de la venta. No discrimina entre tus items, cantidades, envío etc sino el total que va a pagar con tarjeta.

Este form y muchos otros están en el manual de la plataforma que te lo bajas cuando te registras.

Yo lo hago siempre así. Creo una tabla en mi base de datos para guardar la orden de compra y guardo todos estos datos mas los que me devuelve la plataforma y yo me encargo de que la persona que recibe el pago reciba un mail (es sencillo ya que lo haces ni bien el ws de la plataforma le pega a tu url de respuesta) también creo un panel y le muestro esta información en un listado con el estado de los pagos, clientes, items, etc etc.

Este ejemplo es solo a fines demostrativos pero depende de la plataforma o del tipo de cuenta que saques como debes enviar la información al web services

Trato de explicarme un poco mejor:

Vos creas un html con un formulario que llena el cliente.
Ese formulario se postea a una url de authorize.net por lo tanto el navegador va a la pagina de authorize.net pide confirmación al cliente, verifica los datos de la tarjeta y devuelve a tu pagina a una url que vos especificas en "return_url" (ahí te devuelve parámetros por get o post como el numero de transacción etc). Por lo tanto estas redirigiendo y volviendo a tu pagina.

Ahora no importa que sean productos o servicios lo que vendas. En amount va lo que el cliente tiene que pagar y punto.

Para la plataforma es transparente (no le importa) si vendes algo físico o un servicio o una suscripción o lo que sea. Te pide datos del cliente para verificar que la tarjeta de crédito sea valida.

El tema de que hay información "que tu ni sabes" depende del sitio, por ejemplo podes hacer que el cliente tenga que tener una cuenta para poder pagar entonces ahí le pedís esos datos. Sino directamente en la pagina de pago que hagas pedile los datos que te falten antes de postear el form.

Bueno, ahora si que me has "matado".

Vamos a ver, entonces no es redirigir al cliente a authorize (en el ejemplo que me pones), sino que incluso has de poner información que tu ni sabes ... p.ej "customer_city" ... ¿como sabes tú la ciudad del cliente que va a realizar el pago? ... supongo que habrán campos que no serán obligatorios (como ese) ... me refiero que mi negocio no es de enviar productos a un determinado cliente, sino que el cliente tendrá un servicio que ya dispone de el en la web, solo requiero que pague y activarle la opción, pero no enviarle nada ... no sé si me explico.

Vale, entonces no digas que tan solo rediriges al usuario a la página de "authorize"
por ejemplo, que no coges sus datos, puede que no te los quedes en tu
bbdd, pero si que se los pides ... el cliente no sabe si te los quedas o
no, lo que sabe es que se los pides y que si no los da, no le dejas
continuar ...

Si no envías ningún dato en el form ... en la página de "authorize" o de quien sea ... ¿le pide al cliente esos datos? ...

Saludos.

Con respecto a authorize.net tenes razón, vos te podes quedar con los datos del cliente. Bastante inseguro para el usuario. Perdón por generalizar pero las otras incluyendo Paypal, Decidir o DineroMail posteas un formulario con menos datos (que no tiene info de la tarjeta) y en la pag de ellos cargas los datos de la tarjeta.

Cada pasarela de pago tiene su propia forma. Elegí una y vas a ver que el manual de desarrollo es muy claro y siempre te dan ejemplo, incluso decidir te da un usuario de prueba.

Bueno ... lo lógico sería que desde mi web, se transmitiera, el importe, el concepto y el código del vendedor (o sea yo), con esos datos la plataforma ya podría saber lo que tiene que hacer ... luego el cliente ya en la plataforma de pago, introduce los datos que se requieran para el pago (número de tarjeta, pin ... ).

Gracias por todo.

Una pregunta ... Hablando con gente que tiene una plataforma como paypal contratada, me ha comentado que cuando las ventas o el importe a pagar ha sido elevado, "paypal" les ha pedido información más importante al vendedor, no sé si eso es habitual ...

Eso depende si la cuenta que saques en PayPal es tipo personal o business. Una cuenta business no tiene limitaciones (solo usé de este tipo) con la relación a la cuenta tipo personal habría que ver en la pagina de paypal para el país del "vendedor".

¿Qué tipo de información les pidieron?, Acá cuando quieres sacar la plata, emitís desde el panel de paypal un cheque, te llega a tu casa y lo cobras en cualquier banco.
Solo tenes que presentar comprobantes (facturas) ante la entidad bancaria si tus extracciones superan los 40.000usd mensuales (En el caso de mis clientes... Jamas :P)

Te dejo un link de paypal
https://www.paypal.com/ar/cgi-bin/webscr?cmd=_additional-payment-integration-outside

Abajo tenes documentación sobre la API de desarrollo para php y otros lenguajes y fijate que hay un documento de como usar sandbox (te lo recomiendo para probar todo hasta que estés satisfecho con tu código)
Aclaro por las dudas; sandbox es el webservices de prueba para desarrolladores.

Bueno, no especificaron mucho el tipo de documento que les pidieron, pero dos que me comentaron fue el cif y el nif o sea documentos identificativos de la empresa y de la persona ... pero claro les pidieron mas, supongo que todo lo que sea comprobantes, supongo que era para asegurar que era todo legal, concretamente cuando se acerca a lo 1800 euros ... piden que complementen la información inicial ... bueno, no sé ...

En principio, esto me lo han comentado gente que tiene empresa y que contacté con ellos para preguntarles por su experiencia con paypal y demás ...

Miraré el link que me has pasado a ver que tal.

No sé cómo está el tema bancos en tu país, pero he hecho un recorrido por unos cuantos de aquí, para lo del tpv virtual y vamos ... son muy reacios, supongo que tal cómo están, "mejor" contactar con paypal u otra plataforma, aunque sean mas caras ...

Me parece bien, contactate con ellos y fijate cual te conviene mas y se adapta a las necesidades del cliente, y cuando te decidas por alguna y necesites ayuda no dudes en preguntarme, si es alguna que no usé mirando la documentación podemos resolverlo. Con gusto voy a ayudarte

Gracias por tu colaboración.

En principio, considero que los bancos van de sobrados, o sea que se miran muy mucho lo que hacen (si nosotros hiciésemos lo mismo con ellos, sacaríamos el dinero del banco), y por ello como primera opción pondré transferencia bancaria, a un numero de cuenta que enviaré al cliente mediante correo, cuando reciba su petición. Posteriormente probablemente incorpore "paypal" (por ser la mas conocida), pero ello llevará un recargo en el precio equivalente a lo que cobran los de la plataforma.

Por lo demás tendré que seguir investigando ...

Gracias.

P.D: ya te comentaré.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas