Récupérer le array de paypal

Résolu/Fermé
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 - Modifié le 7 mars 2020 à 14:56
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 9 mars 2020 à 21:42
Bonjour,

J'ai créer une boutique en ligne avec un mode de paiement paypal une fois que le paiement est fais j'ai un fichier qui est stocké dans mon serveur avec toutes les informations du client.

Je vous met un exemple du tableau:
Array
(
    [mc_gross] => 49.99
    [protection_eligibility] => Eligible
    [address_status] => confirmed
    [item_number1] => 1
    [payer_id] => FM8AYSQW2D6PY
    [address_street] => 14 Boulevard adresse
    [payment_status] => Completed
    [charset] => windows-1252
    [address_zip] => 59342
    [first_name] => Wyllian 
    [mc_fee] => 49.99
    [address_country_code] => FR
    [address_name] => Star Etoile
    [notify_version] => 3.9
    [custom] => user_id=5
    [payer_status] => verified
    [business] => mail@mail.fr
    [address_country] => France
    [num_cart_items] => 1
    [address_city] => VILLE
    [verify_sign] => An9hM76wM2U3wzRYjt6.GGRJApCP3kb8Hzs15Fyhu-rrUE
    [payer_email] => autre@autre.fr
    [txn_id] => 6K9278121V
    [payment_type] => instant
    [last_name] => WILSON
    [item_name1] => ECRAN ASUS VK193D
    [address_state] => 
    [receiver_email] => mail@mail.fr
    [payment_fee] => 
    [shipping_discount] => 0.00
    [quantity1] => 1
    [insurance_amount] => 0.00
    [receiver_id] => PDL8NVAEN
    [txn_type] => cart
    [discount] => 0.00
    [mc_gross_1] => 49.99
    [mc_currency] => EUR
    [residence_country] => FR
    [shipping_method] => Default
    [transaction_subject] => 
    [payment_gross] => 
    [ipn_track_id] => 8727780cde
)


Toute les données au dessus sont stocké dans un fichier texte situé dans mon serveur.


Ce que je voudrais faire c'est récupérer les valeurs importante comme le nom, prénom, adresse, ville, code postal ainsi de suite dans mon logiciel.

Le problème étant que si j'ai plusieurs article il faudrait que dans un list view j'ai tout les article qui se récupère avec la quantité et le tarif par exemple
[item_name1] => ECRAN ASUS VK193D
[quantity1] => 1
[item_name2] => CLAVIER ASUS
[quantity2] => 4
[mc_gross1] => 49.99
[mc_gross2] => 119.96


Ce qui fait dans le listview:

Article - Quantiter - Prix
ECRAN ASUS VK193D - 1 - 49.99
CLAVIER ASUS - 4 - 119.96

TOTAL - 5 - 169.95



est-ce que quelqu'un pourrait m'aider s'il vous plaît ?
Je code en VB.NET

Cordialement.

8 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
7 mars 2020 à 17:35
Bonsoir

As tu essayé avec des regex?
Un exemple avec 2 articles en supposant que le prix arrive en premier et que les datas d’un articles ne sont pas mélangés avec le 2 eme.

Copie colle le lien ci dessous, sur le site clique sur l’onglet « tables » tu verras pour chaque capture, le prix, l’article et la quantité

http://regexstorm.net/tester?p=%5c%5bmc_gross%28%5cd*%29%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3cprix%3e%5cd%2b%5c.%5cd%7b2%7d%29.%2b%5c%5bitem_name%5c1%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3carticle%3e%5b%5cw+%5d%2b%29.%2b%5c%5bquantity%5c1%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3cquantite%3e%5cd%2b%29&i=++++%5bmc_gross1%5d+%3d%3e+49.99%0d%0a++++%5bitem_name1%5d+%3d%3e+ECRAN+ASUS+VK193D%0d%0a++++%5bquantity1%5d+%3d%3e+1%0d%0a++++%5bmc_gross2%5d+%3d%3e+119.96%0d%0aDu+texte+au+mileu%0d%0a++++%5bitem_name2%5d+%3d%3e+CLAVIER+ASUS%0d%0aEt+l%c3%a0+aussi%0d%0aEt+encore++++%5bquantity2%5d+%3d%3e+4%0d%0a&o=s

