Bonjour à tous, (TOWEB V12)
Je ne suis pas programmeur donc désolé pour la longue discussion avant 😀
J'avais configuré le mode de paiement avec stripe.
Le paiement direct est effectué mais le reçu automatique de stripe pour les clients affichait qu'un long numéro sans description du produit. (dénommé orderid)
D'ailleurs stripe ne récupérait pas grand chose du formulaire Toweb, ce qui pose problème pour la gestion des paiements et l'export via stripe du fichier .csv.
Le formulaire Toweb et le mail du " suivi de votre commande" AVANT le paiement pollue les adresses mails et finis dans le courrier indésirable...donc c'est pas très utile.
Le reçu de stripe finis bien dans la boîte mail dans "autres" et est envoyé dans les 10 secondes après paiement.
Je fais des paiements direct (billetterie) et donc je voulais passer d'un reçu stripe comme ça:
à ça:
j'ai donc récupéré le custname du formulaire:
$custname = (PW_STRIPE_UPLOAD_CI && isset($POST["custname"])) ? $POST["custname"] : '';
je l'ai mis dans la session comme ceci:
if ($custemail != "") {
$checkout_session = \Stripe\Checkout\Session::create([
'customer_email' => $custemail,
'client_reference_id' => $reference,
'payment_intent_data' => [
'description' => $custname /
Pourquoi le payment_intent_data alors qu'il fait buggé la page stock de Toweb ??? car la page stock de Toweb me sert uniquement pour la gestion du stock (avec son bug du +1 sur le backoffice pour qu'il décompte bien les paiement)
car avec le payment_intent_data il note la référence dans le résumé du reçu !
De plus il le rajoute bien dans l'export .csv de stripe et dans la description du "payments" ! idéal pour le tri par nom et l'accueil billetterie !
Si j'ai bien compris je peux pas toucher à l'orderid généré par Toweb car c'est lui qui permet la communication des stock.
En plus de ça il génère automatiquement la référence entre parenthèse.
J'ai pu récupérer le string de la référence pour Stripe en utilisant une autre "variable:
// Extraction du texte entre parenthèses
preg_match('/\((.*?)\)/', $orderinfo, $matches);
$reference = isset($matches[1]) ? $matches[1] : '';
grâce à client_reference_ID:
if ($custemail != "") {
$checkout_session = \Stripe\Checkout\Session::create([
'customer_email' => $custemail,
'client_reference_id' => $reference,
C'est aussi rajouté dans le .csv de stripe.
Il y a aussi l'affichage lors de la commande avant le paiement:
Pour avoir autre chose que l'orderid qui donne pas d'information aux clients, j'ai fait ça:
if (PW_STRIPE_PAYMENTS == "") {
$payments = array("card");
} else {
$payments = explode(";", PW_STRIPE_PAYMENTS);
}
$product = \Stripe\Product::create([
'name' => $orderDescription . "\n" . $orderinfo . "\n" . "Ref." . $orderid,
'description' => $orderDetails
]);
En espérant que ça aide quelques personnes.