Пример #1
1
 public function ReturnMethod()
 {
     $this->bAjaxMethod = true;
     if (isset($_GET['token'])) {
         /*
          * Retour sur une ouverture de portefeuille
          */
         $oPayline = new PaylineModel();
         $oPayline->setConfig();
         $oPayline = new paylineSDK();
         $aWebWallet = $oPayline->get_WebWallet($_GET['token']);
         if ($aWebWallet['result']['code'] == '02500' || $aWebWallet['result']['code'] == '02501') {
             /*
              * Affiche payement en attente
              * (Cette étape ne fais que de l'affichage)
              */
             echo 'Votre payment est en cours de validation';
         } else {
             /*
              * Affiche opération échoué
              * (Cette étape ne fais que de l'affichage)
              */
             echo 'Votre moyen de payement n\'est pas valide';
         }
     } else {
         if (isset($_GET['paymentRecordId'])) {
             /*
              * Retour sur une échéance
              */
             $oPayline = new PaylineModel();
             $oPayline->setConfig();
             $oPayline->traitePaymentRecord($_GET['paymentRecordId']);
         } else {
             /*
              * Erreur, aucune donné fourni...
              */
         }
     }
 }
Пример #2
0
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<?php 
// INITIALIZE
include "../../include.php";
$array = array();
$payline = new paylineSDK();
//Token
$token = $_POST['token'];
// EXECUTE
$response = $payline->get_WebWallet($token);
if (isset($response)) {
    require '../demos/result/header.html';
    echo '<H3>RESPONSE</H3>';
    print_a($response, 0, true);
    require '../demos/result/footer.html';
}
Пример #3
0
 public function createNewAbonnementFromToken()
 {
     /*
      * Récupère les données de la table bo_payline_token et intéroge payline pour savoir ce qu'il en est
      */
     $oPayline = new paylineSDK();
     $aToken = $this->oPDO->query('SELECT * FROM bo_payline_token ORDER BY PTID ASC LIMIT 0,1')->fetch(PDO::FETCH_ASSOC);
     if (!$aToken) {
         return false;
     }
     /*
      * Intérogge Payline sur le token, si ok on créer le dossier de payment
      * Si token en attente on ne fais rien
      * Si echec du portefeuille on supprime toutes donné associé
      */
     // Cet appelle ne vise QUE à stoper la notification de Payline
     $aPaylineWallet = $oPayline->get_WebWallet($aToken['token']);
     /*
      * Si le code indique que le token est en attente, on retourne true
      * il faudra vérifier à nouveau dans 1 minutes,
      * sinon on continue
      */
     // Si code = 02306, l'utilisateur na pas terminé de taper ses donnée de CB
     if ($aPaylineWallet['result']['code'] == '02306') {
         return true;
     }
     // Récupère les information sur le portefeuille
     $aPaylineWallet = $this->getPaylineWallet($aToken['UID']);
     /*
      * Le portefeuil éxiste, on créer le dossier de paiement
      */
     if ($aPaylineWallet['result']['code'] == '02500' || $aPaylineWallet['result']['code'] == '02501') {
         /*
          * Récupére les données nécéssaire
          */
         $aPaymentFolder = $this->oPDO->query('SELECT * FROM bo_payline_folder WHERE paymentRecordId="' . $aToken['token'] . '"')->fetch(PDO::FETCH_ASSOC);
         /*
          * Calcule le montant de l'abonnement et la durée
          */
         $aAbonnement = $this->calcAbonnement($aToken['token']);
         // PAYMENT
         $aParam['payment']['amount'] = $aAbonnement['iTotalPrice'];
         // Montant total
         $aParam['payment']['currency'] = PAYMENT_CURRENCY;
         $aParam['payment']['action'] = PAYMENT_ACTION;
         $aParam['payment']['mode'] = PAYMENT_MODE;
         $aParam['payment']['contractNumber'] = CONTRACT_NUMBER;
         $aParam['payment']['differedActionDate'] = CONTRACT_NUMBER_LIST;
         // ORDER
         $aParam['orderRef'] = $aPaymentFolder['reforder'];
         $aParam['orderDate'] = date('d/m/Y H:m');
         //ORDER
         $aParam['order']['ref'] = $aPaymentFolder['reforder'];
         $aParam['order']['origin'] = '';
         $aParam['order']['country'] = 'FR';
         $aParam['order']['taxes'] = round($aAbonnement['iTotalPrice'] * 0.196);
         $aParam['order']['amount'] = $aAbonnement['iTotalPrice'];
         $aParam['order']['date'] = date('d/m/Y H:m');
         $aParam['order']['currency'] = ORDER_CURRENCY;
         // WALLET ID
         $aParam['walletId'] = $aToken['UID'];
         // scheduled
         $aParam['scheduled'] = '';
         // RECCURENT
         $aParam['recurring']['firstAmount'] = $aAbonnement['iPriceFirst'];
         $aParam['recurring']['amount'] = $aAbonnement['iRecurrentPrice'];
         $aParam['recurring']['billingCycle'] = 40;
         $aParam['recurring']['billingLeft'] = $aAbonnement['iRecurrentDuree'];
         $aParam['recurring']['billingDay'] = 5;
         $aParam['recurring']['startDate'] = '';
         // EXECUTE
         $aRecurrentPayment = $oPayline->do_recurrent_wallet_payment($aParam);
         // Si ce n'est pas bon on donne l'ordre de tout supprimer
         if ($aRecurrentPayment['result']['code'] != '02500' || $aRecurrentPayment['result']['code'] != '02501') {
             $bNeedDelete = true;
         } else {
             /*
              * Le dossier de payment est créer,
              * on modifie tout les paymentRecordId pour remplacer le numéro de token par le
              * véritable paymentRecordId
              */
             $this->oPDO->query('UPDATE bo_payline_folder SET paymentRecordId="' . $aRecurrentPayment['paymentRecordId'] . '" WHERE paymentRecordId="' . $aToken['token'] . '"');
             $this->getPaymentRecord($aRecurrentPayment['paymentRecordId']);
             $this->oPDO->query('UPDATE bo_payline_folder_product SET paymentRecordId="' . $aRecurrentPayment['paymentRecordId'] . '" WHERE paymentRecordId="' . $aToken['token'] . '"');
             $this->oPDO->query('UPDATE bo_payline_token WHERE token="' . $aToken['token'] . '"');
             $this->oPDO->query('DELETE FROM bo_payline_token WHERE token="' . $aToken['token'] . '"');
             $bNeedDelete = false;
         }
     } else {
         $bNeedDelete = true;
     }
     if ($bNeedDelete) {
         /*
          * Le portefeuille n'existe pas, on supprime toutes les donné lié
          */
         $this->oPDO->query('DELETE FROM bo_user_rib WHERE UID="' . $aToken['UID'] . '"');
         $this->oPDO->query('DELETE FROM bo_user_adresse WHERE UID="' . $aToken['UID'] . '"');
         $this->oPDO->query('DELETE FROM bo_user_info WHERE UID="' . $aToken['UID'] . '"');
         $this->oPDO->query('DELETE FROM bo_user WHERE UID="' . $aToken['UID'] . '"');
         $this->oPDO->query('DELETE FROM bo_payline_wallet WHERE UID="' . $aToken['UID'] . '"');
         $this->oPDO->query('DELETE FROM bo_payline_folder WHERE paymentRecordId="' . $aToken['token'] . '"');
         $this->oPDO->query('DELETE FROM bo_payline_folder_product WHERE paymentRecordId="' . $aToken['token'] . '"');
         $this->oPDO->query('DELETE FROM bo_payline_token WHERE paymentRecordId="' . $aToken['token'] . '"');
     }
     return true;
 }