✏️ 编辑:Refunds.php
路径:
/home/forge/woocommerce-square/includes/Gateway/API/Requests/Refunds.php
大小:2.65 KB · 修改:2025-12-23 20:26:26 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php /** * WooCommerce Square * * This source file is subject to the GNU General Public License v3.0 * that is bundled with this package in the file license.txt. * It is also available through the world-wide-web at this URL: * http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to license@woocommerce.com so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade WooCommerce Square to newer * versions in the future. If you wish to customize WooCommerce Square for your * needs please refer to https://docs.woocommerce.com/document/woocommerce-square/ * * @author WooCommerce * @copyright Copyright: (c) 2019, Automattic, Inc. * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later */ namespace WooCommerce\Square\Gateway\API\Requests; defined( 'ABSPATH' ) || exit; use Square\Models\RefundPaymentRequest; use WooCommerce\Square\Utilities\Money_Utility; /** * The Refunds API request class. * * @since 2.2.0 */ class Refunds extends \WooCommerce\Square\API\Request { /** * Initializes a new refund request. * * @since 2.2.0 * @param \Square\SquareClient $api_client the API client */ public function __construct( $api_client ) { $this->square_api = $api_client->getRefundsApi(); } /** * Sets the data for refund a payment. * * @since 2.2.0 * * @param \WC_Order $order order object * @param array $refund_data array of data required for a refund. */ public function set_refund_data( \WC_Order $order, $refund_data = array() ) { $this->square_api_method = 'refundPayment'; // The refund objects are sorted by date DESC, so the last one created will be at the start of the array $refunds = $order->get_refunds(); $refund_obj = $refunds[0]; $refund_amount = empty( $refund_data['amount'] ) ? $order->refund->amount : $refund_data['amount']; $tender_id = empty( $refund_data['tender_id'] ) ? $order->refund->tender_id : $refund_data['tender_id']; $payment_type = empty( $refund_data['payment_type'] ) ? '' : "-{$refund_data['payment_type']}"; $this->square_request = new RefundPaymentRequest( wc_square()->get_idempotency_key( $order->get_id() . ':' . $refund_obj->get_id() . $payment_type ), Money_Utility::amount_to_money( $refund_amount, $order->get_currency() ) ); $this->square_request->setPaymentId( $tender_id ); $this->square_request->setReason( $order->refund->reason ); $this->square_api_args = array( $this->square_request ); } }
💾 保存
取消
保存为 UTF-8,换行统一为 LF