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

# क्रेडिट-आधारित बिलिंग

> क्रेडिट-आधारित बिलिंग इवेंट्स होने पर आपके वेबहुक एंडपॉइंट पर भेजा जाने वाला पेलोड — वर्चुअल क्रेडिट (API कॉल, टोकन, कंप्यूट घंटे) प्रदान किए गए, उपयोग किए गए, समाप्त हो गए, रोलओवर किए गए, या बैलेंस अलर्ट। ये वेबहुक Customer Wallets (मॉनिटरी बैलेंस) से संबंधित नहीं हैं।

## क्रेडिट-आधारित बिलिंग वेबहुक इवेंट्स

निम्नलिखित वेबहुक इवेंट्स क्रेडिट-आधारित बिलिंग जीवनचक्र परिवर्तन को ट्रैक करने के लिए उपलब्ध हैं। ये इवेंट्स वर्चुअल क्रेडिट अधिकारों (API कॉल, टोकन, कंप्यूट घंटे) पर लागू होते हैं, [Customer Wallets](/features/customer-wallet) (मॉनिटरी बैलेंस) पर नहीं।

| इवेंट                       | विवरण                                                                                     |
| --------------------------- | ----------------------------------------------------------------------------------------- |
| `credit.added`              | ग्राहक को क्रेडिट प्रदान किए जाते हैं (सदस्यता, एकमुश्त खरीद, ऐड-ऑन, या API के माध्यम से) |
| `credit.deducted`           | उपयोग या मैनुअल डेबिट के माध्यम से क्रेडिट का उपभोग किया जाता है                          |
| `credit.expired`            | निर्धारित समाप्ति अवधि के बाद अप्रयुक्त क्रेडिट की समाप्ति हो जाती है                     |
| `credit.rolled_over`        | अप्रयुक्त क्रेडिट को नई ग्रांट में आगे बढ़ाया जाता है जब चक्र समाप्त होता है              |
| `credit.rollover_forfeited` | अधिकतम रोलओवर गणना तक पहुँचने के कारण क्रेडिट जब्त कर लिया गया                            |
| `credit.overage_charged`    | जब उपयोग शून्य शेष राशि से परे जारी रहता है, तो अतिरिक्त शुल्क लागू होता है               |
| `credit.overage_reset`      | संचित अतिरिक्त शुल्क रीसेट किया जाता है (उदाहरण के लिए, नए बिलिंग चक्र की शुरुआत में)     |
| `credit.manual_adjustment`  | डैशबोर्ड या API के माध्यम से मैनुअल क्रेडिट या डेबिट समायोजन किया गया                     |
| `credit.balance_low`        | क्रेडिट बैलेंस कॉन्फ़िगर किए गए न्यूनतम बैलेंस सीमा के नीचे गिर जाता है                   |

### लेज़र इवेंट्स

सभी लेज़र इवेंट्स (`credit.added` से `credit.manual_adjustment` तक) नीचे दिए गए स्कीमा में दस्तावेजीकृत समान `CreditLedgerEntryResponse` पेलोड साझा करते हैं।

लोड में वो फ़ील्ड शामिल है जिसे क्रेडिट ग्रांट के **स्रोत** से हल किया गया है — चेकआउट के समय बनाई गई सदस्यता या भुगतान। यह आपको अपनी चेकआउट टेक्नोलॉजी से वॉलेट क्रेडिट्स को की करने की अनुमति देता है `metadata` (उदाहरण के लिए, एक `orgId`) बजाय Dodo-मुद्रित `customer_id` के: सदस्यता-स्रोत ग्रांट्स सदस्यता का `metadata` पेश करते हैं और भुगतान-स्रोत ग्रांट्स भुगतान का `metadata` पेश करते हैं। जब ग्रांट का कोई हल करने योग्य स्रोत नहीं होता है (उदाहरण के लिए, सीधे API के माध्यम से प्रदान किए गए क्रेडिट्स), तो फ़ील्ड खाली होता है।

### बैलेंस लो इवेंट (credit.balance\_low)

