teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

javascriptタグを追加しました

2019/10/13 06:46

投稿

emi3
emi3

スコア5

title CHANGED
File without changes
body CHANGED
File without changes

3

初心者マークをつけ忘れていたため、つけました

2019/10/13 06:46

投稿

emi3
emi3

スコア5

title CHANGED
File without changes
body CHANGED
@@ -19,6 +19,7 @@
19
19
 
20
20
  動かなくなったのは、「単発」と「継続」の二種類の下に、複数のプランを下げて、選択肢を増やした後です
21
21
 
22
+
22
23
  ```
23
24
  エラーメッセージ:ありません
24
25
  ```

2

jsファイルを追記しました

2019/10/13 05:43

投稿

emi3
emi3

スコア5

title CHANGED
File without changes
body CHANGED
@@ -54,6 +54,69 @@
54
54
     </ul>
55
55
    </form>
56
56
  ```
57
+
58
+ ```js
59
+
60
+ var stripe = Stripe('pk_test_XXXXXX');
61
+
62
+ var elements = stripe.elements();
63
+
64
+ var style = {
65
+ base: {
66
+ color: '#000',
67
+ fontSize: '12px'
68
+ },
69
+ invalid: {
70
+ color: '#000',
71
+ iconColor: '#000'
72
+ }
73
+ };
74
+
75
+ const cardNumber = elements.create('cardNumber', {style: style,placeholder: 'カード番号 1111 1111 1111 1111'});
76
+ cardNumber.mount('#card-number');
77
+ const cardExpiry = elements.create('cardExpiry',{style: style,placeholder: '有効期限 MM/YY'});
78
+ cardExpiry.mount('#card-expiry');
79
+ const cardCvc = elements.create('cardCvc', {style: style,placeholder: 'セキュリティ番号'});
80
+ cardCvc.mount('#card-cvc');
81
+
82
+ cardNumber.addEventListener('change', function(event) {
83
+ var displayError = document.getElementById('stripe_err');
84
+ if (event.error) {
85
+ displayError.textContent = event.error.message;
86
+ } else {
87
+ displayError.textContent = '';
88
+ }
89
+ });
90
+
91
+ var form = document.getElementById('payment-form');
92
+ form.addEventListener('submit', function(event) {
93
+ event.preventDefault();
94
+ stripe.createToken(cardNumber).then(function(result) {
95
+ if (result.error) {
96
+ var errorElement = document.getElementById('stripe_err');
97
+ errorElement.textContent = result.error.message;
98
+ } else {
99
+ // Send the token to your server.
100
+ stripeTokenHandler(result.token);
101
+ }
102
+ });
103
+ });
104
+
105
+ function stripeTokenHandler(token) {
106
+ // Insert the token ID into the form so it gets submitted to the server
107
+ var form = document.getElementById('payment-form');
108
+ var hiddenInput = document.createElement('input');
109
+ hiddenInput.setAttribute('type', 'hidden');
110
+ hiddenInput.setAttribute('name', 'stripeToken');
111
+ hiddenInput.setAttribute('value', token.id);
112
+ form.appendChild(hiddenInput);
113
+
114
+ // Submit the form
115
+ form.submit();
116
+ }
117
+
118
+ ```
119
+
57
120
  ```php
58
121
  <?php
59
122
 

1

タイトルを具体的にしました

2019/10/13 01:35

投稿

emi3
emi3

スコア5

title CHANGED
@@ -1,1 +1,1 @@
1
- Stripeにて、複数のプランを選択できるフォームを作りたい
1
+ Stripe複数のプランの中から一つを選択できるフォームを作りたい
body CHANGED
File without changes