اذهب إلى المحتوى

السؤال

نشر

مرحبا,

احاول تنفيذ طلب  POST من Laravel إلى واجهة برمجة تطبيقات خارجية  و المفروض في حالة نجاحه ان يرجع لي رابط, كتبت هذا الكود لست متأكد اذا كان صحيحا:

$data = [
            'client‌' => 'client‌ ‌name',
            'amount‌' => 400,
            'invoice_number‌' => '88',
            'discount‌' => '0',
            'back_url‌' => route('test'),
            'webhook_url‌' => route('test'),
            'mode‌' => 'CIB',
        ];
        $url = '‌https://epay.chargily.com.dz/api/invoice';
        $response = Http::withHeaders([
            'X-Authorization' => 'ehougO6....',
        ])->post($url, $data);
    
        dd($response);

يرجع  هذا الخطأ:

61691701cc4f3_Screenshotfrom2021-10-1506-49-54.thumb.png.b6723de8182501846c432d8e47fa0675.png

 

ما أحاول القيام به هو استخدام Api احدى بوابات الدفع المحلية:

6169173f32b08_Screenshotfrom2021-10-1506-30-09.thumb.png.b2a262b43c2ac9294a0738f796b08067.png

Recommended Posts

  • 1
نشر
  • حاول تعطيل التحقق من شهادة الحماية SSL لهذا الطلب حصرا عبر تمرير التالي:
$response = Http::withOptions([ 'verify' => false ])
->withHeaders(['X-Authorization' => 'ehougO6....' ])
->post($url, $data);
  • حاول مسح الإعدادات المؤقتة
php artisan route:clear
php artisan config:clear
php artisan cache:clear
  • قد تكون مشكلة في الاتصال بال DNS، أو مشكلة بالاتصال بشكل عام حاول التأكد
  • حاول إعادة تشغيل الخادم المحلي (Apache أو Nginx)
  • 1
نشر

يمكنك استخدام حزمة Guzzle لإنشاء أي اتصال بأي api خارجي و ذلك عن طريق الكود التالي 

use GuzzleHttp\Client;
$client = new Client();
$res = $client->request('POST', 'https://', [
	'form_params' => [
	'client_id' => 'test_id',
	'secret' => 'test_secret',
	]
]);

بحيث يكون الطلب من نوع POST كما في الكود السابق, لاحظ بأنه في التوثيق التالي لهذه الحزمة يوجد شرح لكل نوع من أنواع الطلب من هنا , حاول استخدام هذه الحزمة ومن ثم أخبرني بالنتيجة.

  • 1
نشر
بتاريخ منذ ساعة مضت قال اسماعيل صدوقي:

اعتقد ان هذا api يتطلب شهادة الحماية SSL ,هل من الممكن ان تكون هي السبب في هذه المشكلة؟

لأنني جربت الأن هذا الرابط يعمل بشكل عادي

https://httpbin.org/post Returns POST data.

نعم قد تكون مشكلة تحقق من الشهادة لاحظ اختلاف المُصدّر Issued by للشهادة لكلا الموقعين

chargily_com.dz-certificate.png.c274ae4111d247a4cfa0705dd0c33392.pnghttpbin.org-certificate.png.d76343c197aeded150374cf49a14fda4.png

  • 0
نشر (معدل)
بتاريخ 5 ساعات قال Hassan Hedr:
  • حاول تعطيل التحقق من شهادة الحماية SSL لهذا الطلب حصرا عبر تمرير التالي:

$response = Http::withOptions([ 'verify' => false ])
->withHeaders(['X-Authorization' => 'ehougO6....' ])
->post($url, $data);

 

اعتقد ان هذا api يتطلب شهادة الحماية SSL ,هل من الممكن ان تكون هي السبب في هذه المشكلة؟

لأنني جربت الأن هذا الرابط يعمل بشكل عادي

https://httpbin.org/post Returns POST data.

تم التعديل في بواسطة اسماعيل صدوقي
تعديل السؤال

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...