Я работаю над новым плагином оплаты для 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
непозвонил на страницу «Моя учетная запись». Я что-то пропустил?
Страница моих способов оплаты
Мой способ оплаты в кассе