Как разработать ручный интерфейс передвижения денег для моего сайта?

StackOverflow https://stackoverflow.com/questions/2062872

Вопрос

Я разработал веб -сайт. Пользователям необходимо предоплатить за его проекты/задачи. Теперь я хочу предоставить способ, которым пользователь может зарядить свой финансовый счет на моем веб -сайте. Предположим, что финансовый отчет моего веб -сайта - это учетная запись Moneybookers, и пользователь может отправить деньги на этот счет вручную, как я мог разработать интерфейс? Вы знаете, многие пользователи отправят деньги на публичный счет на веб -сайте, как я могу определить источник, откуда взялась сумма денег? Как я могу убедиться, что я не буду дважды добавить баланс его счета только для одного переноса денег? Если мой вопрос неясен, пожалуйста, не стесняйтесь просить разъяснения.

Предположим, у вас есть учетная запись на моем веб -сайте, это yourname@example.com. И когда вы создаете учетную запись, баланс составляет $ 0. Теперь вам нужно внести деньги на yourname@example.com. Вы можете сделать это вручную. Вы просто платите мне 200 долларов и заметите, что вы прислали мне 200 долларов, поэтому я обновлю ваш баланс до 200 долларов.

Я не использую их API. Если я использую их API, этот процесс выполняется автоматически с помощью компьютерной программы. Я имею в виду, я хочу сделать это вручную, вручную.

Это было полезно?

Решение

Я уверен, что какие -либо Moneybookers/PayPal/Neteller/любой API вы используете, это проблема для финансовое учреждение, не вы, если вы придерживаетесь использования их API и не пытаетесь повторно изобрести колесо.

Другие советы

Насколько я понимаю, у вас есть сайт, который принимает деньги, полученные через платежный шлюз. Ворота отправляет уведомление на указанный URL -адрес в конце транзакции с результатами транзакции. Затем вы берете эти результаты и обновляете свою систему новым балансом. Вы боитесь, что клиент может вручную назвать указанный URL -адрес, который дважды уведомляет вашу систему.

Если это так, вот мое предложение:

Ваш платежный шлюз уже должен остановить кого -то от URL -адресов уведомлений вручную, внедряя последовательные ключи, которые сделаны с использованием данных о транзакции, с которыми сталкиваются данные вашей учетной записи с ними, и закрытый ключ. Во -вторых, вы должны управлять своей базой данных, обновляя и сохраняя статус вашей собственной транзакции.

Например, у вас есть таблица транзакций с уникальным полем в качестве основного ключа, суммы, даты/времени, ключа Foriegn, связывающегося с таблицей пользователей и ключом Foriegn, связывающимся с таблицей состояния. Ваша таблица статуса будет включать в себя «Inprogress», «отменен» и «полная».

Как только вы отправите транзакцию в платежный шлюз, создайте транзакцию в вашей таблице Transactionns со статусом «Inprogress». Когда вы получите уведомление, верните, чтобы обновить систему, запустите эту логику:

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

Это обновит баланс учетной записи, если транзакция все еще будет выполнена, а не обновляет учетную запись, если она уже сделана, и ничего не сделает с балансом учетной записи, если она была отменена по какой -то причине.

PS: Имейте в монстерпей в Monsterpay www.monsterpay.com

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top