@one-payments/web-components 1.1.31 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +550 -464
- package/dist/one-payment.browser.iife.js +4 -42
- package/dist/one-payment.browser.iife.js.map +1 -1
- package/dist/one-payment.d.ts +63 -1
- package/dist/one-payment.d.ts.map +1 -1
- package/dist/one-payment.js +316 -184
- package/dist/one-payment.js.map +1 -1
- package/docs/appearance-prop-implementation-plan.md +457 -0
- package/docs/shopify-checkout-integration-analysis.md +496 -0
- package/docs/wix-checkout-integration-analysis.md +695 -0
- package/package.json +3 -3
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
# Shopify Checkout Integration Analysis for One Payments Drop-in Element
|
|
2
|
+
|
|
3
|
+
## Executive Summary
|
|
4
|
+
|
|
5
|
+
**Can you integrate a custom Drop-in payment element into Shopify's checkout page?**
|
|
6
|
+
|
|
7
|
+
| Scenario | Feasibility | Requirements |
|
|
8
|
+
|----------|-------------|--------------|
|
|
9
|
+
| Regular Shopify Store | **NOT POSSIBLE** | N/A |
|
|
10
|
+
| Shopify Plus Store (Merchant) | **Very Limited** | Plus plan ($2,000+/month) |
|
|
11
|
+
| Shopify Payments Partner | **POSSIBLE** | Shopify Partner approval, extensive review process |
|
|
12
|
+
| Headless Commerce (Custom Storefront) | **POSSIBLE** | Development expertise, Storefront API |
|
|
13
|
+
|
|
14
|
+
**Bottom Line**: Integrating a custom payment Drop-in element directly into Shopify's native checkout is **extremely restricted** and requires either becoming an approved Shopify Payments Partner or building a completely headless storefront.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Table of Contents
|
|
19
|
+
|
|
20
|
+
1. [Shopify Checkout Architecture](#1-shopify-checkout-architecture)
|
|
21
|
+
2. [Checkout Extensibility (Current System)](#2-checkout-extensibility-current-system)
|
|
22
|
+
3. [checkout.liquid (Deprecated)](#3-checkoutliquid-deprecated)
|
|
23
|
+
4. [Payment Extensions Program](#4-payment-extensions-program)
|
|
24
|
+
5. [Technical Limitations & Restrictions](#5-technical-limitations--restrictions)
|
|
25
|
+
6. [Integration Options Analysis](#6-integration-options-analysis)
|
|
26
|
+
7. [Feasibility for One Payments Drop-in](#7-feasibility-for-one-payments-drop-in)
|
|
27
|
+
8. [Alternative Approaches](#8-alternative-approaches)
|
|
28
|
+
9. [Recommendations](#9-recommendations)
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 1. Shopify Checkout Architecture
|
|
33
|
+
|
|
34
|
+
### Overview
|
|
35
|
+
|
|
36
|
+
Shopify's checkout is a **highly controlled, PCI-compliant environment** that processes billions of dollars in transactions. Due to security, compliance, and user experience requirements, Shopify maintains strict control over what can be modified in the checkout flow.
|
|
37
|
+
|
|
38
|
+
### Checkout Flow Stages
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
|
|
42
|
+
│ Information │ -> │ Shipping │ -> │ Payment │ -> │ Thank You │
|
|
43
|
+
│ Step │ │ Step │ │ Step │ │ Page │
|
|
44
|
+
└─────────────────┘ └─────────────────┘ └─────────────────┘ └─────────────────┘
|
|
45
|
+
│ │ │ │
|
|
46
|
+
└──────────────────────┴──────────────────────┴──────────────────────┘
|
|
47
|
+
│
|
|
48
|
+
Shopify Plus ONLY for
|
|
49
|
+
UI Extension access
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Plan-Based Access Levels
|
|
53
|
+
|
|
54
|
+
| Feature | Basic/Standard Plans | Shopify Plus ($2,000+/mo) |
|
|
55
|
+
|---------|---------------------|---------------------------|
|
|
56
|
+
| Checkout UI Extensions (Info/Shipping/Payment) | ❌ Not Available | ✅ Available |
|
|
57
|
+
| Checkout UI Extensions (Thank You/Order Status) | ✅ Limited | ✅ Full Access |
|
|
58
|
+
| Payment Method Customization | ❌ Credit cards locked | ✅ Full customization |
|
|
59
|
+
| Custom Payment Extensions | ❌ Not Available | ⚠️ Requires Partner Approval |
|
|
60
|
+
| checkout.liquid | ❌ Deprecated/Removed | ❌ Deprecated (Aug 2025) |
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## 2. Checkout Extensibility (Current System)
|
|
65
|
+
|
|
66
|
+
### What is Checkout Extensibility?
|
|
67
|
+
|
|
68
|
+
Checkout Extensibility is Shopify's modern framework for customizing checkout. It replaces the deprecated `checkout.liquid` and provides a **sandboxed, secure environment** for extensions.
|
|
69
|
+
|
|
70
|
+
### How It Works
|
|
71
|
+
|
|
72
|
+
```javascript
|
|
73
|
+
// Example: Checkout UI Extension (React/Preact)
|
|
74
|
+
import { Banner, useExtensionCapability } from '@shopify/ui-extensions-react/checkout';
|
|
75
|
+
|
|
76
|
+
export default function MyExtension() {
|
|
77
|
+
// Limited to Shopify-provided components only
|
|
78
|
+
return (
|
|
79
|
+
<Banner title="Custom Message">
|
|
80
|
+
You cannot render arbitrary HTML here.
|
|
81
|
+
</Banner>
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### Available Components (Polaris-based)
|
|
87
|
+
|
|
88
|
+
- `Banner`, `Button`, `Checkbox`
|
|
89
|
+
- `Heading`, `Text`, `TextBlock`
|
|
90
|
+
- `Image`, `Icon`
|
|
91
|
+
- `BlockStack`, `InlineStack`, `Grid`
|
|
92
|
+
- `TextField`, `Select`, `ChoiceList`
|
|
93
|
+
|
|
94
|
+
**Critical Limitation**: You can ONLY use these Shopify-provided components. No custom HTML, no `<div>`, no `<script>` tags.
|
|
95
|
+
|
|
96
|
+
### Extension Targets (Where You Can Place Extensions)
|
|
97
|
+
|
|
98
|
+
```
|
|
99
|
+
checkout/
|
|
100
|
+
├── information/
|
|
101
|
+
│ └── contact/before, after
|
|
102
|
+
├── shipping/
|
|
103
|
+
│ └── address/before, after
|
|
104
|
+
├── payment/ ← PAYMENT STEP
|
|
105
|
+
│ └── method-list/before, after ⚠️ Plus Only
|
|
106
|
+
├── order-summary/
|
|
107
|
+
│ └── line-item/before, after
|
|
108
|
+
└── thank-you/
|
|
109
|
+
└── customer-information/before, after
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Sandboxed Environment Restrictions
|
|
113
|
+
|
|
114
|
+
| What You CAN Do | What You CANNOT Do |
|
|
115
|
+
|-----------------|-------------------|
|
|
116
|
+
| Display Shopify components | Inject custom HTML |
|
|
117
|
+
| Access checkout data via APIs | Access DOM directly |
|
|
118
|
+
| Show banners/messages | Run arbitrary JavaScript |
|
|
119
|
+
| Collect additional form data | Override CSS/branding |
|
|
120
|
+
| Validate checkout fields | Access payment card data |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 3. checkout.liquid (Deprecated)
|
|
125
|
+
|
|
126
|
+
### Historical Context
|
|
127
|
+
|
|
128
|
+
`checkout.liquid` was Shopify's original method for checkout customization, available only to Shopify Plus merchants. It allowed:
|
|
129
|
+
|
|
130
|
+
- Custom JavaScript injection
|
|
131
|
+
- DOM manipulation after render
|
|
132
|
+
- Custom CSS styling
|
|
133
|
+
- Third-party script tags
|
|
134
|
+
|
|
135
|
+
### Deprecation Timeline
|
|
136
|
+
|
|
137
|
+
| Milestone | Date | Impact |
|
|
138
|
+
|-----------|------|--------|
|
|
139
|
+
| Information/Shipping/Payment steps removed | August 13, 2024 | ❌ No longer editable |
|
|
140
|
+
| Thank You/Order Status deprecated | August 28, 2025 | ⚠️ Sunsetting |
|
|
141
|
+
| Shopify Scripts end | June 30, 2026 | End of legacy customization |
|
|
142
|
+
|
|
143
|
+
### Why It Was Deprecated
|
|
144
|
+
|
|
145
|
+
1. **Security risks** from arbitrary code injection
|
|
146
|
+
2. **Performance issues** from unoptimized scripts
|
|
147
|
+
3. **Maintenance burden** for Shopify
|
|
148
|
+
4. **Inconsistent merchant experiences**
|
|
149
|
+
|
|
150
|
+
### Current Status
|
|
151
|
+
|
|
152
|
+
> **checkout.liquid is effectively DEAD for payment customization.**
|
|
153
|
+
>
|
|
154
|
+
> Any existing integrations using checkout.liquid for custom payment forms will stop working and cannot be recreated with Checkout Extensibility.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## 4. Payment Extensions Program
|
|
159
|
+
|
|
160
|
+
### Overview
|
|
161
|
+
|
|
162
|
+
Shopify's Payment Extensions Program is the **ONLY official way** to add custom payment methods to Shopify checkout.
|
|
163
|
+
|
|
164
|
+
### Eligibility Requirements
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
168
|
+
│ PAYMENT PARTNER REQUIREMENTS │
|
|
169
|
+
├─────────────────────────────────────────────────────────────┤
|
|
170
|
+
│ 1. Apply to become a Shopify Partner │
|
|
171
|
+
│ 2. Submit Payment Extension application │
|
|
172
|
+
│ 3. Pass security review (PCI compliance, etc.) │
|
|
173
|
+
│ 4. Sign revenue share agreement │
|
|
174
|
+
│ 5. Meet technical requirements │
|
|
175
|
+
│ 6. Pass Shopify's approval process │
|
|
176
|
+
│ 7. Ongoing compliance and review │
|
|
177
|
+
└─────────────────────────────────────────────────────────────┘
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Payment Extension Types
|
|
181
|
+
|
|
182
|
+
| Type | Description | Use Case |
|
|
183
|
+
|------|-------------|----------|
|
|
184
|
+
| **Credit Card** | Standard card processing with 3DS | Stripe, Braintree competitors |
|
|
185
|
+
| **Credit Card with UI** | Custom fields (installments, etc.) | Affirm, Klarna |
|
|
186
|
+
| **Custom Credit Card** | Hosted fields for processing | Specialized card processors |
|
|
187
|
+
| **Alternative Payments** | Non-card methods | Crypto, bank transfers, BNPL |
|
|
188
|
+
| **Redeemables** | Gift cards, store credit | Third-party gift card providers |
|
|
189
|
+
| **Offsite** | Redirect to external payment page | PayPal, redirect-based flows |
|
|
190
|
+
|
|
191
|
+
### Approval Process
|
|
192
|
+
|
|
193
|
+
1. **Application** - Submit through Shopify Partners portal
|
|
194
|
+
2. **Technical Review** - API integration, security audit
|
|
195
|
+
3. **Compliance Check** - PCI-DSS, regional regulations
|
|
196
|
+
4. **Test Integration** - Sandbox testing with Shopify
|
|
197
|
+
5. **Legal Agreement** - Revenue share, terms of service
|
|
198
|
+
6. **Launch Review** - Final approval before going live
|
|
199
|
+
7. **Ongoing Monitoring** - Continuous compliance
|
|
200
|
+
|
|
201
|
+
**Timeline**: This process typically takes **3-6 months minimum**.
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## 5. Technical Limitations & Restrictions
|
|
206
|
+
|
|
207
|
+
### Checkout UI Extensions Cannot:
|
|
208
|
+
|
|
209
|
+
```javascript
|
|
210
|
+
// ❌ CANNOT inject custom HTML
|
|
211
|
+
<div class="my-payment-form">...</div>
|
|
212
|
+
|
|
213
|
+
// ❌ CANNOT run arbitrary scripts
|
|
214
|
+
<script src="https://cdn.one.ooo/drop-in.js"></script>
|
|
215
|
+
|
|
216
|
+
// ❌ CANNOT access DOM
|
|
217
|
+
document.querySelector('.payment-section').appendChild(myElement);
|
|
218
|
+
|
|
219
|
+
// ❌ CANNOT override styles
|
|
220
|
+
.shopify-payment-button { display: none; }
|
|
221
|
+
|
|
222
|
+
// ❌ CANNOT access payment card data
|
|
223
|
+
const cardNumber = getCardNumber(); // Blocked by sandbox
|
|
224
|
+
|
|
225
|
+
// ❌ CANNOT render Web Components
|
|
226
|
+
<one-payment amount="5000"></one-payment>
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### Why This Matters for Drop-in Integration
|
|
230
|
+
|
|
231
|
+
The One Payments Drop-in element is a **Web Component** (`<one-payment>`) that requires:
|
|
232
|
+
|
|
233
|
+
1. ✅ JavaScript execution → ❌ **Blocked in sandbox**
|
|
234
|
+
2. ✅ DOM access → ❌ **Blocked in sandbox**
|
|
235
|
+
3. ✅ Custom HTML rendering → ❌ **Blocked in sandbox**
|
|
236
|
+
4. ✅ External script loading → ❌ **Blocked in sandbox**
|
|
237
|
+
5. ✅ CSS styling → ❌ **Cannot override**
|
|
238
|
+
6. ✅ Payment card collection → ❌ **Blocked for security**
|
|
239
|
+
|
|
240
|
+
### Shopify's Security Model
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
244
|
+
│ SHOPIFY CHECKOUT │
|
|
245
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
246
|
+
│ │ ISOLATED SANDBOX │ │
|
|
247
|
+
│ │ ┌─────────────────┐ │ │
|
|
248
|
+
│ │ │ Your Extension │ ← Limited API access │ │
|
|
249
|
+
│ │ │ (Preact/React) │ ← No DOM access │ │
|
|
250
|
+
│ │ │ │ ← No external scripts │ │
|
|
251
|
+
│ │ └─────────────────┘ │ │
|
|
252
|
+
│ │ ↓ │ │
|
|
253
|
+
│ │ Shopify Components Only │ │
|
|
254
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
255
|
+
│ ↓ │
|
|
256
|
+
│ ┌─────────────────────────────────────────────────────┐ │
|
|
257
|
+
│ │ SHOPIFY PAYMENT PROCESSING │ │
|
|
258
|
+
│ │ (PCI-Compliant, Managed by Shopify) │ │
|
|
259
|
+
│ └─────────────────────────────────────────────────────┘ │
|
|
260
|
+
└─────────────────────────────────────────────────────────────┘
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
## 6. Integration Options Analysis
|
|
266
|
+
|
|
267
|
+
### Option 1: Become a Shopify Payments Partner
|
|
268
|
+
|
|
269
|
+
**Process**:
|
|
270
|
+
1. Apply to Shopify Payments Platform
|
|
271
|
+
2. Build integration using Payments Extensions API
|
|
272
|
+
3. Pass security and compliance review
|
|
273
|
+
4. Launch as official payment provider
|
|
274
|
+
|
|
275
|
+
**Pros**:
|
|
276
|
+
- Full integration into Shopify checkout
|
|
277
|
+
- Access to all Shopify merchants
|
|
278
|
+
- Official support and documentation
|
|
279
|
+
|
|
280
|
+
**Cons**:
|
|
281
|
+
- 3-6+ month approval process
|
|
282
|
+
- Significant development effort
|
|
283
|
+
- Revenue share with Shopify
|
|
284
|
+
- Ongoing compliance requirements
|
|
285
|
+
- Must rebuild Drop-in as Shopify-native extension
|
|
286
|
+
|
|
287
|
+
**Effort**: ⭐⭐⭐⭐⭐ (Very High)
|
|
288
|
+
|
|
289
|
+
---
|
|
290
|
+
|
|
291
|
+
### Option 2: Headless Commerce (Storefront API)
|
|
292
|
+
|
|
293
|
+
**Process**:
|
|
294
|
+
1. Merchant builds custom storefront (Next.js, Gatsby, etc.)
|
|
295
|
+
2. Uses Shopify Storefront API for products/cart
|
|
296
|
+
3. Implements custom checkout with One Payments Drop-in
|
|
297
|
+
4. Handles order creation via API
|
|
298
|
+
|
|
299
|
+
**Pros**:
|
|
300
|
+
- Full control over checkout experience
|
|
301
|
+
- Can use Drop-in element directly
|
|
302
|
+
- No Shopify approval needed
|
|
303
|
+
|
|
304
|
+
**Cons**:
|
|
305
|
+
- Requires complete custom storefront build
|
|
306
|
+
- Merchant loses Shopify's native checkout benefits
|
|
307
|
+
- More complex order management
|
|
308
|
+
- Not suitable for typical Shopify merchants
|
|
309
|
+
|
|
310
|
+
**Effort**: ⭐⭐⭐⭐ (High)
|
|
311
|
+
|
|
312
|
+
---
|
|
313
|
+
|
|
314
|
+
### Option 3: Post-Purchase Integration
|
|
315
|
+
|
|
316
|
+
**Process**:
|
|
317
|
+
1. Use Shopify checkout for initial purchase
|
|
318
|
+
2. Offer additional products/services post-purchase
|
|
319
|
+
3. Integrate Drop-in on thank-you page or separate page
|
|
320
|
+
|
|
321
|
+
**Pros**:
|
|
322
|
+
- No checkout modification needed
|
|
323
|
+
- Works on all Shopify plans
|
|
324
|
+
- Can use Drop-in element freely
|
|
325
|
+
|
|
326
|
+
**Cons**:
|
|
327
|
+
- Not a primary payment method
|
|
328
|
+
- Limited use case (upsells, subscriptions)
|
|
329
|
+
- Doesn't replace Shopify checkout
|
|
330
|
+
|
|
331
|
+
**Effort**: ⭐⭐ (Low-Medium)
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
### Option 4: External Checkout Page
|
|
336
|
+
|
|
337
|
+
**Process**:
|
|
338
|
+
1. Merchant adds "Buy with One" button to product pages
|
|
339
|
+
2. Redirects to external checkout hosted by you
|
|
340
|
+
3. Processes payment with Drop-in
|
|
341
|
+
4. Creates order in Shopify via API
|
|
342
|
+
|
|
343
|
+
**Pros**:
|
|
344
|
+
- Full control over payment experience
|
|
345
|
+
- Can use Drop-in element
|
|
346
|
+
- Works on all Shopify plans
|
|
347
|
+
|
|
348
|
+
**Cons**:
|
|
349
|
+
- Customers leave Shopify site
|
|
350
|
+
- Trust/conversion concerns
|
|
351
|
+
- Complex order syncing
|
|
352
|
+
- May violate Shopify TOS
|
|
353
|
+
|
|
354
|
+
**Effort**: ⭐⭐⭐ (Medium)
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## 7. Feasibility for One Payments Drop-in
|
|
359
|
+
|
|
360
|
+
### Can Regular Merchants Integrate the Drop-in?
|
|
361
|
+
|
|
362
|
+
**NO.** Regular Shopify merchants cannot:
|
|
363
|
+
- Add custom JavaScript to checkout
|
|
364
|
+
- Render Web Components in checkout
|
|
365
|
+
- Replace Shopify's payment methods
|
|
366
|
+
- Modify the checkout DOM
|
|
367
|
+
|
|
368
|
+
### Can Shopify Plus Merchants Integrate?
|
|
369
|
+
|
|
370
|
+
**VERY LIMITED.** Even with Shopify Plus:
|
|
371
|
+
- Checkout UI Extensions are sandboxed
|
|
372
|
+
- Cannot render arbitrary HTML/Web Components
|
|
373
|
+
- Cannot inject external scripts
|
|
374
|
+
- Cannot access payment card data directly
|
|
375
|
+
|
|
376
|
+
The Drop-in element **cannot be used as-is** in Shopify checkout.
|
|
377
|
+
|
|
378
|
+
### What Would Be Required?
|
|
379
|
+
|
|
380
|
+
To integrate One Payments into Shopify checkout, you would need to:
|
|
381
|
+
|
|
382
|
+
1. **Become a Shopify Payments Partner** (3-6+ months)
|
|
383
|
+
2. **Rebuild the integration** using Shopify's Payments Extensions API
|
|
384
|
+
3. **Use Shopify's component system** instead of Web Components
|
|
385
|
+
4. **Handle payments through Shopify's Payment resource**
|
|
386
|
+
5. **Pass security and compliance review**
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## 8. Alternative Approaches
|
|
391
|
+
|
|
392
|
+
### A. Shopify App with Separate Payment Page
|
|
393
|
+
|
|
394
|
+
```
|
|
395
|
+
Customer Journey:
|
|
396
|
+
┌──────────┐ ┌──────────┐ ┌──────────────┐ ┌──────────┐
|
|
397
|
+
│ Shopify │ -> │ Cart │ -> │ One Payments │ -> │ Order │
|
|
398
|
+
│ Store │ │ Page │ │ Drop-in │ │ Complete │
|
|
399
|
+
└──────────┘ └──────────┘ │ (External) │ └──────────┘
|
|
400
|
+
└──────────────┘
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Build a Shopify App that:
|
|
404
|
+
1. Adds "Pay with One" button to cart
|
|
405
|
+
2. Redirects to hosted checkout page with Drop-in
|
|
406
|
+
3. Processes payment
|
|
407
|
+
4. Creates draft order in Shopify
|
|
408
|
+
5. Redirects back to thank-you page
|
|
409
|
+
|
|
410
|
+
### B. Subscription/Recurring Payments
|
|
411
|
+
|
|
412
|
+
For merchants selling subscriptions:
|
|
413
|
+
1. Initial purchase through Shopify
|
|
414
|
+
2. Recurring payments via One Payments
|
|
415
|
+
3. Customer portal with Drop-in for payment management
|
|
416
|
+
|
|
417
|
+
### C. B2B / Invoice Payments
|
|
418
|
+
|
|
419
|
+
For B2B merchants:
|
|
420
|
+
1. Create invoices in Shopify
|
|
421
|
+
2. Send payment links with Drop-in
|
|
422
|
+
3. Payment collection outside checkout
|
|
423
|
+
|
|
424
|
+
### D. Hybrid: Shopify + Custom Landing Pages
|
|
425
|
+
|
|
426
|
+
1. Use Shopify for catalog and cart
|
|
427
|
+
2. Specific products have "custom checkout" option
|
|
428
|
+
3. Those products use external page with Drop-in
|
|
429
|
+
4. Regular products use Shopify checkout
|
|
430
|
+
|
|
431
|
+
---
|
|
432
|
+
|
|
433
|
+
## 9. Recommendations
|
|
434
|
+
|
|
435
|
+
### For One Payments Team
|
|
436
|
+
|
|
437
|
+
| Priority | Action | Timeline | Effort |
|
|
438
|
+
|----------|--------|----------|--------|
|
|
439
|
+
| 1 | Apply to Shopify Payments Partner Program | Start immediately | Low (application) |
|
|
440
|
+
| 2 | Build proof-of-concept Headless integration | 2-4 weeks | Medium |
|
|
441
|
+
| 3 | Create Shopify App for external checkout flow | 4-6 weeks | Medium |
|
|
442
|
+
| 4 | Document alternative integration patterns | 1-2 weeks | Low |
|
|
443
|
+
| 5 | Develop Shopify-native extension (if approved) | 3-6 months | Very High |
|
|
444
|
+
|
|
445
|
+
### For Merchants Wanting to Use One Payments
|
|
446
|
+
|
|
447
|
+
| Merchant Type | Recommended Approach |
|
|
448
|
+
|---------------|---------------------|
|
|
449
|
+
| Small Business | Use external checkout page or wait for official integration |
|
|
450
|
+
| Shopify Plus | Consider headless approach for full control |
|
|
451
|
+
| Enterprise | Contact One Payments for custom solution |
|
|
452
|
+
| Subscription Business | Use Drop-in for recurring payment management |
|
|
453
|
+
|
|
454
|
+
### Realistic Timeline for Full Integration
|
|
455
|
+
|
|
456
|
+
```
|
|
457
|
+
Month 1-2: Apply to Payments Partner Program
|
|
458
|
+
Month 2-4: Security review and compliance preparation
|
|
459
|
+
Month 4-6: Technical integration development
|
|
460
|
+
Month 6-8: Testing and approval process
|
|
461
|
+
Month 8-10: Soft launch with select merchants
|
|
462
|
+
Month 10-12: Full public availability
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
## Conclusion
|
|
468
|
+
|
|
469
|
+
**Direct integration of the One Payments Drop-in element into Shopify's native checkout is NOT currently possible** for regular merchants or even Shopify Plus merchants without becoming an approved Shopify Payments Partner.
|
|
470
|
+
|
|
471
|
+
The checkout environment is intentionally locked down for security and compliance reasons. Any custom payment integration must go through Shopify's official Payments Platform program.
|
|
472
|
+
|
|
473
|
+
### Immediate Actions
|
|
474
|
+
|
|
475
|
+
1. **Do NOT promise** Shopify checkout integration to merchants
|
|
476
|
+
2. **Apply** to Shopify Payments Partner Program if serious about this market
|
|
477
|
+
3. **Offer alternatives** like external checkout pages or headless solutions
|
|
478
|
+
4. **Document** the limitations clearly for sales/support teams
|
|
479
|
+
|
|
480
|
+
---
|
|
481
|
+
|
|
482
|
+
## References & Sources
|
|
483
|
+
|
|
484
|
+
- [Shopify Checkout UI Extensions](https://shopify.dev/docs/api/checkout-ui-extensions)
|
|
485
|
+
- [Shopify Payments Extensions](https://shopify.dev/docs/apps/build/payments)
|
|
486
|
+
- [checkout.liquid Deprecation](https://shopify.dev/docs/storefronts/themes/architecture/layouts/checkout-liquid)
|
|
487
|
+
- [Checkout Extensibility Overview](https://www.shopify.com/plus/upgrading-to-checkout-extensibility)
|
|
488
|
+
- [Shopify Checkout Customization Guide](https://help.shopify.com/en/manual/checkout-settings/checkout-customization)
|
|
489
|
+
- [Payment Method Customizations](https://help.shopify.com/en/manual/checkout-settings/checkout-blocks/customizations/payment-methods)
|
|
490
|
+
- [Shopify Community: Custom Payment Gateway](https://community.shopify.com/c/payments-shipping-and/how-to-setup-a-custom-payment-gateway-in-2023/m-p/2082131)
|
|
491
|
+
|
|
492
|
+
---
|
|
493
|
+
|
|
494
|
+
*Document created: December 3, 2024*
|
|
495
|
+
*Last updated: December 3, 2024*
|
|
496
|
+
*Version: 1.0*
|