`credit.balance_low` इवेंट एक अलग पेलोड का उपयोग करता है (`CreditBalanceLowPayload`) जो थ्रेशोल्ड अलर्टिंग पर केंद्रित होता है:

```json theme={null}
{
  "business_id": "bus_H4ekzPSlcg",
  "type": "credit.balance_low",
  "timestamp": "2025-08-04T06:15:00.000000Z",
  "data": {
    "payload_type": "CreditBalanceLow",
    "customer_id": "cus_8VbC6JDZzPEqfBPUdpj0K",
    "subscription_id": "sub_7EeHq2ewQuadropD2ra",
    "credit_entitlement_id": "cent_9xY2bKwQn5MjRpL8d",
    "credit_entitlement_name": "API Credits",
    "available_balance": "15",
    "subscription_credits_amount": "100",
    "threshold_percent": 20,
    "threshold_amount": "20"
  }
}
```

<ParamField body="customer_id" type="string">
  जिस ग्राहक के क्रेडिट बैलेंस ने चेतावनी चलाई।
</ParamField>

<ParamField body="subscription_id" type="string">
  इस क्रेडिट अधिकार के साथ संबंधित सदस्यता।
</ParamField>

<ParamField body="credit_entitlement_id" type="string">
  वह क्रेडिट अधिकार जिसे निम्न बैलेंस है।
</ParamField>

<ParamField body="credit_entitlement_name" type="string">
  क्रेडिट अधिकार का प्रदर्शन नाम।
</ParamField>

<ParamField body="available_balance" type="string">
  चेतावनी के समय चालू क्रेडिट बैलेंस।
</ParamField>

<ParamField body="subscription_credits_amount" type="string">
  इस सदस्यता के लिए प्रति बिलिंग चक्र जारी कुल क्रेडिट।
</ParamField>

<ParamField body="threshold_percent" type="integer">
  कॉन्फ़िगर किया गया निम्न बैलेंस थ्रेशोल्ड प्रतिशत।
</ParamField>

<ParamField body="threshold_amount" type="string">
  वह पूर्ण क्रेडिट राशि जिससे थ्रेशोल्ड संबंधित होता है।
</ParamField>

### सक्रिय अलर्ट के लिए `credit.balance_low` का उपयोग करना

ग्राहकों को सूचित करने के लिए `credit.balance_low` वेबहुक का उपयोग करें इससे पहले कि वे क्रेडिट समाप्त कर दें:

```javascript theme={null}
app.post('/webhooks/dodo', async (req, res) => {
  const event = req.body;
  
  if (event.type === 'credit.balance_low') {
    const data = event.data;
    
    // Notify the customer their credits are running low
    await sendEmail(data.customer_id, {
      subject: `Your ${data.credit_entitlement_name} balance is running low`,
      body: `You have ${data.available_balance} credits remaining ` +
            `(${data.threshold_percent}% threshold reached). ` +
            `Consider upgrading your plan or purchasing additional credits.`
    });
    
    console.log(`Low balance alert for customer ${data.customer_id}`);
  }
  
  res.json({ received: true });
});
```

<Tip>
  ग्राहकों को सक्रिय रूप से अलर्ट करने के लिए `credit.balance_low` की सदस्यता लें इससे पहले कि वे अपने क्रेडिट समाप्त करें। रीयल-टाइम खपत पैटर्न को ट्रैक करने के लिए `credit.deducted` के साथ मिलाएं।
</Tip>

<CardGroup cols={2}>
  <Card title="Get Customer Balance" icon="wallet" href="/api-reference/credit-entitlements/get-customer-balance">
    API के माध्यम से ग्राहकों के चालू बैलेंस की जांच करें।
  </Card>

  <Card title="Create Ledger Entry" icon="plus" href="/api-reference/credit-entitlements/create-ledger-entry">
    ग्राहक के बैलेंस को मैन्युअल रूप से क्रेडिट या डेबिट करें।
  </Card>
</CardGroup>

## वेबहुक पेलोड स्कीमा
