如何从 Braintree 的 JSON 响应中获取 ID?

How to get the ID out of Braintree's JSON response?

我正在尝试使用 Braintree SDK 集成 PayPal Express Checkout。

到目前为止,我可以对从客户端返回的 Nonce 进行收费,并且我收到了此响应。但是,我需要取出 ID 以便将其保存在 table.

我的问题是如何解析id?

Successful {#315
  +success: true
  -_returnObjectNames: array:1 [
    0 => "transaction"
  ]
  #_attributes: []
  +"transaction": Transaction {#324
    #_attributes: array:63 [
      "id" => "xxx"// How do I parse this out?
      "status" => "settling"
      "type" => "sale"
      "currencyIsoCode" => "USD"
      "amount" => "6.00"

保存此 JSON 的变量是 $success。因此,我尝试了几种方法,例如:

$success->transaction->id
$success->id

如果我这样做 $success->success 我得到 true 如果我这样做 $success->transaction 我得到 Transaction 对象。

完全披露:我在 Braintree 工作。如果您有任何其他问题,请随时联系 support.

如果 运行 $success->successreturns True$success->transaction returns Transaction 对象,那么你应该可以至 query the transaction ID using $success->transaction->id, we also demonstrate this in our developer documentation.

$result = $gateway->transaction()->sale([
  'amount' => '10.00',
  'paymentMethodNonce' => nonceFromTheClient,
  'options' => [
    'submitForSettlement' => True
  ]
]);

if ($result->success) {
  // See $result->transaction for details
} else {
 // Handle errors
}