Paiement en ligne pour une adhésion


Mise en place d'un système de paiement en ligne greffé sur le module webform. Cela permet à une association de recevoir des règlements par carte bancaire à partir d'un webform Drupal

include_once(drupal_get_path('module', 'webform') .'/includes/webform.submissions.inc'); $nid = arg(1); // need to hard-code nid if this is a custom page $sid = $_GET['sid']; $submission = webform_get_submission($nid, $sid); $email = $submission->data[7]['value'][0]; $tarif = $submission->data[24]['value'][0]; /* pour les tarifs en double dans la liste, il y a une lettre après le prix: ex 40a, il suffit de tester si l'ensemble est numérique, si ce n'est pas un nombre, retirer la dernière lettre */ if (!is_numeric($tarif)) { $tarif = substr($tarif,0,-1); } $item = $submission->data[29]['value'][0]; $paiement =$submission->data[19]['value'][0];//component numero 19 function no_special_character_v2($chaine){ // les accents $chaine=trim($chaine); $chaine= strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); // les caracètres spéciaux (aures que lettres et chiffres en fait) $chaine = preg_replace('/([^.a-z0-9]+)/i', '-', $chaine); $chaine = strtolower($chaine); return $chaine; } //si le paiement est une carte bancaire if($paiement == "CB"){ // Choix du mode de paiement (test ou prod) //$modepaiement = "TEST"; $modepaiement = "PRODUCTION"; // PARAMETRE BANQUE // Initialisation des paramètres $params = array() ; if ($modepaiement == "TEST") { $key= "NUMERO TEST"; // Clé de test $params['vads_ctx_mode']= "TEST"; } else { $key= "NUMERO PRODUCTION"; // Clé de production $params['vads_ctx_mode']= "PRODUCTION"; } $params['vads_site_id']= "SITE_ID"; $params['vads_amount']= 100*$tarif; // en cents $params['vads_currency']= "978"; // norme ISO 4217 $params['vads_page_action']= "PAYMENT"; $params['vads_action_mode']= "INTERACTIVE"; // saisie de carte réalisée par la plateforme $params['vads_payment_config']= "SINGLE"; $params['vads_version']= "V2"; $params['vads_return_mode'] = "POST"; $params['vads_cust_email'] = $email; $params['vads_order_info'] = no_special_character_v2($item); // $params['vads_cust_name'] = $name; $params['vads_url_return'] = "/paiement-valide"; $params['vads_url_cancel'] = "/paiement-annule"; $params['vads_url_error'] = "/paiement-annule"; $params['vads_url_refused'] = "/paiement-annule"; $params['vads_url_referral'] = "/paiement-annule"; $ts= time(); $params['vads_trans_date'] = gmdate("YmdHis", $ts); $count= $sid; if($count < 0 || $count > 899999) { $count= 0; } $trans_id= sprintf("%06d",$count); $params['vads_trans_id']= $trans_id; // Génération de la signature ksort($params); // tri des paramètres par ordre alphabétique $contenu_signature = ""; foreach ($params as $nom => $valeur) { $contenu_signature .= $valeur."+"; } $contenu_signature .= $key ; // On ajoute le certificat à la fin $params['signature'] = sha1($contenu_signature); // Création de la form cachée et soumission echo '
'; echo ''; foreach($params as $nom => $valeur) { echo ''; } echo ''; echo ''; echo '
'; echo 'document.forms[0].submit();'; }

CONTACT


Vous souhaitez un devis ? Contactez moi ou envoyez moi votre cahier des charges par e-mail. Le tarif d'un site Internet est très variable, il dépend notamment du nombre de pages, de la complexité du graphisme à intégrer ou des fonctionnalités que vous souhaitez.