1
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
7 mars 2020 à 18:58
Non je n'ai pas essayé cela car je ne connais pas il y a t'il pas un moyen de faire lire le document et que quand cela lit par exemple item name 1 et bien cela sélectionne l'article ?

Je vais me renseigner sur les regex.
Merci de votre aide.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
7 mars 2020 à 19:16
il y a t'il pas un moyen de faire lire le document et que quand cela lit par exemple item name 1 et bien cela sélectionne l'article ?


Je t'ai mis un lien, si tu étais allé voir, je ne pense pas que tu aurais posé cette question.

1
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
7 mars 2020 à 20:04
J'y suis aller voir mais je ne sais pas comment le mettre dans mon logiciel en vb.net et je sais pas non plus par où commencer c'est juste ça après peut être que je suis passer à côté de quelque chose mais bon je vais regarder mieux en cas par contre tu dis qu'il faut commencer par le prix et qu'il ne faut pas que les datas des articles soit mélangé avec le second hors je n'ai pas la mains sur ce qui ce met dans ce fichier texte puisque c'est paypal qui créer le fichier.

Cordialement.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
7 mars 2020 à 21:53
J'ai bien compris que c'est un fichier paypal.
Que tu ne saches pas comment te servir des regex c'est une chose, mais si tu réponds, "OK j'ai vu mais j'ai pas compris", je prends le temps de t'expliquer.

Ce qui m'interpelle c'est que je te montre un outil qui extrait des infos d'un texte (j'ai fait des hypothèse mais c'est un premier jet...) et toi tu me redemandes un outils qui extrait des infos d'un texte. Donc, ma première idée a été "il ne s'est même pas donné la peine d'aller voir".


Revenons à ton problème, je sui parti du principe que le prix arrive avant parce que c'est la première ligne de ton tableau d'exemple (bon y a pas de chiffre....). Dans ton second exemple, il y a le prix d'un article avec le code "item_name1", en faisant Crtl+F dans le tableau, on le trouve pas, je me suis dit que pour un article, y'a pas le "1".
Sauf que, ce soir en y regardant de plus près j'ai vu que ton second exemple est incorrect. En fait c'est "item_name_1".

Donc maintenant, j'ai corrigé ma regex,
http://regexstorm.net/tester?p=%5c%5bitem_name%28%5cd%2b%29%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3carticle%3e%5b%5cw+%5d%2b%29.%2b%5c%5bquantity%5c1%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3cquantite%3e%5cd%2b%29.%2b%5c%5bmc_gross_%5c1%5c%5d%5cs%2b%3d%3e%5cs%2b%28%3f%3cprix%3e%5cd%2b%5c.%5cd%7b2%7d%29&i=Array%0d%0a%28%0d%0a++++%5baddress_city%5d+%3d%3e+VILLE%0d%0a++++%5bverify_sign%5d+%3d%3e+An9hM76wM2U3wzRYjt6.GGRJApCP3kb8Hzs15Fyhu-rrUE%0d%0a++++%5bpayer_email%5d+%3d%3e+autre%40autre.fr%0d%0a++++%5btxn_id%5d+%3d%3e+6K9278121V%0d%0a++++%5bpayment_type%5d+%3d%3e+instant%0d%0a++++%5blast_name%5d+%3d%3e+WILSON%0d%0a++++%5bitem_name1%5d+%3d%3e+ECRAN+ASUS+VK193D%0d%0a++++%5baddress_state%5d+%3d%3e+%0d%0a++++%5breceiver_email%5d+%3d%3e+mail%40mail.fr%0d%0a++++%5bpayment_fee%5d+%3d%3e+%0d%0a++++%5bshipping_discount%5d+%3d%3e+0.00%0d%0a++++%5bquantity1%5d+%3d%3e+1%0d%0a++++%5binsurance_amount%5d+%3d%3e+0.00%0d%0a++++%5breceiver_id%5d+%3d%3e+PDL8NVAEN%0d%0a++++%5btxn_type%5d+%3d%3e+cart%0d%0a++++%5bdiscount%5d+%3d%3e+0.00%0d%0a++++%5bmc_gross_1%5d+%3d%3e+49.99%0d%0a++++%5bmc_currency%5d+%3d%3e+EUR%0d%0a++++%5bresidence_country%5d+%3d%3e+FR%0d%0a++++%5bshipping_method%5d+%3d%3e+Default%0d%0a++++%5btransaction_subject%5d+%3d%3e+%0d%0a++++%5bpayment_gross%5d+%3d%3e+%0d%0a++++%5bipn_track_id%5d+%3d%3e+8727780cde%0d%0a%29%0d%0a&o=s

