<?php /** * Payment Token Data Store Interface * * @version 3.0.0 * @package WooCommerce\Interface */ if ( ! defined( 'ABSPATH' ) ) { exit; } /** * WC Payment Token Data Store Interface * * Functions that must be defined by payment token store classes. * * @version 3.0.0 */ interface WC_Payment_Token_Data_Store_Interface { /** * Returns an array of objects (stdObject) matching specific token criteria. * Accepts token_id, user_id, gateway_id, and type. * Each object should contain the fields token_id, gateway_id, token, user_id, type, is_default. * * @param array $args Arguments. * @return array */ public function get_tokens( $args ); /** * Returns an stdObject of a token for a user's default token. * Should contain the fields token_id, gateway_id, token, user_id, type, is_default. * * @param int $user_id User ID. * @return object */ public function get_users_default_token( $user_id ); /** * Returns an stdObject of a token. * Should contain the fields token_id, gateway_id, token, user_id, type, is_default. * * @param int $token_id Token ID. * @return object */ public function get_token_by_id( $token_id ); /** * Returns metadata for a specific payment token. * * @param int $token_id Token ID. * @return array */ public function get_metadata( $token_id ); /** * Get a token's type by ID. * * @param int $token_id Token ID. * @return string */ public function get_token_type_by_id( $token_id ); /** * Update's a tokens default status in the database. Used for quickly * looping through tokens and setting their statuses instead of creating a bunch * of objects. * * @param int $token_id Token ID. * @param bool $status If should update status. * @return string */ public function set_default_status( $token_id, $status = true ); }