✏️ 编辑:Payment_Gateway_Api.php
路径:
/home/forge/woocommerce-square/includes/Framework/PaymentGateway/Api/Payment_Gateway_Api.php
大小:8.33 KB · 修改:2025-12-23 20:26:26 · 权限:0644 · 可写
← 返回目录
👁 查看
⬇ 下载
<?php /** * WooCommerce Payment Gateway Framework * * 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@skyverge.com so we can send you a copy immediately. * * @since 3.0.0 * @author WooCommerce / SkyVerge * @copyright Copyright (c) 2013-2019, SkyVerge, Inc. * @license http://www.gnu.org/licenses/gpl-3.0.html GNU General Public License v3.0 or later * * Modified by WooCommerce on 15 December 2021. */ namespace WooCommerce\Square\Framework\PaymentGateway\Api; defined( 'ABSPATH' ) || exit; /** * WooCommerce Direct Payment Gateway API */ interface Payment_Gateway_API { /** * Perform a credit card authorization for the given order * * If the gateway does not support credit card authorizations, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order the order * @return Payment_Gateway_API_Response credit card charge response * @throws \Exception network timeouts, etc */ public function credit_card_authorization( \WC_Order $order ); /** * Perform a credit card charge for the given order * * If the gateway does not support credit card charges, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order the order * @return Payment_Gateway_API_Response credit card charge response * @throws \Exception network timeouts, etc */ public function credit_card_charge( \WC_Order $order ); /** * Perform a credit card capture for a given authorized order * * If the gateway does not support credit card capture, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order the order * @return Payment_Gateway_API_Response credit card capture response * @throws \Exception network timeouts, etc */ public function credit_card_capture( \WC_Order $order ); /** * Performs a gift card charge for a given order. * * @since 4.2.0 * * @param \WC_Order $order order object * @return \WooCommerce\Square\API\Response */ public function gift_card_charge( \WC_Order $order ); /** * Performs payments when a transaction is done using multiple payment methods. * For example: Gift Card + Square Credit Card. * * @since 4.2.0 * * @param array $payment_ids Array of payment IDs. * @param string $order_id Square order ID. */ public function pay_order( $payment_ids, $order_id ); /** * Creates a Gift Card. * * @since 4.2.0 * * @param $order_id Line item order ID. * @return API\Responses\Get_Gift_Card */ public function create_gift_card( $order_id ); /** * Activates a Gift Card which is in a pending state. * * @since 4.2.0 * * @param string $gift_card_id The ID of the inactive Gift Card. * @param string $order_id Square Order ID associated with the Gift Card. * @param string $line_item_id Line Item ID for the Gift Card. */ public function activate_gift_card( $gift_card_id, $order_id, $line_item_id ); /** * Loads an existing gift card with an amount. * * @since 4.2.0 * * @param string $gan The gift card number. * @param \WC_Order $order WooCommerce order. */ public function load_gift_card( $gan, $order ); /** * Sets data to refund/adjust decrement funds in a gift card. * * @since 4.2.0 * * @param string $gan Gift card number. * @param \Square\Models\Money $amount_money The amount to be refunded. * @param \WC_Order $order WooCommerce order. */ public function refund_gift_card( $gan, $amount_money, $order ); /** * Perform an eCheck debit (ACH transaction) for the given order * * If the gateway does not support check debits, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order the order * @return Payment_Gateway_API_Response check debit response * @throws \Exception network timeouts, etc */ public function check_debit( \WC_Order $order ); /** * Perform a refund for the given order * * If the gateway does not support refunds, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order order object * @return Payment_Gateway_API_Response refund response * @throws \Exception network timeouts, etc */ public function refund( \WC_Order $order ); /** * Perform a void for the given order * * If the gateway does not support voids, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order order object * @return Payment_Gateway_API_Response void response * @throws \Exception network timeouts, etc */ public function void( \WC_Order $order ); /** * Creates a payment token for the given order * * If the gateway does not support tokenization, this method can be a no-op. * * @since 3.0.0 * * @param \WC_Order $order the order * @return Payment_Gateway_API_Create_Payment_Token_Response payment method tokenization response * @throws \Exception network timeouts, etc */ public function tokenize_payment_method( \WC_Order $order ); /** * Updates a tokenized payment method. * * @since 3.0.0 * * @param \WC_Order $order order object * @return Payment_Gateway_API_Response * @throws \Exception */ public function update_tokenized_payment_method( \WC_Order $order ); /** * Determines if this API supports updating tokenized payment methods. * * @see Payment_Gateway_API::update_tokenized_payment_method() * * @since 3.0.0 * * @return bool */ public function supports_update_tokenized_payment_method(); /** * Removes the tokenized payment method. This method should not be invoked * unless supports_remove_tokenized_payment_method() returns true, otherwise * the results are undefined. * * @since 3.0.0 * @see Payment_Gateway_API::supports_remove_tokenized_payment_method() * * @param string $token the payment method token * @param string $customer_id unique customer id for gateways that support it * @return Payment_Gateway_API_Response remove tokenized payment method response * @throws \Exception network timeouts, etc */ public function remove_tokenized_payment_method( $token, $customer_id ); /** * Returns true if this API supports a "remove tokenized payment method" * request. If this method returns true, then remove_tokenized_payment_method() * is considered safe to call. * * @since 3.0.0 * @see Payment_Gateway_API::remove_tokenized_payment_method() * * @return boolean true if this API supports a "remove tokenized payment method" request, false otherwise */ public function supports_remove_tokenized_payment_method(); /** * Returns all tokenized payment methods for the customer. This method * should not be invoked unless supports_get_tokenized_payment_methods() * return true, otherwise the results are undefined * * @since 3.0.0 * @see Payment_Gateway_API::supports_get_tokenized_payment_methods() * * @param string $customer_id unique customer id * @return Payment_Gateway_API_Get_Tokenized_Payment_Methods_Response response containing any payment tokens for the customer * @throws \Exception network timeouts, etc */ public function get_tokenized_payment_methods( $customer_id ); /** * Returns true if this API supports a "get tokenized payment methods" * request. If this method returns true, then get_tokenized_payment_methods() * is considered safe to call. * * @since 3.0.0 * @see Payment_Gateway_API::get_tokenized_payment_methods() * * @return boolean true if this API supports a "get tokenized payment methods" request, false otherwise */ public function supports_get_tokenized_payment_methods(); /** * Returns the most recent request object * * @since 3.0.0 * * @return \WooCommerce\Square\Framework\Api\API_Request the most recent request object */ public function get_request(); /** * Returns the most recent response object * * @since 3.0.0 * * @return Payment_Gateway_API_Response the most recent response object */ public function get_response(); /** * Returns the WC_Order object associated with the request, if any * * @since 3.0.0 * * @return \WC_Order */ public function get_order(); }
💾 保存
取消
保存为 UTF-8,换行统一为 LF