Mise en conformite DSP2 : renseigner les infos du payeur telles que configurees, issues de la reponse, si on utilise bank v4

svn/root/tags/v1.1.3
cedric@yterium.com 4 years ago
parent 8fbd5b74be
commit d1a92ed346

@ -83,6 +83,49 @@ function formidablepaiement_formulaire_fond($flux){
return $flux;
}
/**
* Renseigner les infos du payeur pour la demande de paiement (DSP2)
* @param array $flux
* @return array
*/
function formidablepaiement_bank_dsp2_renseigner_facturation($flux){
// si c'est une transaction associee a un form
if ($id_transaction = $flux['args']['id_transaction']
AND preg_match(",form\d+:,",$flux['args']['avant']['parrain'])
AND $id_formulaires_reponse = $flux['args']['avant']['tracking_id']){
$reponse = sql_fetsel('*','spip_formulaires_reponses','id_formulaires_reponse='.intval($id_formulaires_reponse));
$formulaire = sql_fetsel('*','spip_formulaires','id_formulaire='.intval($reponse['id_formulaire']));
if ($traitements = unserialize($formulaire['traitements'])
and isset($traitements['paiement'])) {
$champs_payeur = [
'auteur' => 'email',
'nom' => 'nom',
'prenom' => 'prenom',
'adresse' => 'adresse',
'code_postal' => 'code_postal',
'ville' => 'ville',
'pays' => 'pays',
];
include_spip('formidable_fonctions');
foreach ($champs_payeur as $champ_payeur => $info) {
if (isset($traitements['paiement']['champ_'.$champ_payeur])
and $nom_champ = $traitements['paiement']['champ_'.$champ_payeur]) {
if ($valeur = calculer_voir_reponse($id_formulaires_reponse, $reponse['id_formulaire'], $nom_champ, '', 'brut')) {
$flux['data'][$info] = $valeur;
}
}
}
}
}
return $flux;
}
/**
* Ajouter le message de retour post-paiement
* @param array $flux

@ -23,6 +23,15 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'traiter_paiement_option_message_label' => 'Message après paiement réussi',
'traiter_paiement_necessite_explication' => 'Pour la prise en charge du paiement, il est nécessaire d\'enregistrer les résultats dans la base de données.',
'traiter_paiement_dsp2_fieldset_legend' => 'Informations concernant le payeur',
'traiter_paiement_dsp2_explication' => 'Si votre formulaire collecte ces informations, indiquez ci-dessous les champs correspondant pour faciliter le paiement par CB et éviter une authentification renforcée',
'traiter_paiement_option_champ_nom' => 'Nom',
'traiter_paiement_option_champ_prenom' => 'Prénom',
'traiter_paiement_option_champ_adresse' => 'Adresse',
'traiter_paiement_option_champ_code_postal' => 'Code postal',
'traiter_paiement_option_champ_ville' => 'Ville',
'traiter_paiement_option_champ_pays' => 'Pays',
'titre_reglement' => 'Règlement',
'titre_reglement_montant' => 'pour un montant de <b>@montant@</b>',
);

@ -1,7 +1,7 @@
<paquet
prefix="formidablepaiement"
categorie="communication"
version="1.0.10"
version="1.1.0"
etat="stable"
compatibilite="[3.0.0;3.2.*]"
logo="prive/themes/spip/images/formidablepaiement-64.png"
@ -11,12 +11,13 @@
<nom>Formulaires de paiement</nom>
<auteur lien='http://nursit.com'>Cédric Morin</auteur>
<auteur lien='https://nursit.com'>Cédric Morin</auteur>
<licence>GNU/GPL</licence>
<pipeline nom="formulaire_charger" inclure="formidablepaiement_pipelines.php" />
<pipeline nom="formulaire_fond" inclure="formidablepaiement_pipelines.php" />
<pipeline nom="bank_dsp2_renseigner_facturation" inclure="formidablepaiement_pipelines.php" />
<pipeline nom="bank_traiter_reglement" inclure="formidablepaiement_pipelines.php" />
<pipeline nom="affiche_enfants" inclure="formidablepaiement_pipelines.php" />
<pipeline nom="affiche_milieu" inclure="formidablepaiement_pipelines.php" />

@ -51,6 +51,54 @@ options:
nom: 'champ_auteur'
label: '<:formidablepaiement:traiter_paiement_option_champ_auteur:>'
env: true
-
saisie: 'fieldset'
options:
label: '<:formidablepaiement:traiter_paiement_dsp2_fieldset_legend:>'
env: true
saisies:
-
saisie: 'explication'
options:
nom: 'explication_dsp2'
texte: '<:formidablepaiement:traiter_paiement_dsp2_explication:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_nom'
label: '<:formidablepaiement:traiter_paiement_option_champ_nom:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_prenom'
label: '<:formidablepaiement:traiter_paiement_option_champ_prenom:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_adresse'
label: '<:formidablepaiement:traiter_paiement_option_champ_adresse:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_code_postal'
label: '<:formidablepaiement:traiter_paiement_option_champ_code_postal:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_ville'
label: '<:formidablepaiement:traiter_paiement_option_champ_ville:>'
env: true
-
saisie: 'champ'
options:
nom: 'champ_pays'
label: '<:formidablepaiement:traiter_paiement_option_champ_pays:>'
env: true
-
saisie: 'textarea'
options:

Loading…
Cancel
Save