首页 > 解决方案 > 如何从课堂上获取授权码?

问题描述

嗨,我有课,我正在尝试获取身份验证代码,但是当我这样做时,它会显示一个错误:

我的代码是这样的:

stdClass Object ( [emisor] => 76063822 [codigo] => ZTs3NjA2MzgyMjszOTsxNjAwNjk= [receptor] => 18598968 [fecha] => 2020-01-21 [vencimiento] => [total] => 20000 [dte] => 39 [temporal] => [emitido] => 160069 [pagado] => 2020-01-21 [medio] => webpay [datos] => {"cardDetail":{"cardNumber":"8011","cardExpirationDate":null},"detailOutput":{"authorizationCode":"011323","paymentTypeCode":"VD","responseCode":0,"sharesNumber":0,"amount":"20000","commerceCode":"597034994579","buyOrder":"76063822-39-160069"},"transactionDate":"2020-01-21T16:50:50.835-03:00"} [tienda] => 

我这样做:

$Cobro->datos->detailOutput->authorizationCode

它显示“试图获取非对象的属性”

为什么它不起作用?因为我认为它是正确的,你能帮帮我吗?谢谢!

标签: php

解决方案


您的对象中有一个 JSON 字符串,因此首先您需要应用json_decode()然后访问所需的属性:

$datos = json_decode($Cobro->datos);
print_r($datos);
echo $datos->detailOutput->authorizationCode;

生产$datos对象:

stdClass Object
(
    [cardDetail] => stdClass Object
        (
            [cardNumber] => 8011
            [cardExpirationDate] => 
        )

    [detailOutput] => stdClass Object
        (
            [authorizationCode] => 011323
            [paymentTypeCode] => VD
            [responseCode] => 0
            [sharesNumber] => 0
            [amount] => 20000
            [commerceCode] => 597034994579
            [buyOrder] => 76063822-39-160069
        )

    [transactionDate] => 2020-01-21T16:50:50.835-03:00
)

echo输出:

011323

推荐阅读