2010-10-11 14 views
6

J'utilise l'API DoDirectPayment de PayPal pour l'intégration des paiements. Je reçois un message d'erreur comme ci-dessous.Erreur "L'en-tête de sécurité n'est pas valide" PayPal. Que faire avec ceci?


Security error: 
Error no: 10002 
Error message: Security header is not valid 

Voici mon code,

$environment = 'sandbox'; 
    // Set up your API credentials, PayPal end point, and API version. 
    $API_UserName = urlencode('xxxxxxxx'); 
    $API_Password = urlencode('xxxxxxxx'); 
    $API_Signature = urlencode('xxxxxxxxxxxxxxxxxxxxxxxxxxx'); 
    $API_Endpoint = "https://api-3t.paypal.com/nvp"; 
    if("sandbox" === $environment || "beta-sandbox" === $environment) { 
     $API_Endpoint = "https://api-3t.$environment.paypal.com/nvp"; 
    } 
    $version = urlencode('51.0'); 

    // setting the curl parameters. 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, $API_Endpoint); 
    curl_setopt($ch, CURLOPT_VERBOSE, 1); 

    // Set the curl parameters. 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_POST, 1); 

    // Set the API operation, version, and API signature in the request. 
    $nvpreq = "METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature$nvpStr_"; 

    // Set the request as a POST FIELD for curl. 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $nvpreq); 

    // Get response from the server. 
    $httpResponse = curl_exec($ch); 

S'il vous plaît aidez-moi de ce problème.

Merci.

Répondre

0

Assurez-vous de vérifier votre point final de l'API et la version très attentivement:

https://www.x.com/message/156280#156280

+5

lien brisé 12.03.12 lien –

+0

a été supprimé à partir du site –

+2

Essayez: https://developer.paypal.com/webapps/developer/docs/classic/api/endpoints/ –

0

Mon problème est survenu en raison des informations d'identification api étant incorrect. Même après avoir entré le nom d'utilisateur, le mot de passe et la clé api du sandbox, j'ai toujours la même erreur. J'ai recréé mes comptes de test, je les ai entrés dans mon application, j'ai redémarré le serveur, et cela a fonctionné.

est ici un lien de x.com parler d'un problème similaire: paypal security header issue

0

vous devriez changer votre point final api.sandbox.paypal.com, il a travaillé sur moi d'abord vous identifier pour compte sendbox et vérifiez dans l'onglet application

0

L'utilisateur 2230647 a raison. Vous devez avoir des informations de bac à sable pour tous les paramètres suivants dans le cas où vous souhaitez tester en mode bac à sable:

'api_endpoint' => 'https://api-3t.sandbox.paypal.com/nvp', 
'api_username' => 'example_api1.email.com', 
'api_password' => 'your_password', 
'api_signature' => 'your_signature',