PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 2.2.5
WooCommerce Square v2.2.5
5.5.0 5.4.3 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
Customers.php 5 years ago Orders.php 5 years ago Payments.php 6 years ago Refunds.php 6 years ago Transactions.php 6 years ago
Refunds.php
77 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 * @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
22 */
23
24 namespace WooCommerce\Square\Gateway\API\Requests;
25
26 defined( 'ABSPATH' ) || exit;
27
28 use SquareConnect\Api\RefundsApi;
29 use SquareConnect\Model\RefundPaymentRequest;
30 use WooCommerce\Square\Utilities\Money_Utility;
31
32 /**
33 * The Refunds API request class.
34 *
35 * @since 2.2.0
36 */
37 class Refunds extends \WooCommerce\Square\API\Request {
38
39 /**
40 * Initializes a new refund request.
41 *
42 * @since 2.2.0
43 * @param \SquareConnect\ApiClient $api_client the API client
44 */
45 public function __construct( $api_client ) {
46 $this->square_api = new RefundsApi( $api_client );
47 }
48
49
50 /**
51 * Sets the data for refund a payment.
52 *
53 * @since 2.2.0
54 *
55 * @param \WC_Order $order order object
56 */
57 public function set_refund_data( \WC_Order $order ) {
58
59 $this->square_api_method = 'refundPayment';
60
61 // The refund objects are sorted by date DESC, so the last one created will be at the start of the array
62 $refunds = $order->get_refunds();
63 $refund_obj = $refunds[0];
64
65 $this->square_request = new RefundPaymentRequest();
66 $this->square_request->setIdempotencyKey( wc_square()->get_idempotency_key( $order->get_id() . ':' . $refund_obj->get_id() ) );
67 $this->square_request->setPaymentId( $order->refund->tender_id );
68 $this->square_request->setReason( $order->refund->reason );
69
70 $this->square_request->setAmountMoney( Money_Utility::amount_to_money( $order->refund->amount, $order->get_currency() ) );
71
72 $this->square_api_args = array(
73 $this->square_request,
74 );
75 }
76 }
77