تطبيقات المطورين

تطبيقات OAuth

أنشئ تطبيقات شريكة، واطلب الوصول المفوض إلى الشركات، واتصل بواجهات برمجة تطبيقات MakeCrypto باستخدام رموز OAuth المميزة.

بوابة المطور

قم بإنشاء وإدارة تطبيقات الشركاء على https://apps.makecrypto.io. تنتمي التطبيقات إلى شركة MakeCrypto وتحدد عناوين URI لإعادة التوجيه، ونطاقات OAuth المسموح بها، وwebhooks، والرمز، وجهة اتصال الدعم، وسياسة الخصوصية، والشروط الموضحة أثناء الموافقة.

كل تطبيق سري لديه سر العميل. يظهر السر مرة واحدة عند إنشائه أو تدويره، ثم يتم تخزينه كتجزئة فقط. يجب أن تستخدم التطبيقات العامة PKCE ولا تتلقى سرًا.

رمز التفويض مع PKCE

يدعم MakeCrypto الشركة المفوضة OAuth لتطبيقات الشركاء. ابدأ التدفق عن طريق إرسال المستخدم إلى نقطة نهاية التفويض باستخدام URI المسجل الدقيق لإعادة التوجيه وتحدي PKCE S256.

GET https://makecrypto.io/oauth/authorize
  ?response_type=code
  &client_id=mco_app_...
  &redirect_uri=https%3A%2F%2Fpartner.example%2Fcallback
  &scope=company%3Aread%20makepay%3Apayment-links%3Aread
  &resource=https%3A%2F%2Fmakecrypto.io%2Fapi%2Fpartner%2Fv1
  &code_challenge=BASE64URL_SHA256_VERIFIER
  &code_challenge_method=S256

يختار المستخدم الشركة، ويراجع الأذونات المطلوبة، ويوافق على الوصول أو يرفضه. إذا نجحت الموافقة، فسيقوم MakeCrypto بإعادة التوجيه مرة أخرى باستخدام رمز ترخيص قصير الأمد.

استبدل الرمز عند نقطة نهاية الرمز المميز. يقوم العملاء السريون بالمصادقة باستخدام client_secret_basic أو client_secret_post؛ يقوم العملاء العامون بالمصادقة باستخدام أداة التحقق client_id وPKCE.

POST https://makecrypto.io/oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)

grant_type=authorization_code
&code=mco_code_...
&redirect_uri=https%3A%2F%2Fpartner.example%2Fcallback
&code_verifier=ORIGINAL_PKCE_VERIFIER

رموز الوصول هي رموز حاملة JWT قصيرة العمر. يتم تدوير الرموز المميزة للتحديث عند كل استخدام، كما تؤدي إعادة استخدام الرمز المميز للتحديث إلى إلغاء عائلة الرموز المميزة.

لا تستخدم عمليات التكامل الأصلية الرسمية، مثل المكون الإضافي MakePay WordPress، بوابة المطور أو سر العميل المشترك. يقومون بتسجيل التثبيت العام لكل متجر في POST /oauth/native/installations، ويستخدمون مطابقة URI الدقيقة لرد الاتصال، ويتلقون الرموز المميزة المرتبطة بـ DPoP والتي يجب إرسالها مع Authorization: DPoP ورأس إثبات DPoP المطابق.

أدوات تطوير البرامج الرسمية

استخدم حزم SDK الرسمية عندما تريد التكامل من جانب الخادم دون إنشاء عميل HTTP وحمولات رابط الدفع والتحقق من توقيع webhook من البداية.

SDKاستخدمه لـدليل
MakePay PHP SDKPHP، وLaravel، وSymfony، وcheckout المخصص، وإنشاء رابط الدفع الخلفي.PHP SDK
MakePay NPM SDKالواجهات الخلفية لـ Node.js وNext.js وTypeScript ومعالجات webhook من جانب الخادم.NPM SDK

نقاط النهاية

الغرضنقطة النهاية
إذنGET /oauth/authorize
تبادل الرمز المميزPOST /oauth/token
إبطالPOST /oauth/revoke
الاستبطانPOST /oauth/introspect
طلب الترخيص المدفوعPOST /oauth/par
تسجيل التثبيت الأصليPOST /oauth/native/installations
جي دبليو كي اسGET /oauth/jwks.json
البيانات الوصفية لخادم التخويلGET /.well-known/oauth-authorization-server
بيانات تعريف الموارد المحميةGET /.well-known/oauth-protected-resource

النطاقات

النطاقالوصول
company:readاقرأ هوية الشركة المحددة والإعدادات الأساسية.
wallet:balances:readقراءة أرصدة المحفظة للشركة المختارة.
wallet:activity:readاقرأ نشاط المحفظة والتسوية.
makepay:payment-links:readاقرأ روابط الدفع وحالة الدفع MakePay.
makepay:payment-links:writeإنشاء وتحديث روابط الدفع MakePay.
makepay:customers:readقراءة سجلات العملاء MakePay.
makepay:customers:writeإنشاء وتحديث سجلات عملاء MakePay.
makepay:subscriptions:readقراءة سجلات الاشتراك MakePay.
makepay:subscriptions:writeإنشاء وتحديث اشتراكات MakePay.
makepay:settings:readاقرأ إعدادات التاجر MakePay والأصول الممكّنة.
makepay:settings:writeقم بتحديث إعدادات التاجر MakePay وتكوين رد الاتصال.
makepay:webhooks:readقراءة نقاط النهاية وسجلات التسليم MakePay webhook.
makepay:webhooks:writeإنشاء وتحديث واختبار وإعادة محاولة عمليات تسليم MakePay webhook.

أذونات المسار API

الطريقالطريقةالنطاق المطلوب
/api/partner/v1/makepay/payment-linksGETmakepay:payment-links:read
/api/partner/v1/makepay/payment-linksPOSTmakepay:payment-links:write
/api/partner/v1/makepay/customersGETmakepay:customers:read
/api/partner/v1/makepay/customersPOSTmakepay:customers:write
/api/partner/v1/makepay/subscriptionsGETmakepay:subscriptions:read
/api/partner/v1/makepay/subscriptionsPOSTmakepay:subscriptions:write
/api/partner/v1/makepay/settingsGETmakepay:settings:read
/api/partner/v1/makepay/settingsPUTmakepay:settings:write
/api/partner/v1/makepay/webhook-requestsGETmakepay:webhooks:read
/api/partner/v1/companies/{id}/wallet/balancesGETwallet:balances:read
/api/partner/v1/companies/{id}/wallet/activityGETwallet:activity:read

توقيع Webhook

يتضمن تطبيق webhooks رأس makecrypto-signature مع الطابع الزمني وقيم توقيع v1. تحقق من حداثة الطابع الزمني، وأعد إنشاء الحمولة الموقعة كـ timestamp.rawBody، وقارن التوقيع مع سر webhook الذي يظهر مرة واحدة عند إنشاء نقطة النهاية أو تدويرها.

إدارة التطبيقات المتصلة

تظهر منح OAuth المعتمدة في لوحة معلومات الشركة ضمن Integrations -> Connected apps. يمكن لمسؤولي الشركة مراجعة حالة التطبيق وآخر وصول والنطاقات الممنوحة، ثم إلغاء الوصول عندما يتوقف اتصال الشريك عن العمل.

هل تحتاج مساعدة في إعداد الشريك؟

افتح عرض تفاصيل رابط الدفع في MakeCrypto لنسخ المقتطفات المولدة لـ payment UID حقيقي، أو عد إلى البوابة لإدارة إعدادات merchant.

فتح البوابة