76 lines
1.8 KiB
PHP
76 lines
1.8 KiB
PHP
<?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 );
|
|
}
|