Pregunta

he desarrollado un sitio web. Los usuarios tienen que pagar por adelantado para sus proyectos / tareas. Ahora quiero ofrecer una forma que un usuario puede recargar su cuenta financiera en mi sitio web. Supongamos que la cuenta financiera de mi sitio web es una cuenta de Moneybookers y un usuario puede enviar dinero a esta cuenta manualmente, ¿cómo podría desarrollar la interfaz? Usted sabe, muchos usuarios enviar dinero a la cuenta pública del sitio web, ¿cómo puedo determinar la fuente donde una suma de dinero? ¿Cómo puedo estar seguro de que no voy a añadir a su saldo de la cuenta dos veces para una sola transferencia de dinero? Si mi pregunta no es clara, por favor no dude en pedir una aclaración.

Supongamos que tiene una cuenta en mi sitio web, es yourname@example.com. Y cuando se crea la cuenta, el saldo es de $ 0. Ahora tiene que depositar dinero en yourname@example.com. Puede hacerlo de forma manual. Me acabas de pagar $ 200, y nota que tú me has enviado $ 200, así que va a actualizar su saldo a $ 200.

No uso de su API. Si utilizo su API, este proceso se realiza automáticamente por el programa de ordenador. Quiero decir que quiero hacerlo de forma manual, con la mano.

¿Fue útil?

Solución

Estoy seguro de que todo lo que Moneybookers / paypal / Neteller / lo que sea API que utiliza, esto es un problema para el institución financiera , no es cierto, siempre y cuando se apegue a usar su API y don' t tratar de reinventar la rueda.

Otros consejos

a mi entender, que tiene un sitio que acepta dinero proccessed a través de una pasarela de pago. La puerta de enlace envía una notificación a una URL especificada en el final de una transacción con los resultados de transacción. A continuación, tomar estos resultados y actualizar el sistema con un nuevo equilibrio. Su temor es que un cliente puede llamar manualmente la URL especificado que notifica el sistema dos veces.

Si este es el caso, aquí está mi sugerencia:

Su pasarela de pago ya debería dejar de llamar a alguien de forma manual las direcciones URL de notificación por implimenting teclas consistant que se hacen utilizando los datos de la transacción detalles de su cuenta con ellos y una clave privada. En segundo lugar se debe administrar la base de datos mediante la actualización y el almacenamiento de su propia situación de la operación de.

Por ejemplo, usted tiene una mesa de operaciones con un campo uniqueid como clave principal, importe, fecha / hora, la vinculación clave externa a una tabla de usuarios y una vinculación clave externa a una tabla de estado. Su tabla de estado formará parte de "InProgress", "Cancelado" y "completa".

Una vez que se envía la transacción a través de la pasarela de pago, crear la transacción en la tabla Transactionns con un estado de "InProgress". Al obtener el retorno de la notificación para actualizar el sistema ejecuta esta lógica:

if(returnedStatus == "Completed" && status = "inProgress")
(
  status = "Completed";
  //update balance
)
elseif(returnedStatus == "Cancelled" && status != "Completed")) 
{
  status = "Cancelled";
  //display cancelled message
}

Esto actualizará el saldo de la cuenta si la transacción está aún en curso, no actualizar una cuenta si ya está hecho y no hacer nada al saldo de la cuenta si fue cancelado por alguna razón.

PS: tener un looke en monsterpay como puerta de entrada www.monsterpay.com

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top