So beheben Sie SDK-Probleme

Erfahren Sie mehr über erweiterte Einrichtungen in unseren Anleitungen.

So beheben Sie Zertifikatverifizierungsfehler

Fehler [curl] 77: Fehler beim Einrichten des Standortprüfungszertifikats: CA-Datei wird angezeigt, wenn Sie eine Anfrage an den Xsolla-Server mittels Pay Station SDK senden, z. B. beim Abrufen eines Tokens.

Standardmäßig aktivieren wir die SSL-Zertifikatsprüfung und verwenden das von Ihrem Betriebssystem bereitgestellte standardmäßige CA-Bundle. Allerdings ist nicht bei allen Betriebssystemen ein CA-Bundle auf dem Datenträger gespeichert. Beispielsweise haben Windows und OS X keinen einzelnen gemeinsamen Speicherort für CA-Bundles.

Dieses Problem lässt sich auf mehrere Weisen lösen:

  • Sie können die Zertifikatsprüfung in der Entwicklungsumgebung deaktivieren. Nutzen Sie dafür folgenden Code:

Copy
Full screen
Small screen
<?php

use Xsolla\SDK\API\XsollaClient;

$client = XsollaClient::factory(array(
    'merchant_id' => MERCHANT_ID,
    'api_key' => API_KEY
));
$client->setDefaultOption('ssl.certificate_authority', false);

Note
Sie müssen auch die Produktionsumgebung auf dieses Problem prüfen.

  • Stellen Sie ein zuverlässiges Zertifikat bereit. Stellen Sie sicher, dass die CA-Datei vorhanden ist, und spezifizieren Sie deren Pfad mit dem folgenden Code, wobei:
    • /path/to/file dem Pfad der CA-Datei entspricht
    • ssl.certificate_authority dem Namen der CA-Datei entspricht

Copy
Full screen
Small screen
<?php

use Xsolla\SDK\API\XsollaClient;

$client = XsollaClient::factory(array(
    'merchant_id' => MERCHANT_ID,
    'api_key' => API_KEY
));
$сlient->setDefaultOption('ssl.certificate_authority', '/path/to/file');

Unter Windows befindet sich die CA-Datei in folgenden Ordnern:

  • C:\windows\system32\curl-ca-bundle.crt
  • C:\windows\curl-ca-bundle.crt

Wenn an den angegebenen Stellen kein Zertifikat vorliegt, können Sie das von Mozilla bereitgestellte Zertifikat verwenden.

In einigen Versionen von PHP für Windows kann die Konfiguration von Zertifikatspfaden über Code Probleme verursachen. Als Lösung empfiehlt es sich, die Datei cacert.pem herunterzuladen und ihren Pfad in der Konfigurationsdatei php.ini anzugeben.

Copy
Full screen
Small screen
curl.cainfo=c:/cacert.pem

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So beheben Sie Authentifizierungsfehler

Ein Fehler mit dem Code INVALID_SIGNATURE und der Meldung Authorization header not found in Xsolla webhook request wird angezeigt, wenn PHP-CGI für ApacheHTTP Basic user/pass nicht standardmäßig an PHP übermittelt. Als Lösung empfiehlt es sich, die Apache-Konfigurationsdatei .htaccess bzw. httpd.conf um folgenden String zu ergänzen:

Copy
Full screen
Small screen
<?php

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden

So beheben Sie Probleme bei einer ungültiger IP-Adresse

Wenn Sie das Pay Station PHP SDK verwenden, überprüft Xsolla standardmäßig die IP-Adressen, von denen die Webhooks gesendet wurden. Dabei wird in folgenden Fällen der Fehlercode INVALID_CLIENT_IP zurückgegeben:

  • der Webhook-Server wurde von einem Localhost in der Entwicklungsumgebung getestet
  • Ihre App läuft in der Produktionsumgebung hinter einem Proxyserver, z. B. einem Load Balancer

Deaktivieren Sie die Prüfung von IP-Adressen in der Entwicklungsumgebung mit folgendem Code:

Copy
Full screen
Small screen
<?php

use Xsolla\SDK\Webhook\WebhookServer;

$webhookServer = WebhookServer::create($callback, PROJECT_KEY);
$webhookServer->start($webhookRequest = null, $authenticateClientIp = false);

Wenn Sie einen Proxyserver verwenden, wählen Sie eine der folgenden Lösungen:

  • Fügen Sie dem Webhook-Server die IP-Adresse des Reverse-Proxyservers mit folgendem Code hinzu (empfohlene Vorgehensweise):

Copy
Full screen
Small screen
<?php

use Xsolla\SDK\Webhook\WebhookServer;
use Symfony\Component\HttpFoundation\Request;

$request = Request::createFromGlobals();
$request->setTrustedProxies(array('YOUR_PROXY_SERVER_IP_OR_CIDR'));

$webhookServer = WebhookServer::create($callback, PROJECT_KEY);
$webhookServer->start();

  • Fügen Sie die IP-Adresse des Proxys zur Liste der zulässigen IP-Adressen hinzu.

Ausführliche Informationen über das Arbeiten mit einem Proxyserver finden Sie in der Simfony-Dokumentation.

War dieser Artikel hilfreich?
Vielen Dank!
Gibt es etwas, das wir verbessern können? Nachricht
Das tut uns leid
Bitte erläutern Sie, weshalb dieser Artikel nicht hilfreich ist. Nachricht
Vielen Dank für Ihr Feedback!
Wir werden Ihr Feedback aufgreifen und dazu nutzen, Ihr Erlebnis verbessern.
Ausblenden
Letztmalig aktualisiert: 17. Juni 2021

Haben Sie einen Tippfehler oder einen anderen Textfehler gefunden? Wählen Sie den Text aus und drücken Sie Strg+Eingabe.

Problem melden
Wir überprüfen unsere Inhalte ständig. Ihr Feedback hilft uns, sie zu verbessern.
Geben Sie eine E-Mail-Adresse an, damit wir Sie erreichen können
Vielen Dank für Ihr Feedback!