2

这是我的条带交易的 php 代码,用于使用我的平台从客户那里收取申请费:

$token = $_POST['stripeToken'];

// Create the charge on Stripe's servers - this will charge the user's card
$charge = \Stripe\Charge::create(
  array(
    "amount" => 1000, // amount in cents
    "currency" => "usd",
    "source" => $token,
    "description" => "Event charge",
    "application_fee" => 123 // amount in cents
  ),
  array("stripe_account" => $sInfo->stripe_user_id)
);
echo '<pre>';
print_r($charge);

这是我的回复(部分)

Stripe\Charge Object
(
[_opts:protected] => Stripe\Util\RequestOptions Object
    (
        [headers] => Array
            (
                [Stripe-Account] => acct_16JkaUHzfYmjyH68
            )

        [apiKey] => sk_test_mHnhDuaVjnKmdkEApnYAKfGY
    )

[_values:protected] => Array
    (
        [id] => ch_16K6q5HzfYmjyH786HG5a2gp
        [object] => charge
        [created] => 1435840249
        [livemode] => 
        [paid] => 1
        [status] => succeeded
        [amount] => 1000
        [currency] => usd
        [refunded] => 
        [source] => Stripe\Card Object

我很难从 _values:protected array 中捕获值“id => ch_16K6q5HzfYmjyH786HG5a2gp”

我尝试了以下语法

$charge->_values:protected and $charge['_values:protected']

但无法获取响应,这里的任何人都可以帮助使用 php 在条带连接事务中捕获响应

4

3 回答 3

10

对于任何可能遇到这种情况的人,Stripe 的 PHP 库都有一个创建数组的函数

public function jsonSerialize()
{
    return $this->__toArray(true);
}

使用它从对象中获取一个可行的数组。前任。

$charge->jsonSerialize();
于 2016-12-06T23:25:39.227 回答
6

试试这个而不是倾倒整个对象

print $charge->id;

于 2015-07-02T13:01:01.487 回答
2

试试这个将对象转换为简单的数组形式

$charge->__toArray(TRUE);
于 2016-05-09T08:54:45.417 回答