Dans la zone "Input" tu vas copier coller plusieurs de ces fichiers et voir si ça capture bien tous les articles.

Si oui, on continue, sinon, tu mets ici le fichier anonymisé qui n'a pas fonctionné.

PS, j'ai supprimé une partie du tableau (dont on n'a pas besoin pour le moment), car le site de test ne génère pas de lien quand le texte est trop long.

PS2, c'est un algorithme qui génère ce tableau, il est très probable que les infos suivent toujours le même modèle et quand y'a un modèle, y'a une regex.
1
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
8 mars 2020 à 10:15
Je vois ce que tu veux dire désolé je me suis mal expliqué.

J'ai compris que tu me passer un lien pour lire le fichier ;) mais après ce que je demande en fait c'est juste un petit exemple de comment l'insérer dans mon logiciel car la vraiment je ne comprend pas par où commencer.

Dit moi si j'ai raison ou pas stp :

Tu me passe un lien avec un test de regex qui me donne effectivement ce que j'attend en terme des infos de la commande.

Maintenant il ne me manque plus qu'à implémenter le regex dans mon code VB.NET
Puis à voir exactement comment sélectionner ce que je veux et remplir mon listview ou datagridview je sais pas ce qui est le mieux pour gérer les commandes ;)

J'espère que tu me comprends et j'espère que je prends pas trop de ton temps :)
Merci vraiment de m'éclaircir la dessus.
Cordialement.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
8 mars 2020 à 10:42
Bonjour
Je ne peux pas te montrer un exemple dans la journée.
Peux tu poster un fichier anonymisé qui contient au moins 2 articles, plus si possible?

Je tache de te poster un exemple dans la soirée
1
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
8 mars 2020 à 11:06
Bonjour,

Pas de soucis.
Voici ce que cela donne avec 3 articles.

Merci de ton aide.


