Stripeのスタイリングをカスタマイズする方法

はじめに

フォームの要素のStripeのスタイルをカスタマイズしたいですか? 問題ありません! このチュートリアルでは、PHPを使用してStripeクレジットカードフィールドの外観をカスタマイズする簡単な手順を説明します。

このスニペットは、WPForms設定の支払いタブのWPForms設定のクレジットカードフィールドモード支払い要素に設定されている場合にのみ、Stripeクレジットカードフォームフィールドに適用されることに注意してください。

このオプションの詳細については、こちらの役立つガイドをご覧ください

デフォルトでは、フィールドにはWPForms内でデフォルトのオプションが設定されています。

Stripe スタイル デフォルト

フォームの作成

新しいフォームを作成し、フィールドを追加することから始めます。フォームにStripeクレジットカードフィールドを含める必要があります。

Stripe支払い処理を行うフォームの作成にヘルプが必要な場合は、こちらの詳細ガイドをご覧ください

このチュートリアルの目的で、簡単な注文フォームを作成しました。

フォームにStripeクレジットカードフィールドを追加する

スニペットの追加

次にスニペットを追加します。カスタムスニペットをサイトに追加する方法と場所についてヘルプが必要な場合は、こちらのチュートリアルをご覧ください

Stripeには、要素のスタイル設定に関するオプションがいくつかあります。変更できる項目の包括的なリストについては、Elements Appearance APIに関するStripe独自のドキュメントを参照してください。一部の要素はこのAPIでサポートされていない可能性があるため、フォームと変更を必ずテストしてください。

/**
 * Customize Stripe styling when using the Payment Element
 *
 * @link https://wpforms.com/developers/how-to-customize-the-stripe-styling/
 */
 
function wpf_stripe_payment_element_appearance() {
     
    return [
        'theme' => 'stripe',
        'labels' => 'floating',
        'variables' => [
            'fontFamily' => 'Sohne, system-ui, sans-serif',
            'fontWeightNormal' => '500',
            'borderRadius' => '8px',
            'colorBackground' => '#0A2540',
            'colorPrimary' => '#EFC078',
            'accessibleColorOnColorPrimary' => '#1A1B25',
            'colorText' => 'white',
            'colorTextSecondary' => 'white',
            'colorTextPlaceholder' => '#727F96',
            'tabIconColor' => 'white',
            'logoColor' => 'dark'
        ]
    ];
}
 
add_filter( 'wpforms_integrations_stripe_api_payment_intents_set_element_appearance', 'wpf_stripe_payment_element_appearance' );

このスニペットでは、Stripeのテーマを選択し、フィールドのラベルフローティングに設定し、さまざまなCSSオプションも設定しました。

これでフォームを表示すると、フローティングラベルを含む、行った変更がはっきりとわかります。

スニペットを追加した後、行った変更が表示されます

支払いリクエストボタン(Apple PayおよびGoogle Pay)のカスタマイズ

Stripeクレジットカードフィールドが支払い要素を使用している場合、Stripeのappearanceオブジェクトを上書きすることで、Apple PayおよびGoogle Payボタンの表示方法もカスタマイズできます。

これを行うには、wpforms_integrations_stripe_api_payment_intents_set_element_appearanceフィルターを使用し、.PaymentRequestButtonのエントリにrulesを追加します。これにより、テキストの色を含むボタンのスタイルを制御できます。

add_filter( 'wpforms_integrations_stripe_api_payment_intents_set_element_appearance', function ( $appearance ) {
    // Define a consistent appearance structure for Stripe Elements.
    $appearance = [
        'rules' => [
            '.PaymentRequestButton' => [
                'background-color' => '#FFF',
                'color' => '#FFFFFF',
                'border-radius' => '4px',
                'height' => '64px',
                'font-family' => 'Arial, sans-serif',
                'font-size' => '16px',
            ],
        ],
        'variables' => [
            'colorPrimary' => '#FF0000',
            'fontFamily' => 'Arial, sans-serif', 
        ],
    ];
return $appearance;

});

追加のスタイル設定オプションについては、StripeのElements Appearance APIおよびPayment Request Buttonのドキュメントを参照してください。

これでStripeのスタイルをカスタマイズするために必要なすべてが揃いました。他のフォームフィールドにフローティングラベルを追加したいですか? フローティングラベル付きフォームの作成方法のチュートリアルをご覧ください。