-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAcceleratedCheckoutConfig.jsx
More file actions
46 lines (42 loc) · 1.25 KB
/
Copy pathAcceleratedCheckoutConfig.jsx
File metadata and controls
46 lines (42 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// [START accelerated-checkouts.configure]
import React, { useState } from 'react';
import {
ShopifyCheckoutSheetProvider,
ApplePayContactField,
} from '@shopify/checkout-sheet-kit';
import ProductListScreen from './ProductListScreen';
import CartScreen from './CartScreen';
const checkoutKitConfiguration = {
acceleratedCheckouts: {
storefrontDomain: '{shop}.myshopify.com',
storefrontAccessToken: 'your-storefront-access-token',
customer: {
email: 'customer@example.com',
phoneNumber: '0123456789',
accessToken: 'your-customer-access-token',
},
wallets: {
applePay: {
merchantIdentifier: 'merchant.com.yourcompany',
contactFields: [ApplePayContactField.email, ApplePayContactField.phone],
},
},
},
};
function App() {
const [checkoutUrl, setCheckoutUrl] = useState(null);
return (
<ShopifyCheckoutSheetProvider configuration={checkoutKitConfiguration}>
{checkoutUrl ? (
<CartScreen
checkoutUrl={checkoutUrl}
onOrderComplete={() => setCheckoutUrl(null)}
/>
) : (
<ProductListScreen onCheckoutReady={setCheckoutUrl} />
)}
</ShopifyCheckoutSheetProvider>
);
}
export default App;
// [END accelerated-checkouts.configure]