par
Invité » 01 oct. 2008, 15:38
Bonjour
Voila j'ai un soucis sur un script qui gere un paiement en ligne
J'explique le fonctionnement de mon programme :
à l'appel du fichier, le programme fait un recherche dans la base de donnés et va aller sur le serveur qui gère le payement c'est à dire poster l'ordre du paiement pour ceux qui nont pas encore tous payer.
C'est un système de payement automatique périodiquec'est à dire que le script sera lancer périodiquement et va proceder à un payement automatique en fonction du dernier ordre de paiement
voici mon script
:
<?php
$req_r="select id from table where paiement=0 and total< ".$montantTOTAL." ";
if ($res_r=mysql_query($req_r))
{
if(mysql_num_rows($res_r))
{
while($row_r=mysql_fetch_array($res_r))
{
$clientID=$row_r['id'];
$req_m ="select sum(montant) as total, ordrePAY from table where id=".$clientID." group by id ";
if ($res_m=mysql_query($req_m))
{
$nbM=mysql_num_rows($res_m);
if ($nbM>0)
{
while ($row_m=mysql_fetch_array($res_m))
{
$totalP=$row_m['total'];
$premORDREpaiement=$row_m['ordrePAY'];
$totalP=number_format($totalPAYE,"2","."," ");
$reste=$montantTOTAL-$totalP;
$reste_aff=number_format($reste,"2","."," ");
$montantApayer=number_format($reste,"2",""," ");
}
}
}
/** PARAMETRAGE **/
$merchantCode=CONST_CODE_MARCHAND;
$merchantpassword=CONST_MDP_XML;
$orderCode="payement"."!".$clientID."!".temp;
/** FIN PARAMETRAGE **/
/** $xml **/
//ICI UN SCRIPT XML PERMET DE POSTER L'ORDRE DE PAYEMENT ET LE PAYEMENT PROPREMENT DI
$xml="<?xml version='1.0'?>
<paymentService version='1.4' merchantCode='".$merchantCode."'>
<submit>
<order orderCode = '".$orderCode."'>
<description>
essa
</description>
<amount value='".$montantApayer."' currencyCode = '".$PAIdevise."' exponent = '2'/>
<orderContent>
Provide your oderContent here as described earlier.
</orderContent>
<payAsOrder orderCode='".$premORDREpaiement."' >
<amount value='".$montantApayer."' currencyCode = '".$devise."' exponent = '2'/>
</payAsOrder>
</order>
</submit>
</paymentService> ";
//++++ $xml **/
}
}
}
?>
Le script marche tres bien sauf un seul soucis.
je ne peut posté qu'un seul ordre de paiement à la fois
alors que les requetes me retournent 5 données de la base par exemple
Donc jai pensé que mon probleme se trouve au niveau du boucle de ma seconde requete qui ne lance qu'uneseule fois le code en XML pour poster les payements
jai fait print $req_m;
et il m'affiche bien 5 requetes par exemple en fonction du clientID trouvé dans la bdd
si vous avez des idées merçi