Array
(
    [mc_gross] => 960
    [protection_eligibility] => Eligible
    [address_status] => confirmed
    [item_number1] => 1
    [item_number2] => 2
    [payer_id] => FM8AYSQW2D6PY
    [item_number3] => 12
    [address_street] => 14 Boulevard Adresse
    [payment_date] => 01:53:04 Mar 08, 2020 PST
    [payment_status] => Completed
    [charset] => windows-1252
    [address_zip] => 59590
    [first_name] => Wylliam
    [mc_fee] => 960
    [address_country_code] => FR
    [address_name] => Star Etoile
    [notify_version] => 3.9
    [custom] => user_id=59
    [payer_status] => verified
    [business] => mail@mail.fr
    [address_country] => France
    [num_cart_items] => 3
    [address_city] => VILLE
    [verify_sign] => AID8aPWsvyJhjPTvM
    [payer_email] => mailpayer@mailpayer.fr
    [txn_id] => 2BX95528T
    [payment_type] => instant
    [last_name] => NOM DE FAMILLE
    [address_state] => 
    [item_name1] => ECRAN ASUS VK193D
    [receiver_email] => mail@mailfr
    [item_name2] => Acer aspire M1100
    [payment_fee] => 
    [item_name3] => Ordi portable ASUS
    [shipping_discount] => 0.00
    [quantity1] => 1
    [insurance_amount] => 0.00
    [quantity2] => 1
    [receiver_id] => PDL8AEN
    [quantity3] => 2
    [txn_type] => cart
    [discount] => 0.00
    [mc_gross_1] => 49.99
    [mc_currency] => EUR
    [mc_gross_2] => 149.99
    [mc_gross_3] => 760.02
    [residence_country] => FR
    [shipping_method] => Default
    [transaction_subject] => 
    [payment_gross] => 
    [ipn_track_id] => b05dae
)


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
8 mars 2020 à 21:52
Ok
donc les datas des articles s'entremêlent, voir les commentaires
    [item_name1] => ECRAN ASUS VK193D 'item1
    [receiver_email] => mail@mailfr
    [item_name2] => Acer aspire M1100                     'item2
    [payment_fee] => 
    [item_name3] => Ordi portable ASUS                                      'item3
    [shipping_discount] => 0.00
    [quantity1] => 1                                           'item1
    [insurance_amount] => 0.00
    [quantity2] => 1                                                           'item2
    [receiver_id] => PDL8AEN
    [quantity3] => 2                                                                            'item3
    [txn_type] => cart
    [discount] => 0.00
    [mc_gross_1] => 49.99                             'item1
    [mc_currency] => EUR
    [mc_gross_2] => 149.99                                             'item2
    [mc_gross_3] => 760.02                                                             'item3
    [residence_country] => FR
    [shipping_method] => Default
    [transaction_subject] => 
    [payment_gross] => 
    [ipn_track_id] => b05dae


Trouver une regex qui va extraire les datas du client et la liste des articles triée comme il faut risque d'être compliqué.
J'ai donc fait en 2 étapes
  • les datas clients
  • une boucle pour les articles


D'abord 2 classes, une pour les articles
Class Article
    Public Property Designation As String
    Public Property Quantite As Integer
    Public Property Prix As Double
End Class

et une pour la commande qui contient une liste d'articles
Class Commande
    Public Property Nom As String
    Public Property Prenom As String
    Public Property Adresse As String
    Public Property CP As Integer
    Public Property Ville As String
    Public Property Articles As List(Of Article)
End Class


Ensuite le code pour lire le fichier et charger une instance de Commande
    Dim patternAcheteur As String = "\[address_street]\s+=>\s+(?<adresse>[\w ]+).*\[address_zip]\s+=>\s+(?<cp>[\w ]+).*\[first_name]\s+=>\s+(?<prenom>[\w ]+).*\[address_city]\s+=>\s+(?<ville>[\w ]+).*\[last_name]\s+=>\s+(?<nom>[\w ]+)" 'modèle de recherche des datas acheteur

    Dim commande As String = File.ReadAllText("test.txt") 'lecture du fichier

    Dim m As Match = Regex.Match(commande, patternAcheteur, RegexOptions.Singleline) 'passage dans la regex
    Dim c As Commande = Nothing

    If m.Success Then 'si la regex capture les datas on crée l'instance de Commande
        c = New Commande()
        c.Adresse = m.Groups("adresse").Value
        c.CP = Convert.ToInt32(m.Groups("cp").Value)
        c.Nom = m.Groups("nom").Value
        c.Prenom = m.Groups("prenom").Value
        c.Ville = m.Groups("ville").Value
        c.Articles = New List(Of Article)()
        Dim numero As Integer = 1

        While True 'boucle pour les articles
            Dim patternArticle As String = String.Format("\[item_name({0})", numero) & "\]\s+=>\s+(?<article>[\w ]+).+\[quantity\1\]\s+=>\s+(?<quantite>\d+).+\[mc_gross_\1\]\s+=>\s+(?<prix>\d+\.\d{2})" 'modèle de recherche dont le numéro change à chaque itération

            m = Regex.Match(commande, patternArticle, RegexOptions.Singleline) 'passage dans la regex

            If m.Success Then 'si elle trouve une occurence, on enregistre l'article
                Dim a As Article = New Article()
                a.Designation = m.Groups("article").Value
                a.Prix = Convert.ToDouble(m.Groups("prix").Value, CultureInfo.InvariantCulture)
                a.Quantite = Convert.ToInt32(m.Groups("quantite").Value)
                c.Articles.Add(a)
                numero += 1
            Else' sinon on sort de la boucle
                Exit While
            End If
        End While
    End If

    If c Is Nothing Then
        MessageBox.Show("La première regex n'a pas trouvé d'occurence")
    ElseIf c.Articles.Count = 0 Then
        MessageBox.Show("La deuxième regex n'a pas trouvé d'occurence")
    End If


