Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Exemple de classe AXEPTA sur Github :


Anchor
_GoBack
_GoBack
Nous mettons à votre disposition une classe développée en PHP sur Github pour vous aider à construire vos requêtes vers la plateforme de paiement AXEPTA.


Cette classe est disponible via ce lien : https://github.com/aphania/axepta-access


A noter que :

  •   Les paramètres Data et Len sont calculés (Authentication HMAC incluse et chiffrement en Blowfish)
  •   Exceptions/alertes si des paramètres sont manquants 

...

  •     Si la réponse est valide (authentifiée), elle est décodée et les informations sont disponible en clair


    Voici un exemple d'utilisation dans la page qui doit rediriger les valeurs du paiement vers la plateforme de paiement :    

init the class

            $paymentRequest = new Axepta($Your_HMAC);

            $paymentRequest->setCryptKey($Your_CRYPTKEY);

           

Set your data in :

            $paymentRequest->setUrl(Axepta::PAYSSL);

...

            $paymentRequest->setRefNr($Your_Ref);

                        $paymentRequest->setURLSuccess("Your success URL page");   

...

            $paymentRequest->setURLNotify("Your notify URL page");           

            $paymentRequest->setURLBack("Your cancel URL back page");   

...

            $len = $paymentRequest->getLen();            // retrieve Crypt length


    fill your form

           echo "<html><body><form name=\"redirectForm\" method=\"GET\" action=\"" . $paymentRequest->getUrl() . "\">" .

...

 Voici un exemple d'utilisation lors d'une connexion server-to-server :    

    init the class

            $paymentRequest = new Axepta($Your_HMAC);
            $paymentRequest->setCryptKey($Your_CRYPTKEY);
           
    Set your data in :

            $paymentRequest->setUrl(Axepta::DIRECT);
            $paymentRequest->setMerchantID($Your_MERCHANTID);
            $paymentRequest->setTransID("Your paiement prefix" . $Your_Payment_id."/".rand(100000,999999));
            $paymentRequest->setAmount($Your_Amount*100);
            $paymentRequest->setCurrency('EUR');
            $paymentRequest->setRefNr($Your_Ref);
             
            $paymentRequest->setURLSuccess("Your success URL page");   
            $paymentRequest->setURLFailure("Your failure URL page");   
            $paymentRequest->setURLNotify("Your notify URL page");
              
            $paymentRequest->setURLBack("Your cancel URL back page");   
            $paymentRequest->setReponse('encrypt');   
            $paymentRequest->setLanguage('fr');
            $paymentRequest->setOrderDesc('Your Order description text');
            // ...
           
            // check your data
            $paymentRequest->validate();
       
            // compute
            $mac = $paymentRequest->getShaSign() ;         // run HMAC hash
            $data = $paymentRequest->getBfishCrypt();    // run Crypt & retrieve Data
            $len = $paymentRequest->getLen();            // retrieve Crypt length


    Send the POST REQUEST  REQUEST  :  ( code depending on the PHP framework you use )

                $transmit = array('MerchantID' => $paymentRequest->getMerchantID(), 'Len' => $len, 'Data' => $data);
            $request = Request::factory($paymentRequest->getUrl())           
                           ->headers('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8')
                               ->method(Request::POST)
                               ->post($transmit);


Voici un exemple d'utilisation lors de la réception de la réponse dans les pages URLnotify ou URLSuccess

        $paymentResponse = new Axepta($Your_HMAC);
        $paymentResponse->setCryptKey($Your_CRYPTKEY);
        $paymentResponse->setResponse($_GET);
        if($paymentResponse->isValid() && $paymentResponse->isSuccessful()) {
            $TransID = $paymentResponse->getPayID();
            $PCNr = $paymentResponse->getPCNr();
            $CCBrand  = $paymentResponse->getCCBrand();
            $CCExpiry = $paymentResponse->getCCExpiry();
            // .....
        } else {
            // Fail ....
        }

...