> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revolv3.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Shopify Integration

> Integrate Shopify checkout with Revolv3 using a Custom Payment App (Credit Card Payment Extension).

## Overview

Shopify is a fully hosted eCommerce platform that provides a secure, optimized checkout experience, including built-in handling of sensitive payment data.

Through Shopify’s Custom Payment App (Credit Card Payment Extension), merchants can integrate external payment providers while preserving a native checkout flow.

With the Revolv3 Shopify Integration, customers enter their card details in Shopify Checkout and Revolv3 processes the payment in the background.

Shopify is responsible for collecting and tokenizing card data, while Revolv3 handles payment processing, routing, and communication with downstream processors.

This architecture delivers a seamless, secure, fully embedded checkout experience without redirects.

## Key Features

* Seamless checkout experience (no redirects)
* Card data handled securely by Shopify
* Revolv3 processes payments via configured processor
* Support for charge and refund operations

## Architecture

The integration includes the following components:

* **Shopify Checkout** – collects and tokenizes card data
* **Shopify Payment Extension** – app installed by merchant
* **Revolv3 Integration Service** – backend handling payment requests
* **Processor** – executes transaction processing

### High-Level Flow

Shopify Checkout → Revolv3 Integration → Processor → Revolv3 → Shopify

In short:

* Shopify handles customer interaction and card data
* Revolv3 handles payment processing and routing

## Payment Flow

Here’s the integration flow at a glance: a charge (payment) and then a refund.

```mermaid theme={null}
flowchart TD
  subgraph Charge [Charge - Payment]
    A1[Customer enters card details in Shopify Checkout] --> B1[Shopify tokenizes card data]
    B1 --> C1[Shopify sends request to Revolv3]
    C1 --> D1[Revolv3 transforms request to processor format]
    D1 --> E1[Payment is processed by the processor]
    E1 --> F1[Revolv3 returns response]
    F1 --> G1[Shopify updates order status]
  end

  subgraph Refund
    A2[Merchant initiates refund in Shopify Admin] --> B2[Shopify sends request to Revolv3]
    B2 --> C2[Revolv3 sends refund request to processor]
    C2 --> D2[Processor returns result]
    D2 --> E2[Revolv3 returns response to Shopify]
    E2 --> F2[Shopify updates refund status]
  end
```

### Charge (Payment)

1. Customer enters card details in Shopify Checkout
2. Shopify tokenizes card data
3. Shopify sends request to Revolv3
4. Revolv3 transforms request to processor format
5. Payment is processed by the processor
6. Revolv3 returns response
7. Shopify updates order status

### Refund

1. Merchant initiates refund in Shopify Admin
2. Shopify sends request to Revolv3
3. Revolv3 sends refund request to processor
4. Processor returns result
5. Revolv3 returns response to Shopify
6. Shopify updates refund status

## Supported Features

| Feature            | Status        | Notes                |
| ------------------ | ------------- | -------------------- |
| Card Payments      | Supported     | Shopify Checkout     |
| Charge (Sale)      | Supported     | Immediate processing |
| Refund             | Supported     | Via Shopify Admin    |
| 3DS                | Not supported | Planned for future   |
| Auth/Capture split | Not supported | Sale only            |
| Void               | Not supported | Not available        |
| Subscriptions      | Not supported | Out of scope         |
