Ich bin in der Lage, erfolgreich mit der Transaktions-API nach dem Beispiel auf Github. die Ladung der Ausführung sieht wie folgt aus:Problem beim Arbeiten mit Square Connect ChargeResponse-Objekt
$result = $transaction_api->charge($access_token, $location_id, $request_body);
echo "<pre>";
print_r($result);
echo "</pre>";
Hier ist der Ausgang:
SquareConnect\Model\ChargeResponse Object
(
[errors:protected] =>
[transaction:protected] => SquareConnect\Model\Transaction Object
(
[id:protected] => REMOVED FROM POST
[location_id:protected] => REMOVED FROM POST
[created_at:protected] => 2016-04-30T23:42:33Z
[tenders:protected] => Array
(
[0] => SquareConnect\Model\Tender Object
(
[id:protected] => REMOVED FROM POST
[location_id:protected] => REMOVED FROM POST
[transaction_id:protected] => 02d1d965-51fd-5023-68f5-0fcd148a263b
[created_at:protected] => 2016-04-30T23:42:33Z
[note:protected] => Online Transaction
[amount_money:protected] => SquareConnect\Model\Money Object
(
[amount:protected] => 6000
[currency:protected] => USD
)
[processing_fee_money:protected] =>
[customer_id:protected] =>
[type:protected] => CARD
[card_details:protected] => SquareConnect\Model\TenderCardDetails Object
(
[status:protected] => CAPTURED
[card:protected] => SquareConnect\Model\Card Object
(
[id:protected] =>
[card_brand:protected] => VISA
[last_4:protected] => 5858
[exp_month:protected] =>
[exp_year:protected] =>
[cardholder_name:protected] =>
[billing_address:protected] =>
)
[entry_method:protected] => KEYED
)
[cash_details:protected] =>
)
)
[refunds:protected] =>
[reference_id:protected] =>
[product:protected] => EXTERNAL_API
)
)
Mein Problem ist, dass, während einige Orte (wie here) zeigen, dass ich soll aus einem Array zurück Bei der Lademethode erhalte ich stattdessen ein ChargeResponse-Objekt.
Innerhalb dieses Objekts befindet sich ein Transaktionsobjekt, das alle relevanten Informationen enthält, die ich dem Kunden anzeigen möchte, sobald die Transaktion abgeschlossen ist. Es ist jedoch geschützt und versucht, eine Transaktions-ID, created_at time oder menge aus zu wiederholen Dieses zurückgegebene Objekt schlägt fehl.
Ich bin sicher, ich mache etwas falsch, aber ich bin verloren, wie Eigenschaften aus dem ChargeResponse-Objekt zu erfassen, so dass ich nützliche Dinge damit tun kann.
Zum Beispiel habe ich versucht,
echo($result->transaction['id']);
aber alles, was ich bekommen ist:
Fatal error: nicht Eigentum geschützte Zugriffe
Dies kann nicht einmal der richtige Weg sein, etwas zu versuchen, So bin ich offen für Vorschläge.
Bearbeitete die Frage, um die Ausgabe einzuschließen. –
Der erste Vorschlag gibt den gleichen Fehler, weil nicht auf die geschützte Eigenschaft zugegriffen werden kann, und der zweite und dritte Vorschlag werden nicht als gültiger PHP analysiert. –