· 6 years ago · Mar 12, 2019, 01:28 PM
1<html>
2 <!-- leave action as this script("") for easier demonstration -->
3 <form class="my-form" action="" method="post">
4 <input type="hidden" name="account-token" id="account-token">
5 <input type="hidden" name="person-token" id="person-token">
6 <label>
7 <span>Account Opener First Name</span>
8 <input class="inp-person-first-name" name="first_name" value="John">
9 </label>
10 <label>
11 <span>Account Opener Last Name</span>
12 <input class="inp-person-last-name" name="first_name" value="Doe">
13 </label>
14 <label>
15 <span>Company Name</span>
16 <input class="inp-company-name" name="company_name" value="ACME">
17 </label>
18 <fieldset>
19 <legend>Company Address</legend>
20 <label>
21 <span>Street Address Line 1</span>
22 <input class="inp-company-street-address1" name="street_address1" value="18 av d'Altenkirchen">
23 </label>
24 <label>
25 <span>City</span>
26 <input class="inp-company-city" name="city" value="TARBES">
27 </label>
28 <label>
29 <span>State</span>
30 <input class="inp-company-state" name="state">
31 </label>
32 <label>
33 <span>Postal Code</span>
34 <input class="inp-company-zip" name="zip" value="65000">
35 </label>
36 </fieldset>
37 <fieldset>
38 <legend>Account Opener Address</legend>
39 <label>
40 <span>Street Address Line 1</span>
41 <input class="inp-person-street-address1" name="street_address1" value="18 av d'Altenkirchen">
42 </label>
43 <label>
44 <span>City</span>
45 <input class="inp-person-city" name="city" value="TARBES">
46 </label>
47 <label>
48 <span>State</span>
49 <input class="inp-person-state" name="state">
50 </label>
51 <label>
52 <span>Postal Code</span>
53 <input class="inp-person-zip" name="zip" value="65000">
54 </label>
55 </fieldset>
56 <button>Submit</button>
57 </form>
58 <script src="https://js.stripe.com/v3/"></script>
59 <script>
60 // Assumes you've already included Stripe.js!
61 const stripe = Stripe('pk_test_mKMFybSShSz5ZNqvnSKxXuv3');
62 const myForm = document.querySelector('.my-form');
63 myForm.addEventListener('submit', handleForm);
64 async function handleForm(event) {
65 event.preventDefault();
66 const accountResult = await stripe.createToken('account', {
67 company: {
68 name: document.querySelector('.inp-company-name').value,
69 address: {
70 line1: document.querySelector('.inp-company-street-address1').value,
71 city: document.querySelector('.inp-company-city').value,
72 state: document.querySelector('.inp-company-state').value,
73 postal_code: document.querySelector('.inp-company-zip').value,
74 },
75 },
76 tos_shown_and_accepted: true,
77 });
78 const personResult = await stripe.createToken('person', {
79 person: {
80 first_name: document.querySelector('.inp-person-first-name').value,
81 last_name: document.querySelector('.inp-person-last-name').value,
82 address: {
83 line1: document.querySelector('.inp-person-street-address1').value,
84 city: document.querySelector('.inp-person-city').value,
85 state: document.querySelector('.inp-person-state').value,
86 postal_code: document.querySelector('.inp-person-zip').value,
87 },
88 },
89 });
90 if (accountResult.token && personResult.token) {
91 document.querySelector('#account-token').value = accountResult.token.id;
92 document.querySelector('#person-token').value = personResult.token.id;
93 myForm.submit();
94 }
95 }
96 </script>
97</html>
98
99
100<?php
101// show variables recieved from frontend
102print_r($_POST);
103
104
105// require_once('init.php');
106// $stripe = [
107// "secret_key" => "sk_test_xxxx",
108// "publishable_key" => "pk_test_xxx",
109// ];
110// \Stripe\Stripe::setApiKey($stripe['secret_key']);
111// ....
112?>