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 / Card.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
Card.php
95 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 /**
29 * The Cards API request class.
30 *
31 * @since 3.0.0
32 */
33 class Card extends \WooCommerce\Square\API\Request {
34
35 /**
36 * Initializes a new Card request.
37 *
38 * @since 3.0.0
39 * @param \Square\SquareClient $api_client the API client
40 */
41 public function __construct( $api_client ) {
42 $this->square_api = $api_client->getCardsApi();
43 }
44
45 /**
46 * Sets the data for creating a new customer card.
47 *
48 * @since 3.0.0
49 *
50 * @param \WC_Order $order order object
51 */
52 public function set_create_card_data( \WC_Order $order ) {
53
54 $this->square_api_method = 'createCard';
55
56 $card = new \Square\Models\Card();
57 $card->setBillingAddress( \WooCommerce\Square\Gateway\API\Requests\Customers::get_address_from_order( $order ) );
58 $card->setCardholderName( $order->get_formatted_billing_full_name() );
59 $card->setCustomerId( $order->customer_id );
60
61 $request = new \Square\Models\CreateCardRequest(
62 wc_square()->get_idempotency_key( '', false ),
63 ! empty( $order->payment->token ) ? $order->payment->token : $order->payment->nonce,
64 $card
65 );
66
67 // 3DS / SCA verification token (from JS)
68 if ( ! empty( $order->payment->verification_token ) ) {
69 $request->setVerificationToken( $order->payment->verification_token );
70 }
71
72 $this->square_request = $request;
73
74 $this->square_api_args = array(
75 $this->square_request,
76 );
77 }
78
79 /**
80 * Sets the data for deleting an existing card.
81 *
82 * @since 3.0.0
83 *
84 * @param string $card_id Square card ID
85 */
86 public function set_delete_card_data( $card_id ) {
87
88 $this->square_api_method = 'disableCard';
89
90 $this->square_api_args = array(
91 $card_id,
92 );
93 }
94 }
95