PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.2
WooCommerce Square v5.4.2
5.4.2 5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Gateway / API / Requests / Gift_Card_Activities.php
woocommerce-square / includes / Gateway / API / Requests Last commit date
Card.php 11 months ago Customers.php 3 years ago Gift_Card.php 2 years ago Gift_Card_Activities.php 2 years ago Orders.php 4 months ago Payments.php 11 months ago Refunds.php 3 years ago Transactions.php 11 months ago
Gift_Card_Activities.php
149 lines
1 <?php
2 /**
3 * WooCommerce Square
4 *
5 * This source file is subject to the GNU General Public License v3.0
6 * that is bundled with this package in the file license.txt.
7 * It is also available through the world-wide-web at this URL:
8 * http://www.gnu.org/licenses/gpl-3.0.html
9 * If you did not receive a copy of the license and are unable to
10 * obtain it through the world-wide-web, please send an email
11 * to license@woocommerce.com so we can send you a copy immediately.
12 *
13 * DISCLAIMER
14 *
15 * Do not edit or add to this file if you wish to upgrade WooCommerce Square to newer
16 * versions in the future. If you wish to customize WooCommerce Square for your
17 * needs please refer to https://docs.woocommerce.com/document/woocommerce-square/
18 */
19
20 namespace WooCommerce\Square\Gateway\API\Requests;
21
22 defined( 'ABSPATH' ) || exit;
23
24 use WooCommerce\Square\API;
25
26 /**
27 * The Gift Card Activities request class.
28 *
29 * @since 4.2.0
30 */
31 class Gift_Card_Activities extends API\Request {
32 /**
33 * Location ID.
34 *
35 * @since 4.2.0
36 *
37 * @var string
38 */
39 public $location_id;
40
41 /**
42 * Initializes a new Catalog request.
43 *
44 * @since 4.2.0
45 *
46 * @param \Square\SquareClient $api_client the API client
47 */
48 public function __construct( $location_id, $api_client ) {
49 $this->square_api = $api_client->getGiftCardActivitiesApi();
50 $this->location_id = $location_id;
51 }
52
53 /**
54 * Sets data required to activate a Gift card.
55 *
56 * @since 4.2.0
57 *
58 * @param string $gift_card_id The ID of the inactive Gift Card.
59 * @param string $order_id Square Order ID associated with the Gift Card.
60 * @param string $line_item_id Line Item ID for the Gift Card.
61 */
62 public function set_activate_gift_card_data( $gift_card_id, $order_id, $line_item_id ) {
63 $activate_activity_details = new \Square\Models\GiftCardActivityActivate();
64 $activate_activity_details->setOrderId( $order_id );
65 $activate_activity_details->setLineItemUid( $line_item_id );
66
67 $gift_card_activity = new \Square\Models\GiftCardActivity(
68 \Square\Models\GiftCardActivityType::ACTIVATE,
69 $this->location_id
70 );
71
72 $gift_card_activity->setGiftCardId( $gift_card_id );
73 $gift_card_activity->setActivateActivityDetails( $activate_activity_details );
74
75 $this->square_request = new \Square\Models\CreateGiftCardActivityRequest(
76 wc_square()->get_idempotency_key( $gift_card_id ),
77 $gift_card_activity
78 );
79
80 $this->square_api_method = 'createGiftCardActivity';
81 $this->square_api_args = array( $this->square_request );
82 }
83
84 /**
85 * Loads an existing gift card with an amount.
86 *
87 * @since 4.2.0
88 *
89 * @param string $gan The gift card number.
90 * @param \WC_Order $order WooCommerce order.
91 */
92 public function set_load_gift_card_data( $gan, $order ) {
93 $gift_card_line_item_id = wc_square()->get_gateway( $order->get_payment_method() )->get_order_meta( $order, 'gift_card_line_item_id' );
94 $square_order_id = wc_square()->get_gateway( $order->get_payment_method() )->get_order_meta( $order, 'square_order_id' );
95
96 $load_activity_details = new \Square\Models\GiftCardActivityLoad();
97 $gift_card_activity = new \Square\Models\GiftCardActivity(
98 \Square\Models\GiftCardActivityType::LOAD,
99 wc_square()->get_settings_handler()->get_location_id()
100 );
101
102 $load_activity_details->setOrderId( $square_order_id );
103 $load_activity_details->setLineItemUid( $gift_card_line_item_id );
104
105 $gift_card_activity->setGiftCardGan( $gan );
106 $gift_card_activity->setLoadActivityDetails( $load_activity_details );
107
108 $this->square_request = new \Square\Models\CreateGiftCardActivityRequest(
109 wc_square()->get_idempotency_key( $order->unique_transaction_ref ),
110 $gift_card_activity
111 );
112
113 $this->square_api_method = 'createGiftCardActivity';
114 $this->square_api_args = array( $this->square_request );
115 }
116
117 /**
118 * Refunds/adjusts decrement when a Gift Card purchase/reload is refunded.
119 *
120 * @since 4.2.0
121 *
122 * @param string $gan Gift card number.
123 * @param \Square\Models\Money $amount_money The amount to be refunded.
124 * @param \WC_Order $order WooCommerce order.
125 */
126 public function set_gift_card_refund_data( $gan, $amount_money, $order ) {
127 $adjust_decrement_activity_details = new \Square\Models\GiftCardActivityAdjustDecrement(
128 $amount_money,
129 \Square\Models\GiftCardActivityAdjustDecrementReason::PURCHASE_WAS_REFUNDED
130 );
131
132 $gift_card_activity = new \Square\Models\GiftCardActivity(
133 \Square\Models\GiftCardActivityType::ADJUST_DECREMENT,
134 $this->location_id
135 );
136
137 $gift_card_activity->setGiftCardGan( $gan );
138 $gift_card_activity->setAdjustDecrementActivityDetails( $adjust_decrement_activity_details );
139
140 $this->square_request = new \Square\Models\CreateGiftCardActivityRequest(
141 wc_square()->get_idempotency_key(),
142 $gift_card_activity
143 );
144
145 $this->square_api_method = 'createGiftCardActivity';
146 $this->square_api_args = array( $this->square_request );
147 }
148 }
149