Ender Docs

Auth Checker

Validate if a credit card can be authenticated through payment gateways.

Overview

The Auth Checker validates if a card can be authenticated (added as a payment method) without actually charging it. This is useful for verifying card validity before processing transactions.

Endpoint

POST /v1/checkers/auth

Supported Gateways

GatewayStatusID
Stripe✅ Livestripe
Braintree✅ Livebraintree
Braintree 2✅ Livebraintree_2

Request

Headers

Authorization: YOUR_API_KEY
Content-Type: application/json

Body Parameters

ParameterTypeRequiredDescription
gatestringGateway identifier: stripe, braintree, braintree_2
ccstringCard in format: number|mm|yy|cvv
proxystringProxy URL (system proxy used if omitted)

Example Request

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

Response

Success Response

{
  "success": true,
  "data": {
    "auth": true,
    "live": true,
    "message": "Payment method added successfully",
    "status": null
  }
}

Response Fields

FieldTypeDescription
authbooleanWhether the card was authenticated
livebooleanWhether the card is live
messagestringStatus message from gateway
statusstring|nullAdditional status code (for soft declines)

Status Interpretation

authliveMeaningCredits
truefalseCard approved/authenticated5
falsetrueCard is live3
falsefalseCard is dead/declined1
Error-Technical error0

Add +1 credit when using system proxy (no proxy provided).

Get Available Gates

List all available auth gates:

GET /v1/checkers/auth/gates

Response:

{
  "success": true,
  "data": {
    "gates": [
      { "id": "stripe", "name": "Stripe Auth" },
      { "id": "braintree", "name": "Braintree Auth" },
      { "id": "braintree_2", "name": "Braintree 2 Auth" }
    ]
  }
}

Error Responses

Invalid Gate

{
  "success": false,
  "data": {
    "error": "Invalid gate"
  }
}

Invalid Card Format

{
  "success": false,
  "data": {
    "error": "Invalid card number format"
  }
}

Proxy Error

{
  "success": false,
  "data": {
    "error": "Proxy is not working or unreachable"
  }
}

Complete Example

async function checkAuth(apiKey, card, gate, proxy) {
  try {
    const response = await fetch("https://api.ender.black/v1/checkers/auth", {
      method: "POST",
      headers: {
        Authorization: apiKey,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        gate,
        cc: card,
        proxy,
      }),
    });
 
    const data = await response.json();
 
    if (!data.success) {
      return { status: "error", message: data.data.error };
    }
 
    const { auth, live, message } = data.data;
 
    if (auth) {
      return { status: "approved", message };
    } else if (live) {
      return { status: "live", message };
    } else {
      return { status: "dead", message };
    }
  } catch (error) {
    return { status: "error", message: error.message };
  }
}
 
// Usage
const result = await checkAuth(
  "YOUR_API_KEY",
  "4111111111111111|12|25|123",
  "stripe",
  "http://user:pass@ip:port"
);
 
console.log(result);
// { status: 'approved', message: 'Payment method added successfully' }

Best Practices

  1. Always validate card format before making API calls
  2. Use your own proxies to save 1 credit per check
  3. Handle all response statuses in your application
  4. Implement retry logic for network errors
  5. Rotate proxies to avoid detection

On this page