Automattic\WooCommerce\Internal\DataStores\Orders
OrdersTableDataStore::get_payment_token_ids
Get token ids for an order.
Method of the class: OrdersTableDataStore{}
No Hooks.
Returns
Array.
Usage
$OrdersTableDataStore = new OrdersTableDataStore(); $OrdersTableDataStore->get_payment_token_ids( $order );
- $order(WC_Order) (required)
- Order object.
OrdersTableDataStore::get_payment_token_ids() OrdersTableDataStore::get payment token ids code WC 10.4.3
public function get_payment_token_ids( $order ) {
/**
* We don't store _payment_tokens in props to preserve backward compatibility. In CPT data store, `_payment_tokens` is always fetched directly from DB instead of from prop.
*/
$payment_tokens = $this->data_store_meta->get_metadata_by_key( $order, '_payment_tokens' );
if ( $payment_tokens ) {
$payment_tokens = $payment_tokens[0]->meta_value;
}
if ( ! $payment_tokens && version_compare( $order->get_version(), '8.0.0', '<' ) ) {
// Before 8.0 we were incorrectly storing payment_tokens in the order meta. So we need to check there too.
$payment_tokens = get_post_meta( $order->get_id(), '_payment_tokens', true );
}
return array_filter( (array) $payment_tokens );
}