تطبيقات المطورين
تطبيقات 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 SDK | PHP، و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-links | GET | makepay:payment-links:read |
/api/partner/v1/makepay/payment-links | POST | makepay:payment-links:write |
/api/partner/v1/makepay/customers | GET | makepay:customers:read |
/api/partner/v1/makepay/customers | POST | makepay:customers:write |
/api/partner/v1/makepay/subscriptions | GET | makepay:subscriptions:read |
/api/partner/v1/makepay/subscriptions | POST | makepay:subscriptions:write |
/api/partner/v1/makepay/settings | GET | makepay:settings:read |
/api/partner/v1/makepay/settings | PUT | makepay:settings:write |
/api/partner/v1/makepay/webhook-requests | GET | makepay:webhooks:read |
/api/partner/v1/companies/{id}/wallet/balances | GET | wallet:balances:read |
/api/partner/v1/companies/{id}/wallet/activity | GET | wallet:activity:read |
توقيع Webhook
يتضمن تطبيق webhooks رأس makecrypto-signature مع الطابع الزمني وقيم توقيع v1. تحقق من حداثة الطابع الزمني، وأعد إنشاء الحمولة الموقعة كـ timestamp.rawBody، وقارن التوقيع مع سر webhook الذي يظهر مرة واحدة عند إنشاء نقطة النهاية أو تدويرها.
إدارة التطبيقات المتصلة
تظهر منح OAuth المعتمدة في لوحة معلومات الشركة ضمن Integrations -> Connected apps. يمكن لمسؤولي الشركة مراجعة حالة التطبيق وآخر وصول والنطاقات الممنوحة، ثم إلغاء الوصول عندما يتوقف اتصال الشريك عن العمل.