web-dev-qa-db-ja.com

Stripeの支払いダイアログポップアップでメールを事前入力する方法

ストライプ支払いポップアップでメールアドレスを事前入力する方法が見つからないようです。しかし、今週末、ストライプ支払いを使用するWebサイトで2つのアカウントにサインアップしました。これらのWebサイトには、ストライプダイアログのiframeボックスにメールが事前入力されていることに気付きました。だから私は方法があるに違いないことを知っていますが、私はそれを行う方法がわかりません。ドキュメントはそのプロパティを定義していません。誰かがJavaScript APIと基本的なStripeダイアログを使用してこれを行う方法を説明できますか?

29
Edgar Martinez

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="[email protected]"
    data-locale="auto">
  </script>
</form>
_

Custom Checkout を使用している場合は、emailパラメータでhandler.open()にメールを渡します。

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

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);
0
K Kreid