Ensuite pour afficher, tu peux utiliser le binding, comme décrit là https://codes-sources.commentcamarche.net/faq/1291-utilisation-du-binding-au-travers-de-l-objet-databindingsource si tu travailles en winform ou ici https://codes-sources.commentcamarche.net/faq/11277-apercu-du-binding-en-wpf pour le WPF.

PS: j'ai codé en C# puis traduit le code via un traducteur en ligne, mais je n'ai pas pris le temps de tester en VB. Normalement c'est bon
1
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
9 mars 2020 à 21:26
C'est pour ça que j'ai commencé par te montrer le site de test.
Il y en a plein, mais regexstorm est dédié à l'implémentation en .Net (les moteurs de regex sont un peu différents d'un langage à l'autre).

Tu copies colles le texte et tu construis le pattern tout en vérifiant au fur et à mesure son efficacité.
Il faut que le modèle corresponde. C'est un peu comme le jeu à la maternelle, si tu cherches un carré avec un trou en étoile ça ne marche pas.

Là tu cherches le prénom puis n'importe quoi puis le nom => OK, mais après tu cherches l'email, qui en fait se trouve entre le prénom et le nom à partir de là ça ne marche plus.

Sers toi de la page "Référence" la syntaxe y est décrite, il y a même des exemples.
Il y a aussi ce bon tuto pour .Net https://lgmorand.developpez.com/dotnet/regex/ les codes sont en C# mais tu peux les convertir https://lite.qwant.com/?q=c%23+to+vb&client=opensearch

Je vais te décortiquer une ligne
"\[address_street]\s+=>\s+(?<adresse>[\w ]+).*"

'[ est un caractère clé dans la syntaxe regex, or je cherche vraiment ce caractère,
'il faut l'associer avec \ pour le signaler à la regex. On appelle cela "échapper" 
"\["

'ensuite je cherche littéralement address_street donc je le mets
"\[address_street"

'] est aussi un caractère clé, mais il doit être précédé d'un [.
'or on a échappé le [ donc la regex ne prend pas ] pour une "fermeture"
"\[address_street]"

'ensuite, on vois qu'il y a plusieurs espaces ou tabulations \s correspond à un espacement,
'il doit y en avoir au moins 1, mais il n'y a pas de limite haute, on signifie cela par un +
"\[address_street]\s+"

'ensuite on cherche littéralement => et encore un ou plusieurs espacements
"\[address_street]\s+=>\s+"

'maintenant on en arrive au texte que l'on veut extraire, pour cela il suffit de le mettre dans un groupe.
'Un groupe est délimité par ( ). En .Net (et dans de nombreux autres moteurs, mais pas tous)
'on peut donner un nom à un groupe, le nom est délimité par ?< > . Finalement le modèle
'que l'on cherche se trouve entre > et )
'en gros
"(?<NomDuGroupe>Modèle)"

'pour le modèle, on cherche des mots séparés par des espaces, j
''aurais pu écrire, a ou b ou c ou d .... ou A ou B .... plusieurs fois comme cela
"(a|b|c....A|B...)+"

