PluginProbe ʕ •ᴥ•ʔ
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments / 2.29.0
SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments v2.29.0
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 1.0.6 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.10.0 1.10.1 1.10.2 1.10.3 1.10.4 1.11.0 1.11.1 1.11.2 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 1.4.1 1.4.2 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.9.0 1.9.1 1.9.2 1.9.3 1.9.4 1.9.5 2.0.0 2.0.1 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.10.0 2.10.1 2.11.0 2.11.1 2.11.2 2.11.3 2.11.4 2.12.0 2.13.0 2.14.0 2.14.1 2.15.0 2.15.1 2.16.0 2.16.1 2.16.2 2.16.3 2.17.0 2.17.1 2.17.2 2.18.0 2.19.0 2.19.2 2.19.3 2.19.4 2.2.0 2.2.1 2.20.0 2.20.1 2.20.2 2.20.3 2.20.4 2.20.5 2.20.6 2.21.0 2.22.0 2.22.1 2.23.0 2.24.0 2.25.0 2.25.1 2.25.2 2.26.0 2.27.0 2.27.1 2.28.0 2.29.0 2.29.1 2.29.2 2.29.3 2.29.4 2.3.0 2.3.1 2.30.0 2.31.0 2.31.1 2.31.2 2.31.3 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.40.0 2.40.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.8.2 2.8.3 2.8.4 2.9.0 3.0.0 3.0.0-RC1 3.0.0-RC2 3.0.0-beta1 3.0.0-beta2 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.10.0 3.10.1 3.11.0 3.12.0 3.13.0 3.13.1 3.13.2 3.13.3 3.13.4 3.14.0 3.15.0 3.15.1 3.15.2 3.15.3 3.15.4 3.15.5 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.16.6 3.16.7 3.16.8 3.17.0 3.17.1 3.17.2 3.17.3 3.17.4 3.17.5 3.17.6 3.18.0 3.19.0 3.19.1 3.19.2 3.2.0 3.2.1 3.2.2 3.20.0 3.20.1 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 trunk 4.1.0 0.2.19.1 4.1.1 1.0.0 4.2.0 1.0.1 1.0.2
surecart / app / src / Models / ReturnRequest.php
surecart / app / src / Models Last commit date
Traits 2 years ago AbandonedCheckout.php 2 years ago AbandonedCheckoutProtocol.php 3 years ago Account.php 3 years ago AccountPortalSession.php 3 years ago Activation.php 2 years ago Affiliation.php 2 years ago AffiliationProduct.php 2 years ago AffiliationProtocol.php 2 years ago AffiliationRequest.php 2 years ago ApiToken.php 3 years ago BalanceTransaction.php 3 years ago Brand.php 3 years ago BulkAction.php 2 years ago Bump.php 2 years ago BuyLink.php 2 years ago CancellationAct.php 3 years ago CancellationReason.php 3 years ago Charge.php 3 years ago Checkout.php 2 years ago Click.php 2 years ago Collection.php 2 years ago CommissionStructure.php 2 years ago Component.php 3 years ago Coupon.php 2 years ago Customer.php 2 years ago CustomerLink.php 3 years ago CustomerNotificationProtocol.php 3 years ago DatabaseModel.php 2 years ago Download.php 3 years ago Event.php 3 years ago Export.php 2 years ago Form.php 3 years ago Fulfillment.php 3 years ago FulfillmentItem.php 3 years ago IncomingWebhook.php 2 years ago Integration.php 2 years ago Invoice.php 3 years ago License.php 2 years ago LineItem.php 2 years ago ManualPaymentMethod.php 3 years ago Media.php 3 years ago Model.php 2 years ago ModelInterface.php 3 years ago Order.php 2 years ago OrderProtocol.php 3 years ago PaymentIntent.php 3 years ago PaymentMethod.php 3 years ago Payout.php 2 years ago PayoutGroup.php 2 years ago Period.php 3 years ago PortalProtocol.php 3 years ago PortalSession.php 3 years ago Price.php 3 years ago Processor.php 3 years ago Product.php 2 years ago ProductCollection.php 2 years ago ProductGroup.php 2 years ago ProductMedia.php 3 years ago Promotion.php 3 years ago ProvisionalAccount.php 2 years ago Purchase.php 2 years ago Referral.php 2 years ago ReferralItem.php 2 years ago Refund.php 3 years ago RegisteredWebhook.php 2 years ago ReturnItem.php 2 years ago ReturnReason.php 2 years ago ReturnRequest.php 2 years ago ShippingMethod.php 3 years ago ShippingProfile.php 3 years ago ShippingProtocol.php 3 years ago ShippingRate.php 3 years ago ShippingZone.php 3 years ago Statistic.php 3 years ago Subscription.php 2 years ago SubscriptionProtocol.php 3 years ago TaxOverride.php 2 years ago TaxProtocol.php 3 years ago TaxRegistration.php 3 years ago TaxZone.php 3 years ago Upload.php 3 years ago Upsell.php 2 years ago UpsellFunnel.php 2 years ago User.php 2 years ago Variant.php 2 years ago VariantOption.php 2 years ago VariantValue.php 2 years ago VerificationCode.php 3 years ago Webhook.php 2 years ago WebhookRegistration.php 2 years ago
ReturnRequest.php
116 lines
1 <?php
2
3 namespace SureCart\Models;
4
5 use SureCart\Models\Model;
6 use SureCart\Models\Traits\HasOrder;
7
8 /**
9 * ReturnRequest model.
10 */
11 class ReturnRequest extends Model {
12 use HasOrder;
13
14 /**
15 * Rest API endpoint
16 *
17 * @var string
18 */
19 protected $endpoint = 'return_requests';
20
21 /**
22 * Object name
23 *
24 * @var string
25 */
26 protected $object_name = 'return_request';
27
28 /**
29 * Open a return request.
30 *
31 * @param string $id Model id.
32 * @return $this|\WP_Error
33 */
34 protected function open( $id = null ) {
35 if ( $id ) {
36 $this->setAttribute( 'id', $id );
37 }
38
39 if ( $this->fireModelEvent( 'opening' ) === false ) {
40 return false;
41 }
42
43 if ( empty( $this->id ) ) {
44 return new \WP_Error( 'not_saved', 'You can only open an existing return request.' );
45 }
46
47 $attributes = $this->attributes;
48 unset( $attributes['id'] );
49
50 $opened = $this->makeRequest(
51 [
52 'method' => 'PATCH',
53 'query' => $this->query,
54 'body' => [
55 $this->object_name => $attributes,
56 ],
57 ],
58 $this->endpoint . '/' . $this->id . '/open/'
59 );
60
61 if ( is_wp_error( $opened ) ) {
62 return $opened;
63 }
64
65 $this->resetAttributes();
66 $this->fill( $opened );
67 $this->fireModelEvent( 'opened' );
68
69 return $this;
70 }
71
72 /**
73 * Complete a return request.
74 *
75 * @param string $id Model id.
76 * @return $this|\WP_Error
77 */
78 protected function complete( $id = null ) {
79 if ( $id ) {
80 $this->setAttribute( 'id', $id );
81 }
82
83 if ( $this->fireModelEvent( 'completing' ) === false ) {
84 return false;
85 }
86
87 if ( empty( $this->id ) ) {
88 return new \WP_Error( 'not_saved', 'You can only complete an existing return request.' );
89 }
90
91 $attributes = $this->attributes;
92 unset( $attributes['id'] );
93
94 $completed = $this->makeRequest(
95 [
96 'method' => 'PATCH',
97 'query' => $this->query,
98 'body' => [
99 $this->object_name => $attributes,
100 ],
101 ],
102 $this->endpoint . '/' . $this->id . '/complete/'
103 );
104
105 if ( is_wp_error( $completed ) ) {
106 return $completed;
107 }
108
109 $this->resetAttributes();
110 $this->fill( $completed );
111 $this->fireModelEvent( 'completed' );
112
113 return $this;
114 }
115 }
116