2017-09-15 1 views
0

J'essaie d'envoyer un courriel (simple test) lorsque je reçois un appel de compte.actualisé de l'API Stripe. Mes autres webhooks pour créer des frais et informer les clients sur les frais réussis ou échoués fonctionnent comme ça, mais ici je reçois une erreur 500 (je peux voir cela dans le tableau de bord du compte personnalisé) et le mail n'est PAS envoyé, donc je ne suis pas sûr ce que je fais mal ici. Mon code ressemble à ceci:bande webhook account.updated ne fonctionne pas

<?php 

require_once('vendor/autoload.php'); 

// Set your secret key: remember to change this to your live secret key in production 
// See your keys here: https://dashboard.stripe.com/account/apikeys 
\Stripe\Stripe::setApiKey("sk_test_XXXX"); 

// Retrieve the request's body and parse it as JSON 
$input = @file_get_contents("php://input"); 
$event_json = json_decode($input); 

// Verify the event by fetching it from Stripe 
$event = \Stripe\Event::retrieve($event_json->id); 

// Do something with $event 
if ($event->type == 'account.updated') { 

// The E-Mail message to send to inform about a succeeded charge 
$message = 'test'; 

// Send the E-Mail 
mail('[email protected]', 'We need more info about you!', $message); 

} 

http_response_code(200); // PHP 5.4 or greater 

Nous vous remercions de votre aide!

Répondre

0

Si vous examinez le error.log de votre serveur Web (généralement accessible à partir de votre panneau de contrôle d'hébergement ou au /var/log/), voyez-vous plus de détails sur les causes du 500?

Pourrait-il être $event = \Stripe\Event::retrieve($event_json->id); échouer?

Si l'événement se produit directement sur un compte connecté, vous devrez peut-être passer l'ID account pour le récupérer.

Voir ici pour un peu plus de contexte, https://stripe.com/docs/connect/webhooks

Le code serait plus comme:

$event = \Stripe\Event::retrieve(
array("id" => $event_json->id), 
array("stripe_account" => $event_json->account)); 

https://stripe.com/docs/connect/authentication#authentication-via-the-stripe-account-header

+0

Merci, canard, je ne l'ai pas passé l'identifiant pour la compte connecté. Ça fonctionne maintenant :-) – Dirkozoid