Bonjour
Je suis confrontée a un soucis.
Ma société veux mettre un paiement en ligne concernant des factures.
Elle veux que je l'intègre sur le site web de celle ci .
Ce site web est juste un simple site vitrine qui a été fait par WordPress.
C'est pas l'intégré qui me soucis actuellement mais la rédaction de ce fichier.
La banque m'a bien fourni une documentation sur la mise en place via PHP sauf que je ne comprend pas une chose .
Sur leur fichier, sur le formulaire, il n'y a qu'un bouton validé , ts les autres champs sont cachés.
Le problème c'est que mon chef veux que le client rentre son nom, son email, la référence de la facture, la référence facture et le montant de la facture qu'il veux régler.
Je ne trouve aucun explication pour ces ajouts de ligne.
Dois je créer une base de données?
Je n'ai trouvé aucun tutos sur google
J'ajouterai bien ses lignes dans le formulaire.
A moins que je dois faire un formulaire a part?
Si une personne a déjà du mettre ce système en place , j'aimerai bien un peu d'aide
Je ne vous mets que le fichier du formulaire .
J'améliorai le formulaire une fois que mes fonctionnalités marchent

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
 
 
<?php
 
// --------------- D�CLARATION DES VARIABLES ---------------
 
$pbx_site = '9999999';															//variable de test 9999999
$pbx_rang = ' 95';															//variable de test 95
$pbx_identifiant = '123456789';										//variable de test 123456789
$pbx_total = "200";															//variable de test 200
// Suppression des points ou virgules dans le montant						
$pbx_total = str_replace(",", "", $pbx_total);
$pbx_total = str_replace(".", "", $pbx_total);
 
$pbx_cmd = 'cmd_test1';														//variable de test cmd_test1 ( référence commande coté commerçant)
$pbx_porteur = '';													//variable de test (adresse email du porteur de la cb )
 
 
 
//ajout SUPPLEMENTAIRE de champ dans le formulaire
$pbx_name = "";
$pbx_mail = "";
$pbx_reference_piece = "";
$pbx_reference_client = "";
 
 
// Param�trage de l'url de retour back office site (notification de paiement IPN) :
$pbx_repondre_a = '';
 
// Param�trage des donn�es retourn�es via l'IPN :
$pbx_retour = 'Mt:M;Ref:R;Auto:A;Erreur:E'; //référence a recevoir (le E permets de savoir l'erreur ( chiffre comment par 000 ou 001XX) , se reporter à la notice, en cas de succés : E égale 00000)
 
// Param�trage des urls de redirection navigateur client apr�s paiement :
$pbx_effectue = 'http://www.votre-site.extention/accepte.php';
$pbx_annule = 'http://www.votre-site.extention/annule.php';
$pbx_refuse = 'http://www.votre-site.extention/refuse.php';
 
// On r�cup�re la date au format ISO-8601 :
$dateTime = date("c");
 
// Nombre de produit envoy� dans PBX_SHOPPINGCART :
$pbx_nb_produit = 'nombre de produit dans le panier';									//variable de test 5
// Construction de PBX_SHOPPINGCART :
$pbx_shoppingcart = "<?xml version=\"1.0\" encoding=\"utf-8\"?><shoppingcart><total><totalQuantity>" . $pbx_nb_produit . "</totalQuantity></total></shoppingcart>";
 
// Valeurs envoyées dans PBX_BILLING :
$pbx_prenom_fact = 'prenom de l utilisateur de facturation';							//variable de test Jean-Marie
$pbx_nom_fact = 'nom de l utilisateur de facturation';									//variable de test Thomson
$pbx_adresse1_fact = 'ligne1 de l adresse de facturation';								//variable de test 1 rue de Paris
$pbx_adresse2_fact = 'ligne2 de l adresse de facturation';								//variable de test <vide>
$pbx_zipcode_fact = 'code postal de l adresse de facturation';							//variable de test 75001
$pbx_city_fact = 'ville de l adresse de facturation';									//variable de test Paris
$pbx_country_fact = 'code pays iso-3166-1 numérique de l adresse de facturation';		//variable de test 250 (pour la France)
// Construction de PBX_BILLING :
$pbx_billing = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Billing><Address><FirstName>" . $pbx_prenom_fact . "</FirstName>" .
	"<LastName>" . $pbx_nom_fact . "</LastName><Address1>" . $pbx_adresse1_fact . "</Address1>" .
	"<Address2>" . $pbx_adresse2_fact . "</Address2><ZipCode>" . $pbx_zipcode_fact . "</ZipCode>" .
	"<City>" . $pbx_city_fact . "</City><CountryCode>" . $pbx_country_fact . "</CountryCode>" .
	"</Address></Billing>";
 
// --------------- SELECTION DE L'ENVIRRONEMENT ---------------
// Recette (paiements de test)  :
$urletrans = "";
 
// Production (paiements r�els) :
// URL principale :
// $urletrans ="";
// URL secondaire :
// $urletrans ="";
 
// --------------- RECUPERATION DE LA CLE HMAC ---------------
// Connection à la base de données
// mysql_connect...
// On récupère la clé secréte HMAC (stockée dans une base de données par exemple) et que l'on renseigne dans la variable $hmackey;
$hmackey = '4642EDBBDFF9790734E673A9974FC9DD4EF40AA2929925C40B3A95170FF5A578E7D2579D6074E28A78BD07D633C0E72A378AD83D4428B0F3741102B69AD1DBB0';
// $hmackey = 'votre clé générée depuis le back office Vision';
 
// --------------- TRAITEMENT DES VARIABLES ---------------
 
