PayTR ist einer der in der Türkei ansässigen Anbieter von Zahlungsstrukturen und ermöglicht Ihnen dank der iFrame-API-Integration das einfache Hinzufügen eines Zahlungsformulars zu Ihrer Website. In diesem Artikel zeigen wir Ihnen Schritt für Schritt, wie Sie die PayTR iFrame-API-Integration korrekt und sicher durchführen können. Darüber hinaus werden wir kritische Punkte, auf die Sie bei der PayTR-Integration stoßen können, anhand von Beispielen erläutern.
Wir empfehlen Ihnen außerdem, während Ihres Entwicklungsprozesses auf Themen wie REST-API-Sicherheitsverbesserungen und die Verwendung von Middleware zu achten:
Wie wird die PayTR iFrame API Integration durchgeführt?
Schritt 1: Token-Anfrage erstellen
Um das iFrame-Zahlungsformular nutzen zu können, müssen Sie zunächst ein Token anfordern. Diese Anfrage muss vom Server (Backend) mit der POST-Methode gestellt werden.
POST URL:
https://www.paytr.com/odeme/api/get-token
Erforderliche POST-Parameter:
-
merchant_id: PayTR Händler-ID
-
user_ip: IP-Adresse des Benutzers
-
merchant_oid: Bestellnummer
-
email: E-Mail-Adresse des Benutzers
-
payment_amount: Zahlungsbetrag (in Cent)
-
currency: Währung (TL, USD, EUR usw.)
-
user_basket: Warenkorbinhalt (im JSON-Format, base64-codiert)
-
no_installment: 0 oder 1
-
max_installment: Maximale Anzahl der Raten
-
paytr_token: Spezieller signierter Token-Wert
-
merchant_ok_url, merchant_fail_url: Weiterleitungsadressen für das Zahlungsergebnis
-
user_name, user_address, user_phone
Wie wird paytr_token berechnet?
$hash_str = $merchant_id.$user_ip.$merchant_oid.$email.$payment_amount.$user_basket.$no_installment.$max_installment.$currency.$test_mode;
$paytr_token = base64_encode(hash_hmac('sha256', $hash_str.$merchant_salt, $merchant_key, true));
Schritt 2: Zahlungsformular mit iFrame anzeigen
Nachdem das Token empfangen wurde, wird dem Benutzer ein iFrame wie folgt angezeigt:
<script src="https://www.paytr.com/js/iframeResizer.min.js"></script>
<iframe src="https://www.paytr.com/odeme/guvenli/<?php echo $token;?>" id="paytriframe" frameborder="0" scrolling="no" style="width: 100%;"></iframe>
<script>iFrameResize({},'#paytriframe');</script>
Schritt 3: Erhalten Sie das endgültige Zahlungsergebnis mit der Benachrichtigungs-URL
Auch wenn der Kunde die Zahlung vornimmt und zu merchant_ok_url weitergeleitet wird, erfolgt die tatsächliche Bestellbestätigung oder -stornierung über die "Benachrichtigungs-URL" (asynchrone POST-Anfrage, die vom Server empfangen wird).
Wichtiger Hinweis:
Nehmen Sie keine Bestellbestätigung/-stornierung auf den Seiten merchant_ok_url oder merchant_fail_url vor!
Führen Sie Bestellvorgänge nur mit der eingehenden asynchronen Benachrichtigungs-POST-Anfrage durch.
Beispiel für einen iFrame-API-Verbindungsablauf
-
Der Benutzer klickt auf die Schaltfläche "Bezahlen".
-
Der Server sammelt die erforderlichen Daten und ruft das iframe_token von der PayTR-API ab.
-
Mit diesem Token wird ein iFrame erstellt.
-
Der Benutzer gibt seine Karteninformationen über den iFrame ein und nimmt die Zahlung vor.
-
Nach der Zahlung benachrichtigt PayTR Ihr System über die Benachrichtigungs-URL über das Ergebnis.
-
Sie bestätigen oder stornieren die Bestellung gemäß diesen Benachrichtigungsdaten.
Entwicklungs- und Testempfehlungen
-
Verwenden Sie bei der lokalen Entwicklung unbedingt Ihre externe IP-Adresse.
-
Senden Sie im Testmodus debug_on=1, um Fehlermeldungen deutlich zu sehen.
-
Senden Sie den Wert payment_amount, indem Sie ihn mit 100 multiplizieren.
-
Machen Sie den Wert merchant_oid für jede Zahlung eindeutig.
Fazit: Einfache und sichere Zahlungsintegration mit der PayTR iFrame API
Die PayTR iFrame API bietet bei korrekter Implementierung ein benutzerfreundliches und sicheres Zahlungserlebnis, das den PCI-DSS-Standards entspricht. Wenn Sie dieser Anleitung folgen, können Sie eine reibungslose und professionelle PayTR-Integration durchführen.
Weitere Informationen zur API-Sicherheit und Entwicklungspraktiken finden Sie in den folgenden Artikeln: