التوثيق
الاستخدام
يدعم
مهم
سيكون Laravel 11 هو الإصدار الأخير المدعوم للإصدار 3.0. يجري العمل على الإصدار 4 بشكل نشط، وسيتم إصداره بحلول نهاية أكتوبر 2024. بالنسبة إلى الإصدار 4، فيما يلي التغييرات التي تم إدخالها:
PHP 8.1+ مطلوب.
مطلوب Laravel 10 وما بعده.
دمج PayPal JS SDK.
البرنامج المساعد سيمفوني.
يمكن الاطلاع على وثائق الحزمة بالضغط على الرابط التالي:
https://laravel-paypal.readthedocs.io/en/latest/
الوثائق القديمة تجدونها على الرابط التالي:
https://srmklive.github.io/laravel-paypal/docs.html
فيما يلي بعض الطرق التي يمكنك من خلالها الوصول إلى مزود خدمة paypal:
// قم باستيراد مساحة اسم الفئة أولاً، قبل استخدامها مباشرةً، استخدم SrmklivePayPalServicesPayPal كـ PayPalClient;$provider = new PayPalClient;// من خلال الواجهة. لا حاجة لاستيراد مساحات الأسماء$provider = PayPal::setProvider();
يوجد ملف التكوين paypal.php في مجلد التكوين . وفيما يلي محتوياته عند نشره:
return ['mode' => env('PAYPAL_MODE', 'sandbox'), // يمكن أن يكون فقط "sandbox" أو "live". إذا كان فارغًا أو غير صالح، فسيتم استخدام 'live'.'sandbox' => ['client_id' => env('PAYPAL_SANDBOX_CLIENT_ID', ''),'client_secret' => env('PAYPAL_SANDBOX_CLIENT_SECRET', ''),'app_id ' => 'APP-80W284485P519543T', ],'live' => ['client_id' => env('PAYPAL_LIVE_CLIENT_ID', ''),'client_secret' => env('PAYPAL_LIVE_CLIENT_SECRET', ''),'app_id' => env('PAYPAL_LIVE_APP_ID', ' ')، ],' Payment_action' => env('PAYPAL_PAYMENT_ACTION', 'Sale'), // يمكن أن يكون فقط 'Sale' أو 'Authorization' أو 'Order''currency' => env('PAYPAL_CURRENCY', 'USD'), 'notify_url' => env('PAYPAL_NOTIFY_URL', ''), // قم بتغيير هذا وفقًا لذلك application.'locale' => env('PAYPAL_LOCALE', 'en_US'), // فرض لغة البوابة، مثل it_IT, es_ES, en_US ... (للخروج السريع فقط)'validate_ssl' => env('PAYPAL_VALIDATE_SSL', true ), // التحقق من صحة SSL عند إنشاء عميل API.];
يمكنك تجاوز تكوين PayPal API عن طريق استدعاء طريقة setApiCredentials
:
$config = ['mode' => 'live','live' => ['client_id' => 'PAYPAL_LIVE_CLIENT_ID','client_secret' => 'PAYPAL_LIVE_CLIENT_SECRET','app_id' => 'PAYPAL_LIVE_APP_ID', ],' Payment_action' => 'Sale','currency' => 'USD','notify_url' => 'https://your-site.com/paypal/notify','locale' => 'en_US', 'validate_ssl' => صحيح، ];$provider->setApiCredentials($config);
بعد ضبط تكوين PayPal API عن طريق استدعاء طريقة setApiCredentials
. تحتاج إلى الحصول على رمز الوصول قبل إجراء أي استدعاءات لواجهة برمجة التطبيقات (API).
$provider->getAccessToken();
بشكل افتراضي، العملة المستخدمة هي USD
. إذا كنت ترغب في تغييرها، يمكنك استدعاء الأسلوب setCurrency
لتعيين عملة مختلفة قبل استدعاء أي من طرق API المعنية:
$provider->setCurrency('EUR');
يرجى ملاحظة أنه في الأمثلة أدناه، يعد استدعاء
addPlanTrialPricing
اختياريًا ويمكن حذفه عندما تقوم بإنشاء اشتراكات بدون فترة تجريبية.
setReturnAndCancelUrl()
اختياري. إذا قمت بتعيين عناوين URL، فيجب عليك استخدام المجالات الحقيقية. على سبيل المثال المضيف المحلي، لا يعمل project.test.
$response = $provider->addProduct('منتج تجريبي'، 'منتج تجريبي'، 'خدمة'، 'برنامج') ->addPlanTrialPricing('DAY', 7) ->addDailyPlan('الخطة التجريبية'، 'الخطة التجريبية'، 1.50) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('منتج تجريبي'، 'منتج تجريبي'، 'خدمة'، 'برنامج') ->addPlanTrialPricing('DAY', 7) ->addWeeklyPlan('الخطة التجريبية'، 'الخطة التجريبية'، 30) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('منتج تجريبي'، 'منتج تجريبي'، 'خدمة'، 'برنامج') ->addPlanTrialPricing('DAY', 7) ->addMonthlyPlan('الخطة التجريبية'، 'الخطة التجريبية'، 100) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('منتج تجريبي'، 'منتج تجريبي'، 'خدمة'، 'برنامج') ->addPlanTrialPricing('DAY', 7) ->addAnnualPlan('الخطة التجريبية'، 'الخطة التجريبية'، 600) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $provider->addProduct('منتج تجريبي'، 'منتج تجريبي'، 'خدمة'، 'برنامج') ->addCustomPlan('خطة تجريبية'، 'خطة تجريبية'، 150، 'شهر'، 3) ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', '2021-12-10');
$response = $this->client->addProductById('PROD-XYAB12ABSB7868434') ->addBillingPlanById('P-5ML4271244454362WXNWU5NQ') ->setReturnAndCancelUrl('https://example.com/paypal-success', 'https://example.com/paypal-cancel') ->setupSubscription('John Doe', '[email protected]', $start_date);
يدعم هذا الإصدار Laravel 6 أو أحدث.
في حالة وجود أية مشكلات، يرجى إنشاء واحدة في قسم المشكلات.
إذا كنت ترغب في المساهمة:
شوكة هذا المستودع.
تنفيذ الميزات الخاصة بك.
إنشاء طلب سحب.