1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
<?php
defined( 'ABSPATH' ) || exit();
class WC_Stripe_API_Request_Filter {
private $advanced_settings;
public function __construct( $advanced_settings ) {
$this->advanced_settings = $advanced_settings;
$this->initialize();
}
private function initialize() {
if ( $this->advanced_settings->is_fee_enabled() ) {
add_filter( 'wc_stripe_payment_intent_args', array( $this, 'expand_balance_transaction' ) );
add_filter( 'wc_stripe_payment_intent_confirmation_args', array( $this, 'expand_balance_transaction' ) );
add_filter( 'wc_stripe_payment_intent_retrieve_args', array( $this, 'expand_balance_transaction' ) );
add_filter( 'wc_stripe_payment_intent_capture_args', array( $this, 'expand_balance_transaction' ) );
add_filter( 'wc_stripe_charge_order_args', array( $this, 'expand_balance_transaction_for_charge' ) );
}
}
public function expand_balance_transaction( $args ) {
if ( ! is_array( $args ) ) {
$args = array();
}
$args['expand'] = isset( $args['expand'] ) ? $args['expand'] : array();
$args['expand'][] = 'charges.data.balance_transaction';
return $args;
}
public function expand_balance_transaction_for_charge( $args ) {
$args['expand'] = isset( $args['expand'] ) ? $args['expand'] : array();
$args['expand'][] = 'balance_transaction';
return $args;
}
}