Est-il possible de modifier le style du bouton Stripe "Payer avec la carte"? J'ai essayé de modifier par,
stripe-button
dans une feuille de style externestyle=""
Mais je ne peux pas obtenir le bouton pour changer de style.
Il semble que ce soit possible avec le custom integration
au lieu du simple integration
(source: https://stripe.com/docs/checkout#integration-simple ), mais j'espérais qu'il y avait quelque chose de plus simple.
Bouton avec style par défaut:
Est-ce que quelqu'un a de l'expérience avec ça?
(J'intègre Ruby on Rails si cela fait une différence.)
Rechercher cette classe :
.stripe-button-el span
Je pense que c'est là que vous devez modifier le style de votre propre bouton. Vous pouvez l’écraser dans votre propre fichier css externe.
Aucun de ceux qui ont fonctionné pour moi. J'ai fini par cacher le bouton en javascript et en créer un nouveau.
<form action="/your-server-side-code" method="POST">
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="xxx"
data-amount="999"
data-name="zzz"
data-locale="auto">
</script>
<script>
// Hide default stripe button, be careful there if you
// have more than 1 button of that class
document.getElementsByClassName("stripe-button-el")[0].style.display = 'none';
</script>
<button type="submit" class="yourCustomClass">Buy my things</button>
</form>
Même si c'est un peu compliqué, pour tous ceux qui souhaitent utiliser un bouton différent avec "l'intégration simple" de manière simple et rapide, en particulier si vous n'avez pas de "solides compétences en JavaScript", vous pouvez masquer le bouton Stripe avec;
.stripe-button-el { display: none }
De cette façon, n'importe quel bouton de soumission du formulaire appellera la commande afin que vous puissiez simplement utiliser le bouton que vous aviez avant d'introduire Stripe.
Ce qui suit remplacera la couleur d'arrière-plan par la couleur personnalisée #EB649C
. La désactivation de l'image d'arrière-plan est requise, ainsi que le style du bouton et de sa balise span intérieure.
button.stripe-button-el,
button.stripe-button-el>span {
background-color: #EB649C !important;
background-image: none;
}
Vous pouvez supprimer les styles de bouton avec Jquery et ajouter les vôtres. Travaillé un charme pour moi:
<script type="text/javascript">
$(document).ready(function(){
$(".stripe-button-el span").remove();
$("button.stripe-button-el").removeAttr('style').css({
"display":"inline-block",
"width":"100%",
"padding":"15px",
"background":"#3fb0ac",
"color":"white",
"font-size":"1.3em" }).html("Sign Me Up!");
});
</script>
Avec jQuery, vous pouvez aussi simplement redimensionner le bouton comme suit:
<script>
$(function() {
$(".stripe-button-el").css({'transform': 'scale(2)'});
});
</script>
Ou remplacez-le par un bouton avec l'image de votre choix, comme ceci:
<script>
$(function() {
$(".stripe-button-el").replaceWith('<button type="submit" class="pay"><img src="/assets/paywithcard.jpg"></button>');
});
</script>
Vous devez utiliser data-label sa partie de l'API Checkout Stripe standard:
<script
src="https://checkout.stripe.com/checkout.js" class="stripe-button"
data-key="<%= ENV.fetch('STRIPE_PUBLISHABLE_KEY') %>"
data-amount="10000"
data-label="Proceed to Pay with Card"
...
...
data-locale="auto">
</script>
Le .stripe-button-el
span fonctionne réellement.
Mais vous devez ajouter !important
dans CSS pour écraser le CSS par défaut.
Tu peux essayer ça,
$(".stripe-button-el").find("span").remove();
$(".stripe-button-el").html("Proceed to pay");
Payer avec la carte est à l'intérieur d'une travée.