web-dev-qa-db-fra.com

Comment préremplir le courrier électronique dans la boîte de dialogue de dialogue Stripe Payments

Je n'arrive pas à trouver un moyen de préremplir l'adresse e-mail dans la fenêtre contextuelle de paiement par bandes. Cependant, ce week-end, je me suis inscrit à deux comptes sur des sites Web qui utilisent des paiements par bande et j'ai réalisé que ces sites Web avaient pré-rempli mon e-mail dans la boîte de dialogue iframe de la bande. Je sais donc qu'il doit y avoir un moyen, mais je ne sais pas comment procéder. Les documents ne définissent pas cette propriété. Quelqu'un peut-il expliquer comment cela se fait en utilisant l'API javascript et la boîte de dialogue Stripe de base?

29
Edgar Martinez

Si vous utilisez Simple Checkout vous passez l'e-mail dans data-email Comme ceci:

<form action="/charge" method="POST">
  <script
    src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="pk_test_6pRNASCoBOKtIshFeQd4XMUh"
    data-image="/img/documentation/checkout/marketplace.png"
    data-name="Stripe.com"
    data-description="2 widgets"
    data-amount="2000"
    data-email="[email protected]"
    data-locale="auto">
  </script>
</form>

Si vous utilisez Custom Checkout vous passez l'e-mail dans le paramètre email à handler.open():

handler.open({
  name: 'Stripe.com',
  description: '2 widgets',
  amount: 2000,
  email: "[email protected]"
});
48
koopajah

Si vous souhaitez définir dynamiquement l'e-mail (pour Simple Checkout) à l'aide de js, vous devez créer dynamiquement l'élément de script entier pour vous assurer qu'il se charge correctement. Cela peut être fait comme ceci:

//create our stipe script element
var stripescript = document.createElement('script'); //create script element

//dynamicaly load stripe checkout attributes
stripescript.setAttribute('src','https://checkout.stripe.com/checkout.js');
stripescript.setAttribute("data-key","[YOUR STRIPE TOKEN]" )  
stripescript.setAttribute("data-amount","90" )  
stripescript.setAttribute("data-locale","auto")  
stripescript.setAttribute("class","stripe-button")  
stripescript.setAttribute("data-billing-address",true)  
stripescript.setAttribute("data-panel-label","Update")  
stripescript.setAttribute("data-currency","gbp")  
// any other attributes you want to add stripescript.setAttribute("[name]","[value]") 

//insert script element inside of div or an other element
document.getElementById('[ID OF ELEMENT YOU WANT TO PUT THE FORM INTO]').appendChild(stripescript);
0
K Kreid