Frage

Ich habe eine Website entwickelt. Benutzer müssen für seine Projekte/Aufgaben vorzunehmen. Jetzt möchte ich eine Möglichkeit bieten, wie ein Benutzer sein Finanzkonto auf meiner Website wieder aufladen kann. Angenommen, das Finanzkonto meiner Website ist ein Moneybookers -Konto und ein Benutzer kann manuell Geld auf dieses Konto senden. Wie könnte ich die Benutzeroberfläche entwickeln? Sie wissen, viele Benutzer senden Geld auf das öffentliche Konto der Website. Wie kann ich die Quelle bestimmen, aus der ein Geldsumme stammt? Wie kann ich sicherstellen, dass ich seinen Kontostand nicht zweimal für nur einen Geldtransfer hinzufügen werde? Wenn meine Frage nicht klar ist, zögern Sie bitte nicht, um Klärung zu bitten.

Nehmen wir an, Sie haben ein Konto auf meiner Website, es ist yourname@example.com. Und wenn Sie das Konto erstellen, beträgt der Guthaben 0 $. Jetzt müssen Sie Geld unter yourname@example.com einzahlen. Sie können es manuell tun. Sie zahlen mir nur 200 US -Dollar und bemerken, dass Sie mir 200 US -Dollar gesendet haben, also werde ich Ihr Guthaben auf 200 US -Dollar aktualisieren.

Ich benutze ihre API nicht. Wenn ich ihre API verwende, erfolgt dieser Vorgang automatisch vom Computerprogramm. Ich meine, ich möchte es manuell von Hand machen.

War es hilfreich?

Lösung

Ich bin mir sicher, dass dies ein Problem für die Finanzinstitution, nicht du, solange du ihre API benutze und nicht versuchst, das Rad neu zu erfinden.

Andere Tipps

Nach meinem Verständnis haben Sie eine Website, die Geld über ein Zahlungsgateway akzeptiert. Das Gateway sendet eine Benachrichtigung an eine bestimmte URL am Ende einer Transaktion mit den Transaktionsergebnissen. Sie nehmen diese Ergebnisse an und aktualisieren Ihr System mit einem neuen Gleichgewicht. Ihre Angst ist, dass ein Kunde die angegebene URL manuell anrufen kann, die Ihr System zweimal benachrichtigt.

Wenn dies der Fall ist, ist hier mein Vorschlag:

Ihr Zahlungsgateway sollte bereits jemanden davon abhalten, die Benachrichtigungs -URLs manuell aufzurufen, indem sie konstante Schlüssel implizieren, die mithilfe der Transaktionsdaten Ihre Kontodaten mit ihnen und einen privaten Schlüssel hergestellt werden. Zweitens sollten Sie Ihre Datenbank verwalten, indem Sie Ihren eigenen Transaktionsstatus aktualisieren und speichern.

Beispielsweise haben Sie eine Transaktionen Tabelle mit einem eindeutigen Feld als Primärschlüssel, Betrag, Datum/Uhrzeit, ForiNG -Schlüssel, das mit einer Benutzertabelle verknüpft wird, und als ForiNGN -Schlüssel, das mit einer Statusstabelle verknüpft ist. Ihre Status Tabelle besteht aus "Inprogress", "storniert" und "komplett".

Sobald Sie die Transaktion an das Zahlungsgateway senden, erstellen Sie die Transaktion in Ihrer TransactionNS -Tabelle mit einem Status von "Inprogress". Wenn Sie die Benachrichtigung erhalten, kehren Sie zurück, um Ihr System zu aktualisieren. Führen Sie diese Logik aus:

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

Dies aktualisiert den Kontostand, wenn die Transaktion noch läuft, nicht aktualisieren, wenn es bereits fertig ist, und tun Sie nichts mit dem Kontostand, wenn es aus irgendeinem Grund storniert wurde.

PS: Machen Sie einen Look bei Monsterpay als Tor www.monsterpay.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top