अपने PHP अनुप्रयोगों में Dodo Payments को एक आधुनिक, PSR-4 अनुपालन SDK के साथ एकीकृत करें
PHP SDK Dodo Payments को आपके PHP अनुप्रयोगों में एकीकृत करने का एक मजबूत और लचीला तरीका प्रदान करता है। यह आधुनिक PHP मानकों के अनुसार PSR-4 ऑटोलोडिंग के साथ बनाया गया है, और इसमें व्यापक परीक्षण कवरेज और विस्तृत दस्तावेज़ीकरण है।
Dodo Payments PHP API लाइब्रेरी वर्तमान में बीटा में है। हम इसके साथ प्रयोग करने के लिए उत्साहित हैं! कृपया एक समस्या दर्ज करके कोई सुझाव, बग रिपोर्ट या फीचर अनुरोध साझा करें।
<?phpuse Dodopayments\Client;$client = new Client( bearerToken: getenv('DODO_PAYMENTS_API_KEY') ?: 'My Bearer Token', // use 'https://test.dodopayments.com' for test mode baseUrl: 'https://live.dodopayments.com');$checkoutSessionResponse = $client->checkoutSessions->create( productCart: [["productID" => "product_id", "quantity" => 1]]);var_dump($checkoutSessionResponse->session_id);
अपने API कुंजियों को सुरक्षित रूप से पर्यावरण चर का उपयोग करके स्टोर करें। उन्हें कभी भी अपने कोडबेस में उजागर न करें या संस्करण नियंत्रण में कमिट न करें।
SDK वैकल्पिक तर्कों को निर्दिष्ट करने के लिए नामित पैरामीटर का उपयोग करता है। आप स्थैतिक with कंस्ट्रक्टर का उपयोग करके मूल्य वस्तुओं को प्रारंभ कर सकते हैं:
कॉपी करें
AI से पूछें
<?phpuse Dodopayments\Customers\AttachExistingCustomer;// Recommended: Use static 'with' constructor with named parameters$customer = AttachExistingCustomer::with(customerID: "customer_id");
बिल्डर एक वैकल्पिक पैटर्न के रूप में भी उपलब्ध हैं:
कॉपी करें
AI से पूछें
<?phpuse Dodopayments\Customers\AttachExistingCustomer;// Alternative: Use builder pattern$customer = (new AttachExistingCustomer)->withCustomerID("customer_id");
कुछ त्रुटियों को डिफ़ॉल्ट रूप से 2 बार स्वचालित रूप से पुनः प्रयास किया जाता है, जिसमें एक छोटा एक्सपोनेंशियल बैकऑफ होता है। निम्नलिखित त्रुटियाँ स्वचालित पुनः प्रयास को ट्रिगर करती हैं:
कनेक्शन त्रुटियाँ (नेटवर्क कनेक्टिविटी समस्याएँ)
408 अनुरोध समय समाप्त
409 संघर्ष
429 दर सीमा
500+ आंतरिक त्रुटियाँ
समय समाप्त
वैश्विक या प्रति अनुरोध पुनः प्रयास व्यवहार कॉन्फ़िगर करें:
कॉपी करें
AI से पूछें
<?phpuse Dodopayments\Client;use Dodopayments\RequestOptions;// Configure default for all requests (disable retries)$client = new Client(maxRetries: 0);// Or, configure per-request$result = $client->checkoutSessions->create( productCart: [["productID" => "product_id", "quantity" => 1]], requestOptions: RequestOptions::with(maxRetries: 5),);
$page = $client->payments->list();var_dump($page);// Fetch items from the current pageforeach ($page->getItems() as $item) { var_dump($item->brand_id);}// Auto-paginate: fetch items from all pagesforeach ($page->pagingEachItem() as $item) { var_dump($item->brand_id);}
जब लाइब्रेरी API से कनेक्ट नहीं कर पाती है या एक गैर-सफल स्थिति कोड (4xx या 5xx) प्राप्त करती है, तो APIException का एक उपवर्ग फेंका जाता है:
कॉपी करें
AI से पूछें
<?phpuse Dodopayments\Core\Exceptions\APIConnectionException;use Dodopayments\Core\Exceptions\RateLimitException;use Dodopayments\Core\Exceptions\APIStatusException;try { $checkoutSessionResponse = $client->checkoutSessions->create( productCart: [["productID" => "product_id", "quantity" => 1]] );} catch (APIConnectionException $e) { echo "The server could not be reached", PHP_EOL; var_dump($e->getPrevious());} catch (RateLimitException $_) { echo "A 429 status code was received; we should back off a bit.", PHP_EOL;} catch (APIStatusException $e) { echo "Another non-200-range status code was received", PHP_EOL; echo $e->getMessage();}