php - 从 Paypal 支付意图多维数组中获取值

标签 php arrays multidimensional-array paypal

我想将 serverside-sdk 从 Paypal 实现到我的网站。到目前为止一切正常。

付款意向发送到 Paypal 后,我收到一个数组,其中包含有关来自 Paypal 的付款信息。

如果我 print_r 我得到的对象在我的浏览器中看起来像这样:

PayPal\Api\Payment Object (

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [intent] => sale [payer] => PayPal\Api\Payer Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [payment_method] => paypal ) ) [transactions] => Array ( [0] => PayPal\Api\Transaction Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [amount] => PayPal\Api\Amount Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [total] => 0.50 [currency] => EUR ) ) [related_resources] => Array ( ) ) ) ) [redirect_urls] => PayPal\Api\RedirectUrls Object ( [_propMap:PayPal\Common\PayPalModel:private] => Array ( [return_url] => https://www.fabiansquinobal.com/addjob_submitted.php [cancel_url] => https://example.com/your_cancel_url.html ) ) [id] => PAYID-LSSMWWI9WR61061C3673442W [state] => created [create_time] => 2019-04-03T15:03:52Z [links] => Array ( [0] => PayPal\Api\Links Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSMWWI9WR61061C3673442W [rel] => self [method] => GET ) ) [1] => PayPal\Api\Links Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [href] => https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-0RG36824VV460380F [rel] => approval_url [method] => REDIRECT ) ) [2] => PayPal\Api\Links Object ( 

    [_propMap:PayPal\Common\PayPalModel:private] => Array ( [href] => https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSMWWI9WR61061C3673442W/execute [rel] => execute [method] => POST ) ) ) ) 
)

我对此完全不知所措。我需要知道我如何才能到达“[id] => PAYID-LSSMWWI9WR61061C3673442W”或者通常从这个“东西”中提取信息。

问候

编辑:

数组的 var_export 如下所示:

PayPal\Api\Payment::__set_state(

    array( '_propMap' => array ( 'intent' => 'sale', 'payer' => PayPal\Api\Payer::__set_state(

    array( '_propMap' => array ( 'payment_method' => 'paypal', ), )), 'transactions' => array ( 0 => PayPal\Api\Transaction::__set_state(

    array( '_propMap' => array ( 'amount' => PayPal\Api\Amount::__set_state(

    array( '_propMap' => array ( 'total' => '15.00', 'currency' => 'EUR', ), )), 'related_resources' => array ( ), ), )), ), 'redirect_urls' => PayPal\Api\RedirectUrls::__set_state(array( '_propMap' => array ( 'return_url' => 'https://www.fabiansquinobal.com/addjob_submitted.php', 'cancel_url' => 'https://example.com/your_cancel_url.html', ), )), 'id' => 'PAYID-LSSNC7I1CX40811F59322531', 'state' => 'created', 'create_time' => '2019-04-03T15:30:05Z', 'links' => array ( 0 => PayPal\Api\Links::__set_state(

    array( '_propMap' => array ( 'href' => 'https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSNC7I1CX40811F59322531', 'rel' => 'self', 'method' => 'GET', ), )), 1 => PayPal\Api\Links::__set_state(

    array( '_propMap' => array ( 'href' => 'https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-98A35361RF153213R', 'rel' => 'approval_url', 'method' => 'REDIRECT', ), )), 2 => PayPal\Api\Links::__set_state(

    array( '_propMap' => array ( 'href' => 'https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSNC7I1CX40811F59322531/execute', 'rel' => 'execute', 'method' => 'POST', ), )), ), ), )

)

对象的 echo 如下所示:

{ "intent": "sale",

        "payer": { "payment_method": "paypal" },

        "transactions": [ { "amount": { "total": "0.50", "currency": "EUR" },

        "related_resources": [] } ],

        "redirect_urls": { "return_url": "https://www.fabiansquinobal.com/addjob_submitted.php", "cancel_url": "https://example.com/your_cancel_url.html" },

        "id": "PAYID-LSSNFSY6AJ60558N2288040L",

        "state": "created", "create_time": "2019-04-03T15:35:38Z",

        "links": [ { "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSNFSY6AJ60558N2288040L",

        "rel": "self", "method": "GET" },

        { "href": "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-5KK55362XB209301D",

        "rel": "approval_url", "method": "REDIRECT" }, 
        { "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAYID-LSSNFSY6AJ60558N2288040L/execute",

        "rel": "execute", "method": "POST" } ] 
}

最佳答案

将字符串解码为数组并使用:

$arr = json_decode($json, true);
echo $arr['id'];

或者如果你想把它作为一个对象:

$arr = json_decode($json);
echo $arr->id;

https://3v4l.org/bF2t9

关于php - 从 Paypal 支付意图多维数组中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55498830/

相关文章:

c++ - 将二维数组传递给函数

php - 如何将文件从一个位置移动到另一个位置?

php - 如何在表单中的文本框旁边显示消息?

javascript - 如何检查数组对象是否在angularjs中包含一个字符串

javascript - 将带有参数的函数添加到 Array Javascript (Node.js)

python - 如何将 numpy 数组的元素按二分组?

php - 如何比较 mysql 查询中存储为 varchar 的日期?

php - HTML/PHP 表单问题

ios - 如何在Swift中从JSON对象删除属性(key:values)

javascript - 数组中的填充