kemBusiness
ప్లాట్‌ఫారమ్ఉత్పత్తిఇది ఎలా పనిచేస్తుందిపేరోల్ధరలుడెవలపర్లుతరచుగా అడిగే ప్రశ్నలు
సైన్ ఇన్ప్రారంభించండి↗

డెవలపర్ డాక్యుమెంటేషన్

Kem Business API తో USDT చెల్లింపులు స్వీకరించడానికి కావలసినదంతా: ప్రామాణీకరణ, పేమెంట్ endpoints, మీ ఆర్డర్ స్థితిని నడిపే సంతకం చేసిన webhooks.

ప్రామాణీకరణచెల్లింపులులోపాలు & పరిమితులుWebhooksపరీక్ష

ప్రామాణీకరణ

డాష్‌బోర్డ్‌లో «API keys» విభాగంలో కీలను సృష్టించి, ప్రతి అభ్యర్థనలో secret key ను Bearer token గా పంపండి. టెస్ట్ కీలు (sk_test_…) టెస్ట్ చెల్లింపులను సృష్టిస్తాయి; లైవ్ కీలు (sk_live_…) నిజమైన డబ్బును కదిలిస్తాయి.

Authorization: Bearer sk_live_...   # or sk_test_...
Base URL: https://api-business.kemapp.io

చెల్లింపులు

చెల్లింపును సృష్టించి కస్టమర్‌ను దాని hosted checkout_url కు పంపండి — వాలెట్లు, నెట్‌వర్క్‌లు, నిర్ధారణలు Kem చూసుకుంటుంది. స్థితిని చెల్లింపును fetch చేసి లేదా ఇంకా మంచిది, webhooks ద్వారా ట్రాక్ చేయండి.

POST/v1/payments
curl -X POST https://api-business.kemapp.io/v1/payments \
  -H "Authorization: Bearer sk_test_..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042" \
  -d '{
    "amount": "25.000000",
    "currency": "USDT",
    "merchant_reference": "order-1042",
    "customer_email": "[email protected]",
    "description": "Pro plan",
    "return_url": "https://yourshop.example/thanks",
    "metadata": {"order_id": "1042"}
  }'
{
  "id": "pay_01J...",
  "status": "pending",
  "mode": "test",
  "amount": "25.000000",
  "amount_minor": 25000000,
  "amount_refunded_minor": 0,
  "fee_bps": null,
  "fee_minor": null,
  "net_minor": null,
  "currency": "USDT",
  "network": null,
  "merchant_reference": "order-1042",
  "checkout_url": "https://pay.kemapp.io/pay_01J...",
  "checkout_expires_at": "2026-07-13T13:30:00+00:00",
  "transaction_id": null,
  "detected_at": null,
  "confirmation_pending": false,
  "created_at": "2026-07-13T13:00:00+00:00",
  "updated_at": "2026-07-13T13:00:00+00:00"
}

Idempotency-Key — ఐచ్ఛికం కానీ సిఫార్సు — అదే key తో మళ్లీ ప్రయత్నిస్తే నకలు బదులు అసలు చెల్లింపే తిరిగి వస్తుంది.

GET/v1/payments— query: status, limit (1–100, default 20), cursor · returns has_more, next_cursor
GET/v1/payments/{id}

amount — decimal string with 6 places ("25.000000"); amount_minor — the same value as an integer in micro-USDT.

fee_minor and net_minor are null while a payment is in flight and are frozen when it succeeds. Reconcile your payout against net_minor, not amount_minor — the difference is our fee (fee_bps).

చెల్లింపు జీవితచక్రం

pending → detected → succeeded · failed · expired

pending — బదిలీ కోసం వేచి ఉంది · detected — చైన్‌పై కనిపించింది, నిర్ధారణలో · succeeded — మీ వాలెట్‌లో నిధులు ఖరారు (దీనిపై ఆర్డర్ నెరవేర్చండి) · failed / expired — తుది. రీఫండ్ మార్పులు webhook ఈవెంట్లుగా వస్తాయి.

checkout window: 30 minutes, then → expired

లోపాలు & పరిమితులు

అన్ని లోపాలు ఒకే envelope వాడతాయి. కోడ్‌లు స్థిరమైనవి — సందేశంపై కాదు, error.code పై బ్రాంచ్ చేయండి.

HTTP 4xx/5xx
{
  "error": {
    "code": "idempotency_conflict",
    "message": "Idempotency-Key reused with a different request"
  }
}
401 unauthorizedmissing or invalid API key
404 payment_not_foundunknown payment id (or a live id with a test key)
409 idempotency_conflictIdempotency-Key reused with a different body — identical retries replay the original response
422 validation_errormalformed body — bad amount, unsupported currency. message reads “{field}: {reason}”
429 rate_limitedover the per-key budget: 100 writes/min, 1000 reads/min

ఉత్పత్తులు, చెల్లింపు లింకులు, webhook endpoints, రీఫండ్‌లు డాష్‌బోర్డ్ నుండి నిర్వహించబడతాయి — వాటికి పబ్లిక్ REST endpoints ఇంకా లేవు.

Webhooks

డాష్‌బోర్డ్‌లో «Webhooks» విభాగంలో endpoint జోడించి కావలసిన ఈవెంట్లను ఎంచుకోండి. ప్రతి endpoint కు సొంత whsec_… సంతక రహస్యం ఉంటుంది — సృష్టించేటప్పుడు ఒక్కసారే చూపబడుతుంది.