'C'est un peu long
'pour réduire un peu, tout ce qui est écrit entre [] est considéré comme une suite de ou
"[abc....AB...]+"
'mais c'est encore long, alors on peut mettre des ensemble par exemple
'tout ce qui va de a à z inclus (dans l'ordre du tableau ASCII), puis de A à Z
"[a-zA-Z]+"
'Bon là on exclut les accents, les cédilles, les tildes etc.. et les chiffres et dans les adresses
'des chiffres, il y en a. Si on veut inclure tout ca, on arrive à \w qui comprend tous les caractères
'alphanumériques et le point. Donc on veut \w ou un espace plusieurs fois
"[\w ]+"

'ce qui dans un groupe nommé "adresse" donne
"(?<adresse>[\w ]+)"

'Après cela, il faut capturer tout ce qui se trouve entre la fin de l'adresse et la data
'à extraire suivante. Le . veut dire tout et n'importe quoi sauf un saut de ligne.
'Mais des sauts de ligne on en a plein. Soit à chaque fois on met [.\n] le \n signifiant une saut
'de ligne, soit dire à la regex de traiter le texte comme s'il était écrit sur une seule ligne.
'C'est le rôle de l'option SingleLine
'Comme on ne sait pas combien de fois on devra trouver tout et n'importe quoi,
'on lui donne le quantifieur * qui veut dire de 0 à n
"\[address_street]\s+=>\s+(?<adresse>[\w ]+).*"

1
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
9 mars 2020 à 21:36
Parfait merci beaucoup pour ta précieuse aide.

Bonne soirée.

Cordialement.
0
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
9 mars 2020 à 17:53
Bonjour merci énormément pour ton aide tu es vraiment génial ;)
Je vais mettre en pratique tout ce que tu m'as dit je te tiens au courant si j'ai réussi :)

Cordialement.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931
Modifié le 9 mars 2020 à 19:33
Génial faut pas exagérer non plus ;)
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 931 > Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024
9 mars 2020 à 21:42
de rien, bonne soirée
0
Programming_018 Messages postés 106 Date d'inscription vendredi 13 janvier 2017 Statut Membre Dernière intervention 14 mars 2024 7
9 mars 2020 à 19:50
Mdr merci j'ai testé cela fonctionne parfait par contre je voudrais juste savoir comment tu as fais pour créer cette ligne :

Dim patternAcheteur As String = "\[address_street]\s+=>\s+(?<adresse>[\w ]+).*\[address_zip]\s+=>\s+(?<cp>[\w ]+).*\[first_name]\s+=>\s+(?<prenom>[\w ]+).*\[address_city]\s+=>\s+(?<ville>[\w ]+).*\[last_name]\s+=>\s+(?<nom>[\w ]+)" 'modèle de recherche des datas acheteur



Car il y a des données clients que je voudrais rajouter comme par exemple le pays ;)


Je vais te mettre un exemple de ce que j'ai fais mais je crois que c'est pas bon car quand j'essaie cela me dit qu'il trouve pas la première occurrence cette regex me bloquera toujours décidément XD :

\[first_name]\s+=>\s+(?<prenom>[\w ]+).*
\[last_name]\s+=>\s+(?<nom>[\w ]+).*
\[payer_email]\s+=>\s+(?<email>[\w ]+).*
\[address_name]\s+=>\s+(?<raisonsocial>[\w ]+).*
\[address_street]\s+=>\s+(?<adresse>[\w ]+).*
\[address_zip]\s+=>\s+(?<cp>[\w ]+).*
\[address_city]\s+=>\s+(?<ville>[\w ]+).*
\[address_country]\s+=>\s+(?<pays>[\w ]+).*
\[mc_currency]\s+=>\s+(?<devise>[\w ]+).*
\[payment_date]\s+=>\s(?<paiementdate>[\w ]+).*
\[payment_status]\s+=>\s(?<paiementstatus>[\w ]+)




Merci d'avance.
Cordialement.
0