如何获得' name'?
的价值我一直在尝试各种方法,包括数组($ charge)和__toArray。
第一部作品,第二部作品不是:
$charge_id = $charge->id;
echo $charge_id;
$name=$charge->_values->name;
echo $name;
这是Stripe返回的对象的一部分(直到我要提取的名称):
Stripe\Charge::__set_state(array(
'_opts' =>
Stripe\Util\RequestOptions::__set_state(array(
'headers' =>
array (
),
'apiKey' => 'sk_test_...',
)),
'_values' =>
array (
'id' => 'ch_73JaKii01nmbpZ',
'object' => 'charge',
'created' => 1443251926,
'livemode' => false,
'paid' => true,
'status' => 'succeeded',
'amount' => 1000,
'currency' => 'usd',
'refunded' => false,
'source' =>
Stripe\Card::__set_state(array(
'_opts' =>
Stripe\Util\RequestOptions::__set_state(array(
'headers' =>
array (
),
'apiKey' => 'sk_test_...',
)),
'_values' =>
array (
'id' => 'card_73JZrJCDzl877J',
'object' => 'card',
'last4' => '1111',
'brand' => 'Visa',
'funding' => 'unknown',
'exp_month' => 12,
'exp_year' => 2021,
'fingerprint' => 'hhzQQZIXaAVDNMPP',
'country' => 'US',
'name' => 'Steve Veltkamp',
答案 0 :(得分:3)
(注意:您应该编辑您的问题以删除您的密钥并将其替换为例如'sk_test_...'
。即使它只是一个测试密钥,也不应该共享密钥。)< / p>
您尝试访问的媒体资产是持卡人的姓名。 charge object的source
属性实际上是card object:
php > echo get_class($charge);
Stripe\Charge
php > echo get_class($charge->source);
Stripe\Card
因此,要获得持卡人的姓名,您所要做的就是:
$name = $charge->source->name;
请注意,name
是卡片的可选属性,因此您可能会获得NULL
,空字符串,电子邮件地址等。
答案 1 :(得分:2)
根据这个: https://github.com/stripe/stripe-php/blob/master/lib/Charge.php
您可以尝试使用retrieve
方法:
$charge::retrieve($charge->id);
或(https://github.com/stripe/stripe-php/blob/master/lib/StripeObject.php):
$chargeArr = $charge->__toArray(true);
添加true
作为递归的参数