Fehlerbehebung

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.

Wir aktivieren 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 Wege 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);
Hinweis
Sie müssen auch die Produktionsumgebung auf dieses Problem prüfen.
  • Stellen Sie ein zuverlässiges Zertifikat bereit (empfohlen). Stellen Sie sicher, dass die CA-Datei vorhanden ist, und spezifizieren Sie deren Pfad mit dem folgenden Code, wobei:
    • /path/to/file der Pfad der CA-Datei ist
    • ssl.certificate_authority der Name der CA-Datei ist
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

    Wenn PHP-CGI für Apache den Benutzernamen und das Passwort für die HTTP-Basisauthentifizierung nicht standardmäßig an PHP übermittelt, wird ein Fehler mit dem Code INVALID_SIGNATURE sowie die Meldung Authorization header not found in Xsolla webhook request angezeigt. 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 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 einer 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 (empfohlen):

    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 der 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: 7. Oktober 2024

    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!