如何在Stripe payment对话框弹出窗口中预先填充电子邮件

时间:2015-11-08 02:21:07

标签: stripe-payments

我似乎无法找到预先填充条带付款弹出窗口中的电子邮件地址的方法。然而,本周末我在使用条带支付的网站上注册了两个帐户,我意识到这些网站已经在条带对话框iframe框中预先填充了我的电子邮件。所以我知道必须有办法,但我不确定如何做到这一点。文档没有定义该属性。 有人可以解释如何使用javascript API和基本Stripe对话框完成这项工作吗?

2 个答案:

答案 0 :(得分:46)

如果您使用的是Simple Checkout,则可以通过以下data-email传递电子邮件:

<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="customer@email.com"
    data-locale="auto">
  </script>
</form>

如果您使用Custom Checkout,则会将email参数中的电子邮件传递给handler.open()

handler.open({
  name: 'Stripe.com',
  description: '2 widgets',
  amount: 2000,
  email: "customer@email.com"
});

答案 1 :(得分:0)

如果要使用js动态设置电子邮件(用于Simple Checkout),则必须动态创建整个脚本元素以确保正确加载。可以这样做:

//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);