PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 3.8.1
WooCommerce Square v3.8.1
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 / Refunds.php
woocommerce-square / includes / Gateway / API / Requests Last commit date
Card.php 3 years ago Customers.php 3 years ago Gift_Card.php 3 years ago Orders.php 3 years ago Payments.php 3 years ago Refunds.php 3 years ago Transactions.php 3 years ago
Refunds.php
76 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 GNU General Public License v3.0 or later
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 * @author WooCommerce
20 * @copyright Copyright: (c) 2019, Automattic, Inc.
21 * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later
22 */
23
24 namespace WooCommerce\Square\Gateway\API\Requests;
25
26 defined( 'ABSPATH' ) || exit;
27
28 use Square\Models\RefundPaymentRequest;
29 use WooCommerce\Square\Utilities\Money_Utility;
30
31 /**
32 * The Refunds API request class.
33 *
34 * @since 2.2.0
35 */
36 class Refunds extends \WooCommerce\Square\API\Request {
37
38 /**
39 * Initializes a new refund request.
40 *
41 * @since 2.2.0
42 * @param \Square\SquareClient $api_client the API client
43 */
44 public function __construct( $api_client ) {
45 $this->square_api = $api_client->getRefundsApi();
46 }
47
48
49 /**
50 * Sets the data for refund a payment.
51 *
52 * @since 2.2.0
53 *
54 * @param \WC_Order $order order object
55 */
56 public function set_refund_data( \WC_Order $order ) {
57
58 $this->square_api_method = 'refundPayment';
59
60 // The refund objects are sorted by date DESC, so the last one created will be at the start of the array
61 $refunds = $order->get_refunds();
62 $refund_obj = $refunds[0];
63
64 $this->square_request = new RefundPaymentRequest(
65 wc_square()->get_idempotency_key( $order->get_id() . ':' . $refund_obj->get_id() ),
66 Money_Utility::amount_to_money( $order->refund->amount, $order->get_currency() )
67 );
68
69 $this->square_request->setPaymentId( $order->refund->tender_id );
70
71 $this->square_request->setReason( $order->refund->reason );
72
73 $this->square_api_args = array( $this->square_request );
74 }
75 }
76