如何在woocommerce的“我的帐户”页面上显示网关保存的付款方式

时间:2019-10-14 04:00:41

标签: php wordpress woocommerce payment-method

我正在为WooCommerce开发一个新的付款插件,除了“我的帐户”部分中的“付款方式”页面之外,其他一切都正常。添加的付款方式未显示。

我的付款方式扩展了WC_Payment_Gateway_CC类,签出已正确保存已保存的付款方式,添加了付款方式,但付款方式页面未显示任何内容。

我的add_payment_method函数:

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' ),
        );
    }
}

使用此功能成功保存了付款令牌。

我的get_tokens函数:

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。我想念什么吗?

My payment methods page

My payment method in checkout

0 个答案:

没有答案