Как показать сохраненные способы оплаты моего шлюза на странице «Моя учетная запись» в woocommerce - PullRequest
0 голосов
/ 14 октября 2019

Я работаю над новым плагином оплаты для WooCommerce, все работает нормально, кроме страницы «Способы оплаты» в разделе «Моя учетная запись». Добавленные способы оплаты не отображаются.

Мой метод оплаты расширяет класс WC_Payment_Gateway_CC, проверка сохраненных методов оплаты загружена правильно, добавление методов оплаты работает, но на странице методов оплаты ничего не отображается.

My add_payment_method function:

public function add_payment_method() {
    $token = $_POST['new_payment_token'];
    $isSaveSuccessful = $this->saveTokenToGateway( $token );
    if ( $isSaveSuccessful ) {
        return array(
            'result'   => 'success',
            'redirect' => wc_get_endpoint_url( 'payment-methods' ),
        );
    } else {
        return array(
            'result'   => 'failure',
            'redirect' => wc_get_endpoint_url( 'payment-methods' ),
        );
    }
}

Токены оплаты успешно сохраняются с помощью этой функции.

My get_tokens function:

public function get_tokens() {
    $savedTokens = $this->getSavedTokenFromGateway();
    $result = [];
    foreach ( $savedTokens as $index => $savedToken ) {
        $token = new WC_Payment_Token_CC();
        $token->set_id( $savedToken['id'] );
        $token->set_card_type( $savedToken['cardType'] );
        $token->set_last4( $savedToken['last4'] );
        $token->set_expiry_month( $savedToken['expiryMonth'] );
        $token->set_expiry_year( $savedToken['expiryYear'] );
        $token->set_token( $savedToken['token'] );
        $result[] = $token;
    }

    return $result;
}

Похоже, get_tokens непозвонил на страницу «Моя учетная запись». Я что-то пропустил?

Страница моих способов оплаты

Мой способ оплаты в кассе

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...