Comment obtenir la charge de l'id après la création d'un abonnement à l'aide de Bande?
Je suis en utilisant Stripe
comme une passerelle de paiement. Maintenant, il ya un gros problème qui me dérange.
J'ai utilisé le code ci-dessous pour créer un abonnement:
<?php
require_once('lib/Stripe.php');
Stripe::setApiKey(API_KEY);
$token = $_POST['stripeToken'];
$customer = Stripe_Customer::create(array(
"card" => $token,
"plan" => $_POST['plan'],
"email" => "[email protected]",
));
Cela fonctionne bien, mais je ne peux pas obtenir Charge ID
de $customer
, et j'ai découvert il n'y a aucun moyen d' Stripe API
pour l'obtenir.
Comment l'obtenir lors de la création d'un abonnement? J'ai vraiment besoin de Charge ID
.
Vous obtenez les frais de ID en réponse à une accusation de demande de création de stackoverflow.com/questions/12031063/...
Je ne comprends pas. Le code que j'ai fourni a déjà fait une charge, pourquoi devrais-je faire un autre supplément sur demande?
Vous ne devriez pas vous, mais quand vous faite de la charge quand vous avez obtenu la charge_id
Anigel - il veut dire (je pense) pour un abonnement, comment fait-il pour obtenir une charge ID à chaque fois qu'une charge est faite? Ou n'est-ce pas, davidx?
Vous avez raison, Robert! Le problème est très clair: j'ai créer un abonnement et je veux obtenir la charge de l'ID.
Je ne comprends pas. Le code que j'ai fourni a déjà fait une charge, pourquoi devrais-je faire un autre supplément sur demande?
Vous ne devriez pas vous, mais quand vous faite de la charge quand vous avez obtenu la charge_id
Anigel - il veut dire (je pense) pour un abonnement, comment fait-il pour obtenir une charge ID à chaque fois qu'une charge est faite? Ou n'est-ce pas, davidx?
Vous avez raison, Robert! Le problème est très clair: j'ai créer un abonnement et je veux obtenir la charge de l'ID.
OriginalL'auteur david30xie | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
C'est exactement ce que Bande de webhooks sont pour. Après la création d'un client avec un abonnement initial, vous aurez six webhook notifications:
customer.created
, avec les données du client (que vous avez déjà si vous êtes en train d'enregistrer ce que l'API retourne)charge.succeeded
(oucharge.failed
), qui contient la charge initiale de données, vous êtes à la recherche pourinvoice.created
, ce qui est de la facture,invoice.payment_succeeded
(ouinvoice.payment_failed
), dit aussi de l'état de la chargecustomer.card.created
, avec les détails de la nouvelle cartecustomer.subscription.created
, avec les détails de l'abonnement du client.Bande de l'API, comme beaucoup d'Api et de nombreuses solutions de paiement, est conçu pour être utilisé avec les webhooks. Si vous ne prenez pas avantage de webhooks, vous allez être qu'il manque des fonctionnalités, et vous êtes probablement à travailler trop dur pour ce qui peut être fait sans webhooks.
Bande fonctionne à livrer les données pour vous. Si vous écrivez du code pour sondage de la Bande, vous travaillez beaucoup, beaucoup trop dur.
semble que le webhook de rappel de charge.réussi ne contient pas de subscription_id comme les autres notifications ne. Comment faites-vous le lien de la charge.réussi appel à l'original abonnement sans avoir à faire une jointure sur une carte et et client puisque ce ne sont pas des garanties uniques?
À l'aide de
invoice.payment_succeeded
pour qui semble être une bien meilleure option. Il contient un ID d'abonnement, un numéro de client et des frais d'identité (si il n'y avait en effet une charge). Autant que je sachecharge.succeeded
ne sera pas déclenché si quelqu'un a dégradé la souscription et a suffisamment compte de l'équilibre à payer pour la période suivante.Lorsque
invoice.payment_succeeded
événement a été tiré, cela signifie que la charge a été prise en compte? Je ne suis pas sûr si je dois écouter pour cet événement etcharge.succeeded
pour confirmer le paiement a traversé?OriginalL'auteur colinm
Je viens de tomber sur le même problème moi-même. Je suis à l'aide de la bibliothèque python mais la réponse est plus sur la Bande de l'API de quelle langue le client est en.
En fin de compte, depuis que je suis en création d'un nouveau client avec chaque abonnement, j'ai été en mesure de regarder la facture à l'encontre de la customer_id et récupérer ses frais de id. Voici ce que le code python pour qui ressemble à:
À nouveau, notez que cette méthode ne fonctionne pas si vous la ré-utilisation de clients, seulement en cas de création de nouveaux clients avec chaque abonnement de créer.
Ce n'est certainement pas idéal. Il serait beaucoup mieux si les frais d'identité a été inclus dans la déclaration. Même en connaître le numéro de Facture, permettrait au moins de résoudre la question de la ré-utilisation de clients bien qu'il nécessite une inutile appel d'API pour récupérer la facture.
count=1
avec l'ID de Client.Considérant que la Bande crée la Charge avant de la Facture (abonnement) alors qu'ils n'ont aucune raison de pas inclure le chargeId lors de la création de l'objet d'abonnement. J'ai trop eu à utiliser un unique client de l'objet par abonnement pour contourner ce problème.
pourquoi est-il une obligation d'utiliser un unique client de l'objet? N'est-ce pas toujours les plus récentes de la facture pour le client, de toute façon?
OriginalL'auteur Jason Lantz
Bien il n'est pas simple de le faire. Il y a cependant un hack pour obtenir
charge_id
pour quesubscription
avec attente pour lesinvoice.payment_succeeded
callback
.- Ce la façon dont je l'ai fait dans
Ruby
, vous pouvez considérer ceci comme unpseudo
code. Peut-être vous pouvez faire cela en utilisantPHP
API
sVoir la structure de
ListObject
parFactures
OriginalL'auteur illusionist
Suis tombé sur cette question lors de la recherche pour comment faire pour extraire les ID d'abonnement en Java. Tour à tour sur la nouvelle version de l'API (1.7.1 pour Java) a champ ID intégré à l'abonnement de l'objet. La même chose est probablement vrai pour le PHP API.
OriginalL'auteur SergeyB
J'ai été coincé sur le même problème après avoir passé un certain temps, il se révèle être assez simple.
Étape 1: Appel de récupérer toutes les factures API avec id d'abonnement en tant que paramètre.
Exemple en PHP:
Dans
$invoice
vous aurez la Charge de l'ID et, par conséquent, vous pouvez obtenir tout ce qui suit.OriginalL'auteur Kunal Fule