---
title: PayPal
description: वॉलेट टॉप-अप के लिए PayPal को NexCMP से कनेक्ट करें — REST ऐप क्रेडेंशियल, वेबहुक, सैंडबॉक्स परीक्षण और सहेजे गए PayPal खाते।
url: https://nexcmp.com/hi/docs/billing/paypal/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# PayPal

> **Where in the admin:** Finance › Payment channels › PayPal (`/payments/paypal`). द ऑन/ऑफ़ स्विच और फ़ीस Finance › Payment channels › Fees & limits (`/payments/fees`) में हैं।

## यह क्या करता है {#what-it-does}

ग्राहकों को अपने PayPal बैलेंस, बैंक खाते या PayPal पर मौजूद कार्ड से अपने USD वॉलेट को टॉप अप करने देता है। ग्राहक [automatic top-up](https://nexcmp.com/hi/docs/billing/auto-top-up/) के लिए NexCMP को अपना PayPal खाता याद रखने की अनुमति भी दे सकते हैं। PayPal पसंद करने वाले ग्राहकों के लिए इसे [Stripe](https://nexcmp.com/hi/docs/billing/stripe/) के साथ उपयोग करें।

## आवश्यकताएं {#requirements}

| आइटम | आवश्यकता |
|---|---|
| PayPal account | एक PayPal **Business** खाता जो USD प्राप्त कर सकता है। |
| REST app | PayPal डेवलपर डैशबोर्ड (**Apps & Credentials**) में एक REST ऐप जो **Client ID** और **Client secret** प्रदान करता है। परीक्षण के लिए **Sandbox** टैब का उपयोग करें, प्रोडक्शन के लिए **Live** का उपयोग करें। |
| नेटवर्क | इंटरनेट से HTTPS पहुंच योग्य (PayPal वेबहुक को कॉल करता है) और `api-m.paypal.com` (लाइव) या `api-m.sandbox.paypal.com` (सैंडबॉक्स) तक आउटबाउंड एक्सेस, पोर्ट 443। |
| अनुमतियाँ | REST ऐप को रिफंड और वेबहुक क्षमताओं की आवश्यकता है। **Check** डायलॉग दिखाता है कि दोनों स्कोप मौजूद हैं या नहीं। |
| डिपेंडेंसी | कोई नहीं। |

## बुनियादी ढांचा तैयार करें {#prepare-the-infrastructure}

1. अपने बिजनेस खाते से [developer.paypal.com](https://developer.paypal.com) में साइन इन करें और **Apps & Credentials** खोलें।
2. **Sandbox** (परीक्षण) या **Live** चुनें, फिर **Create App** करें। इसका नाम उदाहरण के लिए "NexCMP" रखें।
3. ऐप का **Client ID** और **Secret** कॉपी करें।
4. परीक्षण के लिए, कोई *Personal* (खरीदार) सैंडबॉक्स खाता खोजने या बनाने के लिए **Testing Tools › Sandbox Accounts** का उपयोग करें।
5. आपको स्वयं वेबहुक बनाने की आवश्यकता नहीं है; NexCMP इसे **Create webhook** बटन से बनाता है।

## NexCMP में कनेक्ट करें {#connect-in-nexcmp}

1. **Finance › Payment channels › PayPal** खोलें (`/payments/paypal`)।
2. **API keys** में, **Mode** चुनें: `live` (वास्तविक धन, `api-m.paypal.com`) या `sandbox` (`api-m.sandbox.paypal.com`)।
3. **Client ID** (कम से कम 20 वर्ण) और **Client secret** पेस्ट करें।
4. **Check** पर क्लिक करें। यह आपके द्वारा टाइप किए गए क्रेडेंशियल्स की जांच करता है (सहेजना आवश्यक नहीं है) और कनेक्शन, ऐप आईडी, मोड, रिफंड और वेबहुक स्कोप मौजूद हैं या नहीं तथा टोकन की अवधि की रिपोर्ट देता है।
5. **Save** पर क्लिक करें।
6. **Webhook** कार्ड में पुष्टि करें कि URL `https://<your-domain>/v1/billing/paypal/webhook` है (यह `https` होना चाहिए), फिर **Create webhook** पर क्लिक करें और पुष्टि करें। NexCMP PayPal से 11 इवेंट के साथ वेबहुक बनाने या अपडेट करने का अनुरोध करता है और लौटाए गए **Webhook ID** को सहेजता है। बटन **सहेजी गई** कुंजियों का उपयोग करता है — यदि आपने अभी-अभी उनमें संपादन किया है तो पहले सहेजें।
7. **Check** पर फिर से क्लिक करें: **Webhook** पंक्ति में "exists, 11 events" लिखा होना चाहिए।
8. **Fees & limits** खोलें, **PayPal** को चालू करें, **PayPal fee %** (डिफ़ॉल्ट 4.4) और **PayPal fixed fee (cents)** (डिफ़ॉल्ट 30) को अपने टैरिफ के अनुसार सेट करें और **Save channels & fees** पर क्लिक करें।

![सैंडबॉक्स मोड और दर्ज किए गए उदाहरण क्रेडेंशियल्स के साथ PayPal पेज](https://nexcmp.com/hi/docs/images/billing/paypal-01-keys.webp)


### Webhook events {#webhook-events}

NexCMP इन 11 इवेंट को पंजीकृत करता है: `CHECKOUT.ORDER.APPROVED`, `PAYMENT.CAPTURE.COMPLETED`, `PAYMENT.CAPTURE.PENDING`, `PAYMENT.CAPTURE.DECLINED`, `PAYMENT.CAPTURE.REFUNDED`, `PAYMENT.CAPTURE.REVERSED`, `CUSTOMER.DISPUTE.CREATED`, `CUSTOMER.DISPUTE.UPDATED`, `CUSTOMER.DISPUTE.RESOLVED`, `RISK.DISPUTE.CREATED`, `CHECKOUT.PAYMENT-APPROVAL.REVERSED`।

प्रत्येक वेबहुक को PayPal के हस्ताक्षर-सत्यापन API को कॉल करके सत्यापित किया जाता है, एक बार संग्रहीत किया जाता है और आइडमपोटेंट तरीके से प्रोसेस किया जाता है। NexCMP वेबहुक बॉडी में दी गई राशि पर कभी भरोसा नहीं करता: कैप्चर को क्रेडिट करने से पहले यह PayPal से कैप्चर प्राप्त करता है।

## सत्यापित करें {#verify}

1. **Mode** को `sandbox` पर रखें। पोर्टल में, **Billing › Deposit** खोलें, **PayPal** चुनें, **Continue on PayPal** (या PayPal बटन) पर क्लिक करें और सैंडबॉक्स खरीदार खाते से लॉग इन करें।
2. भुगतान स्वीकृत करें। आप पोर्टल पर लौटते हैं, बैलेंस बढ़ जाता है और भुगतान **Finance › Billing › Top-ups** के अंतर्गत *Completed* के रूप में दिखाई देता है।
3. **Payment channels › Gateway events › PayPal & USDT** खोलें: `PAYMENT.CAPTURE.COMPLETED` इवेंट सूचीबद्ध है।
4. जब सब कुछ काम करे, तो **Mode** को `live` पर स्विच करें, लाइव क्रेडेंशियल्स दर्ज करें, **Save** करें, फिर **Create webhook** पर दोबारा क्लिक करें (सैंडबॉक्स और लाइव वेबहुक अलग-अलग होते हैं)।

## Limits & notes {#limits-notes}

- **भुगतान कैसे पूरा होता है।** ऑर्डर USD में बनाया जाता है; ग्राहक द्वारा इसे स्वीकृत करने के बाद, **सर्वर** इसे कैप्चर करता है (आइडमपोटेंट अनुरोध आईडी) और वॉलेट को ठीक एक बार क्रेडिट करता है। यदि ग्राहक ब्राउज़र बंद कर देता है, तो वेबहुक और हर 10 मिनट में चलने वाला रिकंसीडिएशन जॉब सुरक्षा कवच का काम करते हैं।
- **लंबित और छोड़े गए ऑर्डर।** एक ऑर्डर 12 घंटे तक खुला रह सकता है। एक ग्राहक के पास अधिकतम 5 लंबित ऑर्डर हो सकते हैं (सर्वर `too_many_pending`, HTTP 429 उत्तर देता है)। 24 घंटे के बाद भी कैप्चर न किया गया ऑर्डर विफल चिह्नित कर दिया जाता है।
- **कोई वेबहुक कॉन्फ़िगर नहीं किया गया।** जब तक वेबहुक आईडी सहेजी नहीं जाती, पैनल प्रत्येक PayPal वेबहुक को HTTP 503 उत्तर देता है। पोर्टल के माध्यम से किए गए कैप्चर और 10 मिनट का रिकंसीडिएशन अभी भी वॉलेट को क्रेडिट करते हैं, लेकिन PayPal द्वारा वेबहुक के माध्यम से रिपोर्ट की गई कोई भी चीज़ (विवाद, उलटफेर, देर से कैप्चर) लागू नहीं होती है — **Create webhook** पर क्लिक करें।
- **सहेजा गया PayPal खाता।** जब ग्राहक PayPal को सहेजना चुनता है (या पहला डिपॉजिट पूरा करता है, जिससे [automatic top-up](https://nexcmp.com/hi/docs/billing/auto-top-up/) चालू हो जाता है), तो PayPal अपने वॉल्ट में भुगतान टोकन संग्रहीत करता है। NexCMP केवल एक पहचानकर्ता और PayPal ईमेल रखता है। [Saved payment methods](https://nexcmp.com/hi/docs/billing/saved-payment-methods/) देखें।
- **रिफंड और विवाद** को Stripe की तरह संभाला जाता है: रिफंड अनुरोध **Finance › Payouts › Card refunds** के अंतर्गत स्वीकृत किए जाते हैं; एक विवाद ग्राहक के खाते को ब्लॉक कर देता है और आपके द्वारा हल किए जाने तक उनकी प्रीपेड सेवाओं को रोक देता है।
- **शुल्क।** PayPal का शुल्क वापस नहीं पढ़ा जाता है; आपके द्वारा कॉन्फ़िगर किया गया प्रतिशत और निश्चित शुल्क यह निर्धारित करता है कि ग्राहक को क्या दिखाई देता है और क्या क्रेडिट किया जाता है। वास्तविक टैरिफ आपके देश पर निर्भर करता है (फ़ॉर्म वियतनाम के लिए 4.4% और अमेरिका के लिए 3.49% का संकेत देता है)।

## ट्रबलशूटिंग {#troubleshooting}

| लक्षण | कारण | सुधार |
|---|---|---|
| "Client ID बहुत छोटा है" | 20 से कम वर्ण पेस्ट किए गए हैं | पूरा Client ID कॉपी करें। |
| "वेबहुक URL https होना चाहिए" | URL इस प्रकार टाइप किया गया: `http://` | अपने सार्वजनिक `https://` डोमेन का उपयोग करें। |
| जांच में कनेक्शन त्रुटि रिपोर्ट की जाती है | गलत मोड (सैंडबॉक्स में लाइव कुंजियाँ या इसके विपरीत), गलत गुप्त कुंजी, कोई आउटबाउंड एक्सेस नहीं | **Mode** को कुंजी प्रकार से मिलाएं; सर्वर से `curl -I https://api-m.paypal.com` का परीक्षण करें। |
| स्कोप रिफंड / वेबहुक "no" दिखाता है | REST ऐप में सुविधाओं की कमी है | PayPal Developer Dashboard में ऐप पर सुविधाओं को सक्षम करें। |
| बैनर "PayPal key set, NO webhook" | वेबहुक ID गायब है | **Create webhook** पर क्लिक करें। |
| Check में "Webhook not found" | वेबहुक PayPal पर हटा दिया गया था या किसी अन्य ऐप से संबंधित है | **Create webhook** पर दोबारा क्लिक करें। |
| ग्राहक को बताया जाता है कि PayPal ने भुगतान अस्वीकार कर दिया | PayPal ने उस फंडिंग स्रोत को अस्वीकार कर दिया | ग्राहक से कोई अन्य भुगतान स्रोत चुनने के लिए कहें। |
| ग्राहक "Too many pending requests" देखता है | 5 खुले ऑर्डर | उनके समाप्त होने की प्रतीक्षा करें या उन्हें पूरा करें। |
| PayPal बटन गायब है | **Fees & limits** में PayPal बंद है या कॉन्फ़िगर नहीं किया गया है | इसे चालू करें और क्रेडेंशियल सहेजें। |
