Ender Docs

Shopify Checker

Validate credit cards through Shopify payment gateways.

Overview

The Shopify Checker validates cards by attempting purchases through Shopify stores. It supports custom gates, community gates, and gate pools for maximum flexibility.

Endpoint

POST /v1/checkers/shopify

Available Pools

PoolStatusDescription
Pool 01✅ LivePrimary gate pool
Pool 02✅ LiveSecondary gate pool
Pool 03✅ LiveTertiary gate pool
Pool 04✅ LiveAdditional gate pool
Pool 05✅ LiveExtended gate pool
Custom✅ LiveYour own custom gates

Gate Types

TypeDescription
Custom GatesYour personal Shopify gates
Community GatesShared gates from the community
Gate PoolsCollections of multiple sites for reliability

Request

Headers

Authorization: YOUR_API_KEY
Content-Type: application/json

Body Parameters

ParameterTypeRequiredDescription
gateIdstringPool identifier (pool-01 to pool-05) or Gate UUID
ccstringCard in format: number|mm|yy|cvv
proxystringProxy URL (system proxy used if omitted)

Pool Identifiers

For gate pools, use the following identifiers:

PoolIdentifierAccess
Pool 01pool-01All plans
Pool 02pool-02All plans
Pool 03pool-03All plans
Pool 04pool-04Premium/Black
Pool 05pool-05Premium/Black

Example Request

curl -X POST https://api.ender.black/v1/checkers/shopify \
  -H "Authorization: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "gateId": "pool-01",
    "cc": "4111111111111111|12|25|123",
    "proxy": "http://user:pass@ip:port"
  }'

Response

Success Response (Charged)

{
  "success": true,
  "data": {
    "charged": true,
    "live": true,
    "amount": 12.5,
    "currency": "USD",
    "message": "Charged USD 12.50",
    "status": null
  }
}

Response Fields

FieldTypeDescription
chargedbooleanWhether the card was successfully charged
livebooleanWhether the card is live
amountnumberAmount charged
currencystringCurrency code
messagestringStatus message
statusstring|nullAdditional status code

Credit Costs

ResultUser ProxySystem Proxy
Charged5 credits6 credits
Live3 credits4 credits
Dead1 credit1 credit
Error0 credits0 credits

Get Available Gates

GET /v1/checkers/shopify/gates

Response:

{
  "success": true,
  "data": {
    "gates": {
      "userGates": [
        {
          "id": "gate-id",
          "name": "My Gate",
          "domain": "store.com",
          "amount": "USD 10.00"
        }
      ],
      "communityGates": [
        {
          "id": "gate-id",
          "name": "Community Gate",
          "domain": "store.com",
          "amount": "USD 5.00"
        }
      ],
      "pools": [
        {
          "id": "uuid",
          "name": "Pool 01",
          "sitesCount": 5,
          "isPremium": false
        },
        {
          "id": "uuid",
          "name": "Pool 02",
          "sitesCount": 5,
          "isPremium": false
        },
        {
          "id": "uuid",
          "name": "Pool 03",
          "sitesCount": 5,
          "isPremium": false
        },
        { "id": "uuid", "name": "Pool 04", "sitesCount": 5, "isPremium": true },
        { "id": "uuid", "name": "Pool 05", "sitesCount": 5, "isPremium": true }
      ]
    }
  }
}

Using Pools vs Gates

Pools contain multiple Shopify sites and automatically select the best one for each check. Use the pool identifier format (pool-01 to pool-05):

{
  "gateId": "pool-01",
  "cc": "4111111111111111|12|25|123"
}

Benefits:

  • Higher success rates
  • Automatic failover
  • Load balancing across sites

Pool identifiers follow the format pool-XX where XX is the pool number (01-05). For example: pool-01, pool-02, pool-03, pool-04, pool-05.

Individual Gates

Use a specific gate UUID for consistent testing:

{
  "gateId": "ea937145-10e2-43d2-9439-74fe4260b16d",
  "cc": "4111111111111111|12|25|123"
}

You can get gate UUIDs from the GET /v1/checkers/shopify/gates endpoint or your dashboard.

Private Shopify Gates

Private Shopify Gates are available for Premium and Black plan subscribers only.

Create your own exclusive Shopify gates for personalized checking. See Shopify Gates for details.

Complete Example

async function checkShopify(apiKey, card, gateId, proxy) {
  try {
    const body = {
      gateId,
      cc: card,
    };
 
    if (proxy) body.proxy = proxy;
 
    const response = await fetch(
      "https://api.ender.black/v1/checkers/shopify",
      {
        method: "POST",
        headers: {
          Authorization: apiKey,
          "Content-Type": "application/json",
        },
        body: JSON.stringify(body),
      }
    );
 
    const data = await response.json();
 
    if (!data.success) {
      return { status: "error", message: data.data.error };
    }
 
    const { charged, live, amount, currency, message } = data.data;
 
    if (charged) {
      return {
        status: "charged",
        amount,
        currency,
        message,
      };
    } else if (live) {
      return { status: "live", message };
    } else {
      return { status: "dead", message };
    }
  } catch (error) {
    return { status: "error", message: error.message };
  }
}
 
// Usage with pool
const result = await checkShopify(
  "YOUR_API_KEY",
  "4111111111111111|12|25|123",
  "pool-01",
  "http://user:pass@ip:port"
);
 
console.log(result);

Status Codes

Common Shopify status codes:

StatusMeaning
CHARGEDSuccessfully charged
CARD_DECLINEDCard was declined
INCORRECT_CVCWrong CVV (card is live)
EXPIRED_CARDCard has expired
INSUFFICIENT_FUNDSNot enough funds (card is live)
PROCESSING_ERRORGateway error

Best Practices

  1. Use pools for higher success rates
  2. Rotate proxies frequently
  3. Monitor gate health in your dashboard
  4. Create private gates for exclusive use (Premium/Black plans)