Avec cURL installé et activé (WAMP peut être la solution).1 - comment faire fonctionner ce code :Code : Tout sélectionner
$ch = curl_init("http://127.0.0.1/Payer/"); $fp = fopen("example_homepage.txt", "w"); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); if(curl_error($ch)) { fwrite($fp, curl_error($ch)); } curl_close($ch); fclose($fp);
Visual studio code peut être la solution.2 - où coller la commandeCode : Tout sélectionner
curl -X POST https://httpbin.org/anything
Dans l'exemple j'ai mis l'URL example.com, à toi de mettre l'URL que t'as besoin, c'est peut être la source du problème.J'ai lancé également ce code test sur mon serveur infomaniak, et ça tourne, comme tout à l'heure.
ça va probablement aboutir à la même erreur que tout à l'heure :
erreur 500
Je veux bien un devis ?
Si besoin, passe par la page contact de mon site stp.Ps : ... Peut-être devrais-je faire appel à une sous-traitance pour ce fichu bouton ?
Code : Tout sélectionner
$ch = curl_init("http://127.0.0.1/Payer/");
$fp = fopen("example_homepage.txt", "w");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
if(curl_error($ch)) {
fwrite($fp, curl_error($ch));
}
curl_close($ch);
fclose($fp);Quelles sont les erreurs ?Le formulaire s'affiche, mais avec des erreurs.
if (function_exists('curl_version')) {
echo "cURL est activé.";
} else {
echo "cURL n'est pas activé.";
}
Je ne pourrais pas t'aider Visual, je ne l'utilise pas.Code : Tout sélectionner
<?php
// Récupérer les variables
$prix = "30";
$id_client = "8175";
// Étape 1 : Obtenir un token d'accès via OAuth2
$client_id = 'xxx je met mon idxxxxx';
$client_secret = 'xxxx mon code secret xxxx';
$auth_url = "https://api.helloasso.com/oauth2/token";
$responseData['access_token']="xxxx mon token xxxxx";
$data = [
'grant_type' => 'client_credentials',
'client_id' => $client_id,
'client_secret' => $client_secret
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $auth_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$responseData = json_decode($response, true);
$access_token = $responseData['access_token'];
// Étape 2 : Envoyer les données de paiement
// dans le bouton donné :
$payment_url = "https://api.helloasso.com/v5"; // Vérifiez l'URL exacte pour les paiements // je ne sais pas où vérifier. j'ai mis l'adresse des tests donnée dans la doc
$headers = [
"Authorization: Bearer $access_token",
"Content-Type: application/json"
];
$payment_data = [
'amount' => $prix,
'customerId' => $id_client,
// Ajoutez d'autres champs nécessaires selon la documentation HelloAsso
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $payment_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payment_data));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// Étape 3 : Traiter la réponse
$paymentResponse = json_decode($response, true);
if (isset($paymentResponse['status']) && $paymentResponse['status'] == 'success') {
echo "Paiement réussi !";
} else {
echo "Erreur lors du paiement : " . $paymentResponse['message'];
}
?>