Bonjour,
j'ai suivis le tuto sur setexpresscheckout,tout fonctionne sauf un petit truc,j'ai cette erreur qui pour moi en est pas un
array (size=6)
'TOKEN' => string 'EC-1WS65598V4698293D' (length=20)
'TIMESTAMP' => string '2013-12-31T14:33:35Z' (length=20)
'CORRELATIONID' => string '759f4bde6cd64' (length=13)
'ACK' => string 'Success' (length=7)
'VERSION' => string '109.0' (length=5)
'BUILD' => string '8951431' (length=7)
erreur
j'ai écouté et regardé le tuto plusieurs fois mais je n'arrive pas a comprendre pourquoi il m'affiche se que j'ai mis au dessus au lieu
du lien,comme vous pouvez le voir le ACK est a success donc devrait afficher le lien
je mets le code paiement
$response=$paypal->quest('SetExpressCheckout',$params);
if($response){
$paypal=' https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&useraction=commit&token='.$response'TOKEN'];
}else{
var_dump($paypal->errors);
die('erreur');
}?>
<a href="<?php echo $paypal;?>">payer</a>
et le code de la class
<?php
class Paypal{
private $user = "";
private $pass= "";
private $sign ="";
private $returnpoint='https://api-3t.sandbox.paypal.com/nvp';
public $errors=array();
public function __construct($user=false,$pass=false,$sign=false,$prod=false){
if($user){
$this->user=$user;
}
if($pass){
$this->pass=$pass;
}
if($sign){
$this->sign=$sign;
}
if($prod){
$this-> $returnpoint=str_replace('sandbox.','',$this->returnpoint);
}
}
public function quest($method,$params){
$params = array_merge($params,array(
'METHOD'=>$method,
'VERSION'=>'109.0',
'USER' => $this->user,
'PWD' => $this->pass,
'SIGNATURE' => $this->sign
));
$params = http_build_query($params);
$curl = curl_init();
curl_setopt_array($curl,array(
CURLOPT_URL => $this->returnpoint,
CURLOPT_POST => 1,
CURLOPT_POSTFIELDS => $params,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_VERBOSE => 1
));
$response = curl_exec($curl);
$responsearray = array();
parse_str($response,$responsearray);
if(curl_errno($curl)){
echo'<div class="annonce">';$this->errors = curl_error($curl);'</div>';
curl_close($curl);
return false;
}else{
if($responsearray'ACK']=='success'){
curl_close($curl);
return $responsearray;
}else{
echo'<div class="annonce">';$this->errors = $responsearray;'</div>';
curl_close($curl);
return false;
}
}
}
}
merci pour l'aide
bon j'ai résolu le problème,fallait que je mettent success avec une majuscule sinon sa marche pas
j'ai une incompréhension total si dans
if($responsearray'ACK']=='success'){
je met != au lieu de == je récupère mon lien,normalement sa devrait pas être l'inverse,si
success on a le lien et si c'est différent on a l'erreur