Convertir la réponse API Stripe à JSON en utilisant la bibliothèque stripe-php
Je suis accéder aux données des clients de la Bande APIque je voudrais convertir en JSON. Habituellement, je voudrais convertir un objet d'un tableau et utiliser json_encode()
mais je ne semble pas en mesure d'en ce cas, même lorsque vous essayez d'accéder aux tableaux imbriqués.
C'est la réponse que je suis en train de convertir en json:
Stripe_Customer Object
(
[_apiKey:protected] => MY_KEY_IS_HERE
[_values:protected] => Array
(
[id] => cus_2dVcTSc6ZtHQcv
[object] => customer
[created] => 1380101320
[livemode] =>
[description] => Bristol : John Doe
[email] => someone6@gmail.com
[delinquent] =>
[metadata] => Array
(
)
[subscription] =>
[discount] =>
[account_balance] => 0
[cards] => Stripe_List Object
(
[_apiKey:protected] => MY_KEY_IS_HERE
[_values:protected] => Array
(
[object] => list
[count] => 1
[url] => /v1/customers/cus_2dVcTSc6ZtHQcv/cards
[data] => Array
(
[0] => Stripe_Object Object
(
[_apiKey:protected] => MY_KEY_IS_HERE
[_values:protected] => Array
(
[id] => card_2dVcLabLlKkOys
[object] => card
[last4] => 4242
[type] => Visa
[exp_month] => 5
[exp_year] => 2014
[fingerprint] => NzDd6OkHnfElGUif
[customer] => cus_2dVcTSc6ZtHQcv
[country] => US
[name] => John Doe
[address_line1] =>
[address_line2] =>
[address_city] =>
[address_state] =>
[address_zip] =>
[address_country] =>
[cvc_check] => pass
[address_line1_check] =>
[address_zip_check] =>
)
[_unsavedValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_transientValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_retrieveOptions:protected] => Array
(
)
)
)
)
[_unsavedValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_transientValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_retrieveOptions:protected] => Array
(
)
)
[default_card] => card_2dVcLabLlKkOys
)
[_unsavedValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_transientValues:protected] => Stripe_Util_Set Object
(
[_elts:Stripe_Util_Set:private] => Array
(
)
)
[_retrieveOptions:protected] => Array
(
)
)
Toute aide grandement appréciée!
source d'informationauteur Haroldo
Vous devez vous connecter pour publier un commentaire.
Tous les objets créés par la Bande de PHP API de la bibliothèque peuvent être convertis en JSON avec leur __toJSON() méthodes.
Il y a aussi un __toArray($recursive=false) méthode. N'oubliez pas de vrai argument, sinon vous obtiendrez un tableau rempli avec bande objets.
Les attributs de
Stripe_Object
s peut être accédé comme ceci:Donc, pour obtenir la carte du client est
last4
vous pouvez le faire:Cependant, vous devez vous assurer que vous avez le
default_card
attribut peuplée. Vous pouvez récupérer ledefault_card
objet en même temps que le reste de la clientèle en passant par laexpand
argument:Votre haut niveau de l'objet contient d'autres instances de l'objet - la fonte (array) n'affecte que l'élément de niveau supérieur. Vous devrez peut-être de manière récursive à pied vers le bas - mais je le ferais différemment ici, étant donné que les classes sont sérialisables:
Qu'allez-vous faire avec l'autre JSONified données?
Si vous allez de transfert d'un objet sans classe les informations dont vous pourriez essayer d'utiliser la Réflexion:
C'est la classe de base de la plupart de mes transférable classes. Il crée un objet stdClass à partir d'une classe, ou initialise une classe à partir d'un objet stdClass. Vous pouvez facilement adopter ce à vos propres besoins (par exemple, créer un tableau).
C'est déjà dans un format JSON si vous avez besoin de les convertir à nouveau en json_encode()
il suffit de passer dans votre script