Bonzooooour à tous et toutes,
J'ai suivis le tutoriel abonnement premium paypal sans cake PHP mais j'ai une erreur. Voici mon code :
(Configuration de cURL)
$mail = 'xxxxx@gmail.com'; //idem
$name = 'Compte spécial';
$price = '25.00';
$notify = 'http://xxxxx/ipn.php'; // Url du ipn
$success = 'http://xxxxx/success.php'; // Url de la page retour success
$cancel = 'http://xxxxx/cancel.php'; // Url de la page cancel
$custom = '';
$user = 'xxxxxxxxx'; // Utilisateur API
$pwd = 'xxxxxx'; // Mot de passe API
$signature = 'xxxxxx'; // Signature de l'API
$request = array(
'METHOD' => 'BMCreateButton',
'VERSION' => '116',
'USER' => $user,
'PWD' => $pwd,
'SIGNATURE' => $signature,
'BUTTONCODE' => 'HOSTED',
'BUTTONTYPE' => 'BUYNOW',
'BUTTONSUBTYPE' => 'SERVICES',
'L_BUTTONVAR0' => 'business='.$mail,
'L_BUTTONVAR1' => "item_name=$name",
'L_BUTTONVAR2' => "amount=$price",
'L_BUTTONVAR3' => "currency_code=EUR",
'L_BUTTONVAR4' => "no_note=1",
'L_BUTTONVAR5' => "notify_url=$notify",
'L_BUTTONVAR6' => "return=$success",
'L_BUTTONVAR7' => "cancel=$cancel",
'L_BUTTONVAR8' => "custom=$custom"
);
$request = http_build_query($request);
$curlOptions = array(
CURLOPT_URL => "https://api-3t.sandbox.paypal.com/nvp",
CURLOPT_VERBOSE => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => $request
);
$ch = curl_init();
curl_setopt_array($ch,$curlOptions);
$response = curl_exec($ch);
if(curl_errno($ch)){
var_dump(curl_error($ch));
die();
}else{
var_dump(curl_getinfo($ch, CURLINFO_HTTP_CODE));
curl_close($ch);
parse_str($response,$responseArray);
var_dump($responseArray);
}
J'ai cette erreur :
int(200) array(9) { "TIMESTAMP"]=> string(20) "2014-08-24T19:05:45Z" "CORRELATIONID"]=> string(13) "3a397994a1f73" "ACK"]=> string(7) "Failure" "VERSION"]=> string(3) "116" "BUILD"]=> string(8) "12471160" "L_ERRORCODE0"]=> string(5) "10002" "L_SHORTMESSAGE0"]=> string(14) "Security error" "L_LONGMESSAGE0"]=> string(28) "Security header is not valid" "L_SEVERITYCODE0"]=> string(5) "Error" }