woocommerce/includes/interfaces/class-wc-payment-token-data...

66 lines
1.6 KiB
PHP

<?php
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
/**
* WC Payment Token Data Store Interface
*
* Functions that must be defined by payment token store classes.
*
* @version 2.7.0
* @category Interface
* @author WooThemes
*/
interface WC_Payment_Token_Data_Store_Interface {
/**
* Returns an array of objects (stdObject) matching specific token critera.
* 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
* @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 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 id $token_id
* @return object
*/
public function get_token_by_id( $token_id );
/**
* Returns metadata for a specific payment token.
* @param id $token_id
* @return array
*/
public function get_metadata( $token_id );
/**
* Get a token's type by ID.
*
* @since 2.7.0
* @param 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 id $token_id
* @return string
*/
public function set_default_status( $token_id, $status = true );
}