Applications développeur
Applications OAuth
Créez des applications partenaires, demandez un accès délégué aux entreprises et appelez les API MakeCrypto avec des jetons OAuth limités.
Portail des développeurs
Créez et gérez des applications partenaires sur https://apps.makecrypto.io. Les applications appartiennent à une société MakeCrypto et définissent les URI de redirection, les étendues OAuth autorisées, webhooks, l'icône, le contact d'assistance, la politique de confidentialité et les conditions affichées lors du consentement.
Chaque application confidentielle possède un secret client. Le secret est affiché une fois lors de sa création ou de sa rotation, puis stocké uniquement sous forme de hachage. Les applications publiques doivent utiliser PKCE et ne reçoivent pas de secret.
Code d'autorisation avec PKCE
MakeCrypto prend en charge la société déléguée OAuth pour les applications partenaires. Démarrez le flux en envoyant l'utilisateur au point de terminaison d'autorisation avec un URI de redirection enregistré exact et un défi 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
L'utilisateur choisit l'entreprise, examine les autorisations demandées et approuve ou refuse l'accès. Si l'approbation réussit, MakeCrypto redirige avec un code d'autorisation de courte durée.
Échangez le code au point de terminaison du jeton. Les clients confidentiels s'authentifient avec client_secret_basic ou client_secret_post ; les clients publics s'authentifient auprès de leur vérificateur client_id et 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
Les jetons d'accès sont des jetons au porteur JWT de courte durée. Les jetons d'actualisation tournent à chaque utilisation et la réutilisation des jetons d'actualisation révoque la famille de jetons.
Les intégrations natives officielles, telles que le plugin MakePay WordPress, n'utilisent pas le portail des développeurs ni un secret client partagé. Ils enregistrent une installation publique par magasin sur POST /oauth/native/installations, utilisent une correspondance exacte d'URI de rappel et reçoivent des jetons liés à DPoP qui doivent être envoyés avec Authorization: DPoP et un en-tête de preuve DPoP correspondant.
SDK officiels
Utilisez les SDK officiels lorsque vous souhaitez une intégration côté serveur sans créer le client HTTP, les charges utiles du lien de paiement et la vérification de la signature webhook à partir de zéro.
| SDK | Utilisez-le pour | Guide |
|---|---|---|
| MakePay PHP SDK | PHP, Laravel, Symfony, checkout personnalisé et création de liens de paiement backend. | PHP SDK |
| MakePay NPM SDK | Backends Node.js, Next.js, TypeScript et gestionnaires webhook côté serveur. | NPM SDK |
Points de terminaison
| But | Point de terminaison |
|---|---|
| Autorisation | GET /oauth/authorize |
| Échange de jetons | POST /oauth/token |
| Révocation | POST /oauth/revoke |
| Introspection | POST /oauth/introspect |
| Demande d'autorisation poussée | POST /oauth/par |
| Enregistrement de l'installation native | POST /oauth/native/installations |
| JWKS | GET /oauth/jwks.json |
| Métadonnées du serveur d'autorisation | GET /.well-known/oauth-authorization-server |
| Métadonnées de ressources protégées | GET /.well-known/oauth-protected-resource |
Portées
| Portée | Accéder |
|---|---|
company:read | Lisez l'identité de l'entreprise sélectionnée et les paramètres de base. |
wallet:balances:read | Lisez les soldes du portefeuille de l'entreprise sélectionnée. |
wallet:activity:read | Lisez l'activité du portefeuille et du règlement. |
makepay:payment-links:read | Lisez les liens de paiement MakePay et l’état du paiement. |
makepay:payment-links:write | Créez et mettez à jour les liens de paiement MakePay. |
makepay:customers:read | Lisez les dossiers clients MakePay. |
makepay:customers:write | Créez et mettez à jour les enregistrements clients MakePay. |
makepay:subscriptions:read | Lisez les enregistrements d'abonnement MakePay. |
makepay:subscriptions:write | Créez et mettez à jour des abonnements MakePay. |
makepay:settings:read | Lisez les paramètres MakePay merchant et les actifs activés. |
makepay:settings:write | Mettez à jour les paramètres du MakePay merchant et la configuration des rappels. |
makepay:webhooks:read | Lisez les points de terminaison et les journaux de livraison MakePay webhook. |
makepay:webhooks:write | Créez, mettez à jour, testez et réessayez les diffusions MakePay webhook. |
Autorisations d'itinéraire API
| Itinéraire | Méthode | Portée requise |
|---|---|---|
/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 |
Signature Webhook
L'application webhooks inclut un en-tête makecrypto-signature avec des valeurs d'horodatage et de signature v1. Vérifiez la fraîcheur de l'horodatage, reconstruisez la charge utile signée en tant que timestamp.rawBody et comparez la signature avec le secret webhook affiché une fois lors de la création ou de la rotation du point de terminaison.
Gestion des applications connectées
Les subventions OAuth approuvées sont visibles dans le tableau de bord de l'entreprise sous Integrations -> Connected apps. Les administrateurs de l'entreprise peuvent consulter l'état de l'application, le dernier accès et les étendues accordées, puis révoquer l'accès lorsqu'une connexion partenaire cesse de fonctionner.