PluginProbe
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 1.0.3
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v1.0.3
4.7.2 4.7.1 4.7.0 4.6.6 4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.1 4.5.0 4.4.2 4.4.1 4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.3 4.2.2 4.2.1 1.0.3 1.0.4 1.0.5 All 281 releases
surecart / app / src / Models / Order.php
Order.php
77 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace SureCart\Models;
4
5 use SureCart\Models\Traits\HasCustomer;
6 use SureCart\Models\Traits\HasSubscriptions;
7 use SureCart\Models\LineItem;
8 use SureCart\Models\Traits\CanFinalize;
9 use SureCart\Models\Traits\HasDiscount;
10 use SureCart\Models\Traits\HasPaymentIntent;
11 use SureCart\Models\Traits\HasPaymentMethod;
12 use SureCart\Models\Traits\HasProcessorType;
13 use SureCart\Models\Traits\HasPurchases;
14 use SureCart\Models\Traits\HasShippingAddress;
15
16 /**
17 * Order model
18 */
19 class Order extends Model {
20 use HasCustomer,
21 HasSubscriptions,
22 HasDiscount,
23 HasShippingAddress,
24 HasPaymentIntent,
25 HasPaymentMethod,
26 HasPurchases,
27 CanFinalize,
28 HasProcessorType;
29
30 /**
31 * Rest API endpoint
32 *
33 * @var string
34 */
35 protected $endpoint = 'orders';
36
37 /**
38 * Object name
39 *
40 * @var string
41 */
42 protected $object_name = 'order';
43
44 /**
45 * Need to pass the processor type on create
46 *
47 * @param array $attributes Optional attributes.
48 * @param string $type stripe, paypal, etc.
49 */
50 public function __construct( $attributes = [], $type = '' ) {
51 $this->processor_type = $type;
52 parent::__construct( $attributes );
53 }
54
55 /**
56 * Set the product attribute
57 *
58 * @param object $value Product properties.
59 * @return void
60 */
61 public function setLineItemsAttribute( $value ) {
62 $this->setCollection( 'line_items', $value, LineItem::class );
63 }
64
65 /**
66 * Get stats for the order.
67 *
68 * @param array $args Array of arguments for the statistics.
69 *
70 * @return \SureCart\Models\Statistic;
71 */
72 protected function stats( $args = [] ) {
73 $stat = new Statistic();
74 return $stat->where( $args )->find( 'orders' );
75 }
76 }
77