Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SimplXML parse Amazon Payments Antwort

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] SimplXML parse Amazon Payments Antwort

    Heyho,

    ich hab mich jetzt schon den ganzen Tag durch die Amazon-Payments API gewühlt (macht wirklich kaum Freude) und hänge jetzt lachhafterweise an Folgendem:

    Ich bekomme diese Antwort vom der API:

    Code:
    <AuthorizeResponse xmlns="http://mws.amazonservices.com/schema/OffAmazonPayments/2013-01-01">
      <AuthorizeResult>
        <AuthorizationDetails>
          <AuthorizationStatus>
            <LastUpdateTimestamp>2014-08-25T19:33:11.864Z</LastUpdateTimestamp>
            <State>Open</State>
          </AuthorizationStatus>
          <ExpirationTimestamp>2014-09-24T19:33:09.793Z</ExpirationTimestamp>
          <AuthorizationAmount>
            <Amount>1.19</Amount>
            <CurrencyCode>EUR</CurrencyCode>
          </AuthorizationAmount>
          <CapturedAmount>
            <Amount>0</Amount>
            <CurrencyCode>EUR</CurrencyCode>
          </CapturedAmount>
          <IdList/>
          <AmazonAuthorizationId>P02-7286411-9957376-A083514</AmazonAuthorizationId>
          <SellerAuthorizationNote>*****/SellerAuthorizationNote>
          <CaptureNow>false</CaptureNow>
          <AuthorizationBillingAddress>
            <Phone>***</Phone>
            <PostalCode>***</PostalCode>
            <Name>***</Name>
            <CountryCode>DE</CountryCode>
            <StateOrRegion>****</StateOrRegion>
            <AddressLine2>****</AddressLine2>
            <City>****</City>
          </AuthorizationBillingAddress>
          <AuthorizationReferenceId>P02-7286411-9957376</AuthorizationReferenceId>
          <CreationTimestamp>2014-08-25T19:33:09.793Z</CreationTimestamp>
          <AuthorizationFee>
            <Amount>0.00</Amount>
            <CurrencyCode>EUR</CurrencyCode>
          </AuthorizationFee>
        </AuthorizationDetails>
      </AuthorizeResult>
      <ResponseMetadata>
        <RequestId>0fa5e790-8e54-4cc6-aa18-7149012003a1</RequestId>
      </ResponseMetadata>
    </AuthorizeResponse>
    Das wird per
    PHP-Code:
    $authorize = new SimpleXMLElement($response); 
    wunderbar geparst, jetzt brauche ich für die Capture-Anfrage den Inhalte des Knotens AuthorizationReferenceId.

    So sieht die Capture-Anfrage aus:
    PHP-Code:
                $params = array(
                    
    'Action' => 'Capture',
                    
    'AuthorizationReferenceId' => $this->token,
                    
    'CaptureReferenceId' => $this->token,
                    
    'CaptureAmount' => $payment->complete,
                    
    'AmazonAuthorizationId' => $authorize->AuthorizeResult[0]->AuthorizationDetails[0]->AmazonAuthorizationId
                
    );

                
    $capture $this->request($params); 
    Das Problem:

    Bei
    PHP-Code:
    'AmazonAuthorizationId' => $authorize->AuthorizeResult[0]->AuthorizationDetails[0]->AmazonAuthorizationId 
    steht im Array
    Code:
    [AmazonAuthorizationId] => SimpleXMLElement Object
            (
                    [0] => P02-7286411-9957376
            )
    bei
    PHP-Code:
    'AmazonAuthorizationId' => $authorize->AuthorizeResult[0]->AuthorizationDetails[0]->AmazonAuthorizationId[0
    steht im Array
    Code:
    [AmazonAuthorizationId] => SimpleXMLElement Object
            (
    
            )
    Wie komm ich jetzt an den eigentlichen Knoteninhalt

    Grüße & Dank für die Hilfe!
    ?!? Woot Woot...


  • #2
    Die Nodes kannst du zu String casten: (string)$Node
    GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

    Kommentar


    • #3
      Tadaaa, vielen Dank!
      ?!? Woot Woot...

      Kommentar

      Lädt...
      X