Use this file to discover all available pages before exploring further.
PHP SDK Dodo Payments को आपके PHP अनुप्रयोगों में एकीकृत करने का एक मजबूत और लचीला तरीका प्रदान करता है। यह आधुनिक PHP मानकों के अनुसार PSR-4 ऑटोलोडिंग के साथ बनाया गया है, और इसमें व्यापक परीक्षण कवरेज और विस्तृत दस्तावेज़ीकरण है।
SDK वैकल्पिक तर्कों को निर्दिष्ट करने के लिए नामित पैरामीटर का उपयोग करता है। आप STATIC with निर्माता का उपयोग करके वैल्यू ऑब्जेक्ट्स आरंभ कर सकते हैं:
<?phpuse Dodopayments\Customers\AttachExistingCustomer;// Recommended: Use static 'with' constructor with named parameters$customer = AttachExistingCustomer::with(customerID: "customer_id");
वैकल्पिक पैटर्न के रूप में बिल्डर्स भी उपलब्ध हैं:
<?phpuse Dodopayments\Customers\AttachExistingCustomer;// Alternative: Use builder pattern$customer = (new AttachExistingCustomer)->withCustomerID("customer_id");
कुछ त्रुटियों को डिफ़ॉल्ट रूप से एक संक्षिप्त एक्सपोनेंशियल बैकऑफ़ के साथ 2 बार स्वचालित रूप से पुनः प्रयास किया जाता है। निम्न त्रुटियाँ स्वचालित पुनः प्रयासों को ट्रिगर करती हैं:
कनेक्शन त्रुटियाँ (नेटवर्क कनेक्टिविटी समस्याएँ)
408 Request Timeout
409 Conflict
429 Rate Limit
500+ Internal errors
Timeouts
पुनः प्रयास व्यवहार को वैश्विक रूप से या प्रति-अनुरोध स्तर पर कॉन्फ़िगर करें:
use Dodopayments\Customers\AttachExistingCustomer;use Dodopayments\Payments\BillingAddress;// Create a subscription$subscription = $client->subscriptions->create( billing: BillingAddress::with( country: 'US', city: 'San Francisco', state: 'CA', street: '1 Market St', zipcode: '94105', ), customer: AttachExistingCustomer::with(customerID: 'cus_123'), productID: 'pdt_456', quantity: 1,);// Charge an on-demand subscription// productPrice is in the lowest currency denomination (e.g., 2500 = $25.00 USD)$charge = $client->subscriptions->charge( $subscription->subscription_id, productPrice: 2500,);
billing को कम से कम दो-अक्षर वाला ISO country कोड आवश्यक होता है। एक मौजूदा ग्राहक को जोड़ने के लिए AttachExistingCustomer::with(customerID: '...') पास करें, या एक बनाने के लिए NewCustomer::with(email: '...', name: '...')। productPrice सबसे कम मुद्रा संप्रदाय में है।
$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 का एक उपवर्ग फेंका जाता है:
<?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();}
संभावित त्रुटियों को विनीत रूप से प्रबंधित करने और उपयोगकर्ताओं को सार्थक प्रतिक्रिया प्रदान करने के लिए API कॉल्स को हमेशा try-catch ब्लॉक्स में लपेटें।