square_api = $api_client->getCardsApi(); } /** * Sets the data for creating a new customer card. * * @since 3.0.0 * * @param \WC_Order $order order object */ public function set_create_card_data( \WC_Order $order ) { $this->square_api_method = 'createCard'; $card = new \Square\Models\Card(); $card->setBillingAddress( \WooCommerce\Square\Gateway\API\Requests\Customers::get_address_from_order( $order ) ); $card->setCardholderName( $order->get_formatted_billing_full_name() ); $card->setCustomerId( $order->customer_id ); $request = new \Square\Models\CreateCardRequest( wc_square()->get_idempotency_key( '', false ), ! empty( $order->payment->token ) ? $order->payment->token : $order->payment->nonce->credit_card, $card ); // 3DS / SCA verification token (from JS) if ( ! empty( $order->payment->verification_token ) ) { $request->setVerificationToken( $order->payment->verification_token ); } $this->square_request = $request; $this->square_api_args = array( $this->square_request, ); } /** * Sets the data for deleting an existing card. * * @since 3.0.0 * * @param string $card_id Square card ID */ public function set_delete_card_data( $card_id ) { $this->square_api_method = 'disableCard'; $this->square_api_args = array( $card_id, ); } }