Mit dem MVC-Muster (Model-View-Controller) und seinen Verwandten HMVC und MVVM können Sie Code in logische Objekte aufteilen, die sehr spezifischen Zwecken dienen. Modelle dienen als Datenzugriffsschicht, auf der Daten in Formaten abgerufen und zurückgegeben werden, die in der gesamten Anwendung verwendet werden können. Controller verarbeiten die Anforderung, verarbeiten die von Modellen zurückgegebenen Daten und laden Ansichten, um die Antwort zu senden. Und Ansichten sind Anzeigevorlagen (Markup, XML usw.), die in der Antwort an den Webbrowser gesendet werden. Bei einigen Finanztransaktionen muss ein Benutzer bestimmte Informationen angeben, damit ein Händler einen Kauf tätigen kann (z. B. die Lieferadresse des Benutzers, falls eine physische Gutseinslieferung erforderlich ist). Um diese Informationen anzufordern, kann ein Händler ein drittes optionales Argument (Optionen) an den PaymentRequest-Konstruktor übergeben, das angibt, welche Informationen er benötigt. Wenn die Zahlungsanforderung angezeigt wird, fordert der Benutzer-Agent diese Informationen vom Endbenutzer an und gibt sie an den Händler zurück, wenn der Benutzer die Zahlungsanforderung annimmt. Die Logik eines Zahlungshandlers wird durch die unterstützten Zahlungsmethoden gesteuert. Einige Zahlungsmethoden, wie z. B. Die Basiskarte, erwarten wenig bis gar keine Verarbeitung durch den Zahlungsbearbeiter, der in der Antwort einfach Zahlungskartendetails zurückgibt.

Es ist dann die Aufgabe der Payee-Website, die Zahlung mit den zurückgegebenen Daten als Eingabe zu verarbeiten. Sobald Sie diese Details aus der PaymentResponse haben, müssen Sie die Zahlung verarbeiten und die Transaktion “abschließen”, indem Sie die paymentResponse.complete()-Methode aufrufen. Es gibt einige Edge-Fälle, die Sie beim Definieren Ihrer unterstützten Zahlungsmethoden beachten sollten. Das CanMakePaymentEvent wird verwendet, um zu überprüfen, ob der Zahlungshandler in der Lage ist, auf eine Zahlungsanforderung zu reagieren. Diese Spezifikation standardisiert eine API, um Händlern (d. h. Websites, die physische oder digitale Waren verkaufen) die Nutzung einer oder mehreren Zahlungsmethoden mit minimaler Integration zu ermöglichen. Benutzeragenten (z.B. Browser) erleichtern den Zahlungsfluss zwischen Händler und Nutzer. Jeder Zahlungshandler steuert, was passiert, wenn mehrere Browserkontexte gleichzeitig die show()-Methode aufrufen. Einige Zahlungshandler ermöglichen es beispielsweise, mehrere Zahlungs-UIs in verschiedenen Browser-Registerkarten/Fenstern anzuzeigen.