payment.createdA payment intent was created (API or checkout link).
payment.detectedThe transfer was seen on-chain / in the KEM ledger; confirming.
payment.succeededFunds are confirmed in your business wallet. Fulfill on this event.
payment.failedThe payment failed.
payment.expiredThe checkout window closed without payment.
payment.confirmation_delayedThe customer paid, but it couldn't be confirmed inside the checkout window. Don't treat this as expired — hold the order.
payment.refund.createdA refund was initiated from the dashboard.
payment.refund.succeededThe refund settled back to the customer.

ఈవెంట్ payload

{
  "id": "payment_event_01J...",
  "type": "payment.succeeded",
  "created": "2026-07-13T13:04:12+00:00",
  "data": {
    "payment": {
      "id": "pay_01J...",
      "status": "succeeded",
      "amount_minor": 25000000,
      "currency": "USDT",
      "merchant_reference": "order-1042",
      "network": "TRON",
      "product_id": null,
      "payment_link_id": null
    }
  }
}

సంతకాల ధృవీకరణ

ప్రతి డెలివరీలో Kem-Signature హెడర్ ఉంటుంది. మీ endpoint రహస్యంతో «<t>.» + ముడి బాడీపై HMAC ను మళ్లీ లెక్కించి constant-time పోలిక చేయండి. సరిపోలనివి తిరస్కరించండి.

Kem-Signature: t=<unix_timestamp>,v1=<hmac_sha256_hex>

signed_input = "<t>." + raw_request_body
v1 = HMAC_SHA256(endpoint_secret, signed_input)   # secret: whsec_...

# reject replays: drop the delivery when |now - t| > 300s
import crypto from "node:crypto";

export function verifyKemSignature(rawBody, header, secret) {
  // header: "t=1720000000,v1=hex"
  const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  const expected = crypto
    .createHmac("sha256", secret)               // secret: whsec_...
    .update(`${parts.t}.`)
    .update(rawBody)                            // the RAW request bytes
    .digest("hex");
  return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}
import hashlib, hmac

def verify_kem_signature(raw_body: bytes, header: str, secret: str) -> bool:
    parts = dict(p.split("=") for p in header.split(","))
    expected = hmac.new(
        secret.encode(), f"{parts['t']}.".encode() + raw_body, hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, parts["v1"])

డెలివరీ & రీట్రైలు

త్వరగా 2xx తో స్పందించండి. విఫల డెలివరీలు backoff తో మళ్లీ ప్రయత్నించబడి, ఆపై dead-letter అవుతాయి:

1m · 5m · 30m · 2h · 12h · 24h

పరీక్ష

టెస్ట్ key తో డబ్బు కదల్చకుండా చెల్లింపును పూర్తి జీవితచక్రం ద్వారా నడపవచ్చు — పరివర్తనలను simulate చేసి మీ webhooks రావడం చూడండి:

curl -X POST https://api-business.kemapp.io/v1/payments/{id}/_simulate/succeeded \
  -H "Authorization: Bearer sk_test_..."
BUILT IN THE GULF · SETTLED IN USDT ·
kemBusiness

చెల్లింపు పొందండి
స్టేబుల్‌కాయిన్‌లలో.

డాష్‌బోర్డ్ తెరిచి ఈ రోజే మీ మొదటి USDT చెల్లింపును స్వీకరించండి — లేదా 20-నిమిషాల కాల్‌లో మేము మీతో కలిసి దాన్ని పరిశీలిస్తాము.

డాష్‌బోర్డ్ తెరవండి↗కాల్‌ను బుక్ చేయండి↗

ఇప్పటికే kemలో ఉన్నారా? సైన్ ఇన్

ఉత్పత్తి

  • సైన్ ఇన్
  • ఖాతా సృష్టించండి
  • డెమో బుక్ చేయండి

అందరికీ Kem

  • వినియోగదారు యాప్
  • iOS — App Store
  • Android — Google Play

కంపెనీ

  • Tether పెట్టుబడి
  • గోప్యతా విధానం
  • నిబంధనలు & షరతులు

Kem అనేది క్రిప్టో సేవల ఎకోసిస్టమ్ — ప్రపంచవ్యాప్తంగా ప్రజలకు ఆర్థిక స్వేచ్ఛను అందిస్తుంది.

© 2026 Kem · ఈ వెబ్‌సైట్ కంటెంట్ — దీని ద్వారా అందుబాటులో ఉంచిన మొత్తం సమాచారం, మెటీరియల్స్ మరియు పత్రాలతో సహా — గోప్యమైనది మరియు అబుదాబి గ్లోబల్ మార్కెట్‌లో నమోదైన KEM TECHNOLOGIES HOLDING Ltd (కంపెనీ నంబర్ 000008598) యాజమాన్యానిది. KEM TECHNOLOGIES HOLDING Ltd యొక్క ముందస్తు లిఖితపూర్వక అనుమతి లేకుండా ఈ కంటెంట్‌ను పూర్తిగా లేదా పాక్షికంగా అనధికారికంగా ఉపయోగించడం, వెల్లడించడం, పంపిణీ చేయడం లేదా పునరుత్పత్తి చేయడం ఖచ్చితంగా నిషేధించబడింది. [email protected]

గల్ఫ్‌లో రూపొందించబడింది.