rollincode / RCPaiementCMCICBundle

Bundle Symfony 2 de paiement pour les banques Credit Mutuel et Crédit Industriel et Commercial - paiement cmcic bundle
0 stars 6 forks source link

Probleme CDR retour. #7

Closed xorgxx closed 7 years ago

xorgxx commented 7 years ago

Bonjour, en test tout fonction bien. je veux passer en mode prod la le CM ne dit que les codes de retour sont faux !??? (ver = 2; cdr = 015)

Merci d'une aide.

nicovak commented 7 years ago

As-tu vérifié l'url de prod ? Et la version ? SERVEUR_PREPROD et VERSION Dans app/config/services.yml

serveur:
    # URL pour la prod ex: "https://ssl.paiement.cic-banques.fr/"
    SERVEUR_PROD: "MON_URL"
    # URL pour la préprod ex: "https://ssl.paiement.cic-banques.fr/test/"
    SERVEUR_PREPROD: "MON_URL"
    VERSION: "3.0"
xorgxx commented 7 years ago

pour info je suis toujours en test mode

        SERVEUR_PREPROD: "https://p.monetico-services.com/test/"
        VERSION: "3.0"
nicovak commented 7 years ago

Il ne peut y avoir qu'un seul mode actif avec ce genre de système, prod OU preprod. Donc si l'un st actif l'autre n'est pas disponible.

xorgxx commented 7 years ago

je croix que la cle est en ver 1 VERSION 1 : E26870860228D268.........

xorgxx commented 7 years ago

        # URL pour la prod ex: "https://ssl.paiement.cic-banques.fr/"
        SERVEUR_PROD: "MON_URL"
        # URL pour la préprod ex: "https://ssl.paiement.cic-banques.fr/test/"
        SERVEUR_PREPROD: "https://p.monetico-services.com/test/"
        VERSION: "3.0"```
xorgxx commented 7 years ago

j'ai trouvé cela dans le TpeService :

if ($kernel->getEnvironment() != "prod") {
            $this->serveur = $configServeur['SERVEUR_PREPROD'];
        } else {
            $this->serveur = $configServeur['SERVEUR_PROD'];
        }

hors moi je n'ai pas de url de retour dans le parametre SERVEUR_PROD: du config.yml

xorgxx commented 7 years ago

donc je récapitule ::

le seul souci c'est que la réponse est erronée. ver=2; cdr=015

au final la transaction est validée des deux cotés mais je retourne une mauvaise réponse au CM.

Version Sf 3.2.6, rollincode/paiementcmcic-bundle dev-master 00d1e3c Add CMCIC TPE

xorgxx commented 7 years ago

dans ce code

    public function retourServeurAction(Request $request) {
        $servicePayment         = $this->get('cmcic_tpe');
        $serviceLogicPayment    = $this->get('cmcic_logic_tpe');

        if ($request->isMethod('POST')) {
            $parameters = $request->request->all();
        } else {
            $parameters = $request->query->all();
        }

        $verified = $servicePayment->verifieSignature($parameters);

        if ($verified) {
            // traite payment back in this logic ==========================
            $serviceLogicPayment->handlePaymentLogic($parameters);
        }

        $receipt = $servicePayment->getFinalReceipt();

        $response = new Response();
        $response->setContent(printf($servicePayment::$receipt, $receipt));
        $response->setStatusCode(Response::HTTP_OK);
        $response->headers->set('Content-Type', 'text/plain');
        $response->headers->set('Pragma', 'no-cache');

        return $response;
    }

debug ---> $servicePayment::$receipt = 0; $receipt = 0
xorgxx commented 7 years ago

je pense que $servicePayment->verifieSignature($parameters); bug, tout est bien vérifier et validé.

dans la fonction verifieSignature

$this->setFinalReceipt($this->handleReceipt($verified, $cgiRetour));
$verified = true
$cgiRetour = un array
$receipt = $servicePayment->getFinalReceipt();
$receipt = 0
xorgxx commented 7 years ago

c'est lui qui n'est pas bon !!! $servicePayment::$receipt

xorgxx commented 7 years ago

voila erreur !!!!

dans : public function retourServeurAction

from
$response->setContent(printf($servicePayment::$receipt, $receipt));  

to
$response->setContent(sprintf($servicePayment::$receipt, $receipt));

ce matin tout fonctionne .... pour combien de temps ???