Overview

Namespaces

  • ShippoClient
    • Entity
    • Http
      • Request
        • Addresses
        • Parcels
        • Shipments
        • Transactions
      • Response
        • Exception

Classes

  • ShippoClient\Addresses
  • ShippoClient\Entity\Address
  • ShippoClient\Entity\AddressCollection
  • ShippoClient\Entity\EntityCollection
  • ShippoClient\Entity\Location
  • ShippoClient\Entity\ObjectInformation
  • ShippoClient\Entity\Parcel
  • ShippoClient\Entity\ParcelCollection
  • ShippoClient\Entity\Rate
  • ShippoClient\Entity\RateCollection
  • ShippoClient\Entity\Refund
  • ShippoClient\Entity\RefundCollection
  • ShippoClient\Entity\ServiceLevel
  • ShippoClient\Entity\Shipment
  • ShippoClient\Entity\ShipmentCollection
  • ShippoClient\Entity\TrackingHistory
  • ShippoClient\Entity\TrackingStatus
  • ShippoClient\Entity\Tracks
  • ShippoClient\Entity\Transaction
  • ShippoClient\Entity\TransactionCollection
  • ShippoClient\Entity\WebhookTracks
  • ShippoClient\Http\Request
  • ShippoClient\Http\Request\Addresses\CreateObject
  • ShippoClient\Http\Request\CommonParameter
  • ShippoClient\Http\Request\MockCollection
  • ShippoClient\Http\Request\Parcels\CreateObject
  • ShippoClient\Http\Request\Shipments\CreateObject
  • ShippoClient\Http\Request\Shipments\CreateObjectByNested
  • ShippoClient\Http\Request\Shipments\CreateReturnObject
  • ShippoClient\Http\Request\Transactions\CreateObject
  • ShippoClient\Http\Response\AddressList
  • ShippoClient\Http\Response\ListResponse
  • ShippoClient\Http\Response\ParcelList
  • ShippoClient\Http\Response\RateList
  • ShippoClient\Http\Response\RefundList
  • ShippoClient\Http\Response\ShipmentList
  • ShippoClient\Http\Response\TransactionList
  • ShippoClient\Parcels
  • ShippoClient\Rates
  • ShippoClient\Refunds
  • ShippoClient\Shipments
  • ShippoClient\ShippoClient
  • ShippoClient\Tracks
  • ShippoClient\Transactions

Exceptions

  • ShippoClient\Http\Response\Exception\BadResponseException
  • ShippoClient\Http\Response\Exception\ClientErrorException
  • ShippoClient\Http\Response\Exception\ServerErrorException
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace ShippoClient\Entity;
  4: 
  5: use TurmericSpice\Container;
  6: use TurmericSpice\ReadableAttributes;
  7: 
  8: /**
  9:  * @property \TurmericSpice\Container attributes
 10:  */
 11: class Transaction extends ObjectInformation
 12: {
 13:     use ReadableAttributes {
 14:         mayHaveAsString  as public getCustomsNote;
 15:         mayHaveAsString  as public getSubmissionNote;
 16:         mayHaveAsString  as public getMetadata;
 17:         toArray          as public __toArray;
 18:     }
 19: 
 20:     /**
 21:      * Indicates the status of the Transaction.
 22:      *  - "WAITING"
 23:      *  - "QUEUED"
 24:      *  - "SUCCESS"
 25:      *  - "ERROR"
 26:      *  - "REFUNDED"
 27:      *  - "REFUNDPENDING"
 28:      *  - "REFUNDREJECTED"
 29:      *
 30:      * @return string
 31:      */
 32:     public function getObjectStatus()
 33:     {
 34:         return $this->attributes->mayHave('object_status')->asString();
 35:     }
 36: 
 37:     /**
 38:      * Indicates whether the transaction has been sent to the corresponding carrier's test or production server.
 39:      *
 40:      * @return bool
 41:      */
 42:     public function getWasTest()
 43:     {
 44:         return $this->attributes->mayHave('was_test')->asBoolean();
 45:     }
 46: 
 47:     /**
 48:      * Rate object id.
 49:      *
 50:      * @return string
 51:      */
 52:     public function getRate()
 53:     {
 54:         return $this->attributes->mayHave('rate')->asString();
 55:     }
 56: 
 57:     /**
 58:      * The carrier-specific tracking number that can be used to track the Shipment.
 59:      * A value will only be returned if the Rate is for a trackable Shipment and if the Transactions has been processed successfully.
 60:      *
 61:      * @return string
 62:      */
 63:     public function getTrackingNumber()
 64:     {
 65:         return $this->attributes->mayHave('tracking_number')->asString();
 66:     }
 67: 
 68:     /**
 69:      * The tracking information we currently have on file for this shipment. We regularly update this information.
 70:      *
 71:      * @return TrackingStatus
 72:      */
 73:     public function getTrackingStatus()
 74:     {
 75:         return new TrackingStatus($this->attributes->mayHave('tracking_status')->asArray());
 76:     }
 77: 
 78:     /**
 79:      * @return TrackingHistory
 80:      */
 81:     public function getTrackingHistory()
 82:     {
 83:         $entities = $this->attributes->mayHave('tracking_history')
 84:             ->asInstanceArray('ShippoClient\\Entity\\TrackingStatus');
 85: 
 86:         return new TrackingHistory($entities);
 87:     }
 88: 
 89:     /**
 90:      * A link to track this item on the carrier-provided tracking website.
 91:      * A value will only be returned if tracking is available and the carrier provides such a service.
 92:      *
 93:      * @return string
 94:      */
 95:     public function getTrackingUrlProvider()
 96:     {
 97:         return $this->attributes->mayHave('tracking_url_provider')->asString();
 98:     }
 99: 
100:     /**
101:      * A URL pointing directly to the label in the format you've set in your settings.
102:      * A value will only be returned if the Transactions has been processed successfully.
103:      *
104:      * @return string
105:      */
106:     public function getLabelUrl()
107:     {
108:         return $this->attributes->mayHave('label_url')->asString();
109:     }
110: 
111:     /**
112:      * A URL pointing to the commercial invoice as a 8.5x11 inch PDF file.
113:      * A value will only be returned if the Transactions has been processed successfully and if the shipment is international.
114:      *
115:      * @return string
116:      */
117:     public function getCommercialInvoiceUrl()
118:     {
119:         return $this->attributes->mayHave('commercial_invoice_url')->asString();
120:     }
121: 
122:     /**
123:      * An array containing elements of the following schema:
124:      * "code" (string): an identifier for the corresponding message (not always available")
125:      * "message" (string): a publishable message containing further information.
126:      *
127:      * @return array
128:      */
129:     public function getMessages()
130:     {
131:         return $this->attributes->mayHave('messages')->asArray();
132:     }
133: 
134:     /**
135:      * @return mixed|null
136:      */
137:     public function getOrder()
138:     {
139:         return $this->attributes->mayHave('order')->value();
140:     }
141: 
142:     /**
143:      * @return string
144:      */
145:     public function getMetadata()
146:     {
147:         return $this->attributes->mayHave('metadata')->asString();
148:     }
149: 
150:     public function toArray()
151:     {
152:         $array = $this->__toArray();
153:         $array['tracking_status'] = $this->getTrackingStatus()->toArray();
154:         $array['tracking_history'] = $this->getTrackingHistory()->toArray();
155: 
156:         return $array;
157:     }
158: }
159: 
API documentation generated by ApiGen