🧩 Integration Overview Flow
Our API supports three main integration flows depending on your architecture and needs:
🔌 Integration Options
Choose the integration model that best fits your product and compliance requirements:
1. 🧠 H2H (Host-to-Host) Integration
Use this backend-to-backend integration when you want full control over the payment process.
You send all required data — including:
- 💳 Card information
- 👤 Customer details
- 🔐 3DS authentication data
✅ Best for: PCI-compliant merchants who want direct access to the payment flow
⚠️ Note: You are responsible for securely handling card data and 3DS challenge responses.
2. 🧰 SDK Integration (Invisible Frontend)
Embed our JavaScript SDK into your checkout page to handle:
- 💳 Card data collection
- 💸 Payment execution
- 🔐 3DS authentication (frictionless or challenge)
The frontend initializes the SDK and receives the result asynchronously.
✅ Best for: Merchants who want a native checkout experience with less PCI scope
🛡️ Benefit: 3DS flow is handled directly by our SDK, simplifying compliance
3. 🌐 Checkout Page Integration (Redirect Flow)
Redirect the customer to our secure hosted checkout page, where they:
- 💳 Enter card details
- 🔐 Complete 3DS authentication
- ✅ Finalize the payment
Upon success, we redirect the customer back to your site using the configured return_url.
✅ Best for: Fast integration with minimal compliance effort
🚀 Advantage: Full UX and security handled by our platform
📘 Want to dive deeper into each model?
Check out our Integration Guides and API Reference for detailed
🎯 How to Choose the Right Integration
Use the decision tree below to quickly identify the best integration model for your use case:
flowchart TD
Start[Which integration?] --> Q1{PCI Compliant?}
Q1 -->|Yes| Q2{Need full control?}
Q1 -->|No| Q3{Want native UX?}
Q2 -->|Yes| H2H[H2H Integration]
Q2 -->|No| Q3
Q3 -->|Yes| SDK[SDK Integration]
Q3 -->|No| Checkout[Checkout Page]
H2H --> H2H_Note[Full card handling]
SDK --> SDK_Note[SDK handles 3DS]
Checkout --> Checkout_Note[Fastest launch]
steps and code samples.
📊 Decision Matrix
| Criterion | H2H | SDK | Checkout Page |
|---|---|---|---|
| Time to integrate | Medium/Long | Medium | Fastest |
| PCI scope | Highest (you handle card data) | Reduced (SDK handles card) | Minimal (hosted by A55) |
| UX/UI control | Full | High (native checkout) | Low/Medium (hosted page) |
| Who runs 3DS | You (handle url_3ds) | SDK (frictionless + modal) | A55 (end-to-end) |
| Best when... | Full backend control needed | Native checkout + simplified compliance | Fastest go-live |
⚡ Quick Decision Rules
- 🚀 Checkout Page — Want fastest launch + minimal compliance burden
-
- 🛠️ SDK — Want native checkout without handling full 3DS complexity
-
- 🔧 H2H — PCI-compliant + need maximum control over payment flow
-
📋 Implementation Responsibilities
H2H (Host-to-Host)
You implement:
- Backend call to create charge (card + customer + webhook_url + wallet_uuid)
-
- Handle 3DS challenge: render/redirect payer to
url_3ds, process webhook result -
- Security: HTTPS end-to-end, never log sensitive data
- A55 provides:
- You implement:
-
- Create payment/charge in backend (to get
charge_uuid) - You implement:
-
Important: Regardless of the integration model, treat the webhook as the source of truth for the final payment outcome. Terminal states:
paid,error,canceled,refunded— these do not transition further.
- Create payment/charge in backend (to get
-
Recommended UX Pattern
- Handle 3DS challenge: render/redirect payer to
-
| UI State | When to show |
|---|---|
| ⏳ Processing | After payment submission |
| ✅ Success | Webhook confirms paid |
| ❌ Failed | Webhook confirms error or canceled |
Best Practice: Show "processing/pending" until webhook confirms final state. Never rely solely on frontend responses.
Updated 4 days ago