// On cr�e la cha�ne � hacher sans URLencodage
$msg = "PBX_SITE=" . $pbx_site .
	"&PBX_RANG=" . $pbx_rang .
	"&PBX_IDENTIFIANT=" . $pbx_identifiant .
	"&PBX_TOTAL=" . $pbx_total .
	"&PBX_DEVISE=978" .
	"&PBX_CMD=" . $pbx_cmd .
	"&PBX_PORTEUR=" . $pbx_porteur .
	"&PBX_REPONDRE_A=" . $pbx_repondre_a .
	"&PBX_RETOUR=" . $pbx_retour .
	"&PBX_EFFECTUE=" . $pbx_effectue .
	"&PBX_ANNULE=" . $pbx_annule .
	"&PBX_REFUSE=" . $pbx_refuse .
	"&PBX_HASH=SHA512" .
	"&PBX_TIME=" . $dateTime .
	"&PBX_SHOPPINGCART=" . $pbx_shoppingcart .
	//ajout des differents names 
	"&PBX_NAME=" . $pbx_name.
	"&PBX_EMAIL=" . $pbx_mail .
	"&PBX_REFERENCE_PIECE=" . $pbx_reference_piece .
	"&PBX_REFERENCE_CLIENT=" . $pbx_reference_client .
 
	"&PBX_BILLING=" . $pbx_billing;
 
 
// echo "$ msg :" . $msg;
 
// Si la cl� est en ASCII, On la transforme en binaire
$binKey = pack("H*", $hmackey);
 
// On calcule l�empreinte (� renseigner dans le param�tre PBX_HMAC) gr�ce � la fonction hash_hmac et //
// la cl� binaire
// On envoi via la variable PBX_HASH l'algorithme de hachage qui a �t� utilis� (SHA512 dans ce cas)
// Pour afficher la liste des algorithmes disponibles sur votre environnement, d�commentez la ligne //
// suivante
//print_r(hash_algos());
$hmac = strtoupper(hash_hmac('sha512', $msg, $binKey));
 
// La cha�ne sera envoy�e en majuscule, d'o� l'utilisation de strtoupper()
// On cr�e le formulaire � envoyer
// ATTENTION : l'ordre des champs dans le formulaire est extr�mement important, il doit
// correspondre exactement � l'ordre des champs dans la cha�ne hach�e.
?>
 
<!------------------ ENVOI DES INFORMATIONS A e-Transactions (Formulaire) ------------------>
<!--les commentaires sont en dessous des variables désignées et celles qui possèdent une astèrisque * sont obligatoires-->
<form method="POST" action="<?php echo $urletrans; ?>">
	<input type="hidden" name="PBX_SITE" value="<?php echo $pbx_site; ?>">
	<!--*numéro de site fourni par e-Transactions-->
	<input type="hidden" name="PBX_RANG" value="<?php echo $pbx_rang; ?>">
	<!--*numéro de rang fourni par e-Transactions-->
	<input type="hidden" name="PBX_IDENTIFIANT" value="<?php echo $pbx_identifiant; ?>">
	<!--*indentifiant interne fourni par e-Transactions-->
	<div>
		<label>montant à payer </label>
		<input type="number" name="PBX_TOTAL" value="<?php echo $pbx_total ?>">
		<!--*montant total de la transaction-->
	</div>
 
 
	<input type="hidden" name="PBX_DEVISE" value="978">
	<!--*devise de la transaction -->
	<input type="hidden" name="PBX_CMD" value="<?php echo $pbx_cmd; ?>">
	<!--*référence commande coté commerçant -->
	<!-- <input type="hidden" name="PBX_SOURCE" value="RWD">
	systématique RWD pour affichage responsive design -->
	<input type="hidden" name="PBX_PORTEUR" value="<?php echo $pbx_porteur; ?>">
	<!--*adresse e-mail de l'acheteur-->
	<input type="hidden" name="PBX_REPONDRE_A" value="<?php echo $pbx_repondre_a; ?>">
	<input type="hidden" name="PBX_RETOUR" value="<?php echo $pbx_retour; ?>">
	<!--*listes des variables a retourner par e-transactions-->
	<input type="hidden" name="PBX_EFFECTUE" value="<?php echo $pbx_effectue; ?>">
	<input type="hidden" name="PBX_ANNULE" value="<?php echo $pbx_annule; ?>">
	<input type="hidden" name="PBX_REFUSE" value="<?php echo $pbx_refuse; ?>">
	<input type="hidden" name="PBX_HASH" value="SHA512">
	<!--*type d'algorithme de hachage pour le calcul de l'empreinte-->
	<input type="hidden" name="PBX_TIME" value="<?php echo $dateTime; ?>">
	<!--*horodatage de la transaction-->
	<input type="hidden" name="PBX_SHOPPINGCART" value="<?php echo htmlspecialchars($pbx_shoppingcart); ?>">
 
	<!---------champs que j'ai ajouté sur le formulaire -------->
	<div>
		<label>nom:</label>
		<input type="text" id="nom" name="PBX_NAME" required />
	</div>
	<div>
		<label>Email:</label>
		<input type="email" id="email" name="PBX_EMAIL" required />
	</div>
	<div>
		<label>Référence pièce:</label>
		<input type="text" id="reference_piece" name="PBX_REFERENCE_PIECE" required />
	</div>
	<div>
		<label>Référence client:</label>
		<input type="text" id="reference_client" name="PBX_REFERENCE_CLIENT" required />
	</div>
 
	<!--------------------------------------------------------------------------------->
 
 
	<input type="hidden" name="PBX_BILLING" value="<?php echo htmlspecialchars($pbx_billing); ?>">
	<input type="hidden" name="PBX_HMAC" value="<?php echo $hmac; ?>">
	<!--*signature cachée avec la clé secrète HMAC-->
	<!--*signaturecalculée avec la clé secrete-->
 
	<input type="submit" value="Envoyer">
</form>