Bonjour, tout d'abord je suis pas sur d'être dans la bonne section, si je suis dans la mauvaise section veuillez m'excuser.
Voilà mon problème : j'ai besoin d'utiliser l'API Paypal NVP, donc j'ai mis au point un script pour simuler l'achat d'un produit de prix 62.00 € :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$prixrequete = 23.00; //La déclaration de la variable du prix avec 2 décimales séparées par un point comme l'exige l'API Paypal NVP.
La requete sous forme d'URL qui sera lancée ensuite via Curl se présente comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
$requete = 'https://api-3t.sandbox.paypal.com/nvp?';
$requete = $requete.'VERSION='.$version.'&USER='.$user.'&PWD='.$pass.'&SIGNATURE='.$signature;
$requete = $requete."&METHOD=SetExpressCheckout".
			"&CANCELURL=".urlencode("http://XXXXX.com/index.php?opt=cancelpaypal").
			"&RETURNURL=".urlencode("http://XXXXX.com/index.php?opt=successpaypal").
			"&AMT=".$prixrequete. //C'est la que le prix est défini dans la requete Paypal.
			"&CURRENCYCODE=EUR".
			"&INVNUM=".urlencode($rand).
			"&DESC=".urlencode($description).
			"&LOCALECODE=FR".
			"&HDRIMG=".urlencode("http://www.XXXXX.com/images/banner.png");
Alors le seul truc qui ne fonctionne pas c'est le prix, a chaque fois il est fixé à 10.00 €, je ne sais pas pourquoi, pourtant tous les autres trucs marchent comme l'image de bannière, la description...
Voilà le resultat :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 
Array
(
    [TOKEN] => EC-6S849552XL839273E
    [SUCCESSPAGEREDIRECTREQUESTED] => false
    [TIMESTAMP] => 2010-01-29T20:59:44Z
    [CORRELATIONID] => 91ecd706cb3d0
    [ACK] => Success //Succès de l'achat
    [VERSION] => 61
    [BUILD] => 1157804
    [TRANSACTIONID] => 21X83276TM306413L
    [TRANSACTIONTYPE] => expresscheckout
    [PAYMENTTYPE] => instant
    [ORDERTIME] => 2010-01-29T20:59:43Z
    [AMT] => 10.00
    [FEEAMT] => 0.59
    [TAXAMT] => 0.00
    [CURRENCYCODE] => EUR
    [PAYMENTSTATUS] => Completed
    [PENDINGREASON] => None
    [REASONCODE] => None
    [PROTECTIONELIGIBILITY] => Ineligible
    [INSURANCEOPTIONSELECTED] => false
    [SHIPPINGOPTIONISDEFAULT] => false
)
Array
(
    [TOKEN] => EC-6S849552XL839273E
    [GIFTWRAPAMOUNT] => 0.00
    [CHECKOUTSTATUS] => PaymentActionCompleted
    [TIMESTAMP] => 2010-01-29T20:59:44Z
    [CORRELATIONID] => 3394517e5a400
    [ACK] => Success
    [VERSION] => 61
    [BUILD] => 1157804
    [EMAIL] => XXXXXXXX@XXX.XX
    [PAYERID] => XXXXXXXXXXXX
    [PAYERSTATUS] => verified
    [FIRSTNAME] => Test
    [LASTNAME] => User
    [COUNTRYCODE] => FR
    [SHIPTONAME] => Test User
    [SHIPTOSTREET] => Av. de la Pelouse, 87648672 Mayet
    [SHIPTOCITY] => Paris
    [SHIPTOSTATE] => Alsace
    [SHIPTOZIP] => 75002
    [SHIPTOCOUNTRYCODE] => FR
    [SHIPTOCOUNTRYNAME] => France
    [ADDRESSSTATUS] => Unconfirmed
    [CURRENCYCODE] => EUR
    [AMT] => 10.00 //Voila le prix était fixé a 62.00 et la il apparait a 10.00 et le compte a été crédité de 10.00 non pas de 62.00 comme prévu ce qui est plutot embetant !
    [SHIPPINGAMT] => 0.00
    [HANDLINGAMT] => 0.00
    [TAXAMT] => 0.00
    [DESC] => Ceci est un produit TEST
    [INVNUM] => 10304260711132279592
    [INSURANCEAMT] => 0.00
    [SHIPDISCAMT] => 0.00
    [TRANSACTIONID] => 21X83276TM306413L
    [INSURANCEOPTIONSELECTED] => false
    [SHIPPINGOPTIONISDEFAULT] => false
)
Bien entendu j'ai fait tous ces tests dans la sandbox Paypal.
Et après de très nombreux essais je ne trouve pas d'ou vient le probleme, ni comment le regler !
En esperant que vous pourrez m'aider !

Merci à vous !