Приложения разработчика

OAuth-приложения

Создавайте приложения partner, запрашивайте делегированный доступ к компаниям и вызывайте API-интерфейсы MakeCrypto с ограниченными токенами OAuth.

Портал разработчиков

Создавайте приложения partner и управляйте ими в https://apps.makecrypto.io. Приложения принадлежат компании MakeCrypto и определяют URI перенаправления, разрешенные области OAuth, webhooks, значок, контакт службы поддержки, политику конфиденциальности и условия, отображаемые во время согласия.

Каждое конфиденциальное приложение имеет секрет клиента. Секрет отображается один раз при его создании или ротации, а затем сохраняется только в виде хеша. Публичные приложения должны использовать PKCE и не получать секретности.

Код авторизации с PKCE

MakeCrypto поддерживает корпоративное делегирование OAuth для приложений partner. Запускает поток, отправляя пользователя в конечную точку авторизации с точным зарегистрированным 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

Используйте официальный SDK, если вам нужна интеграция на стороне сервера без создания HTTP-клиента, полезных данных платежных ссылок и проверки подписи webhooks с нуля.

SDKИспользоватьГид
SDK PHP MakePayPHP, Laravel, Symfony, собственный checkout и создание платных ссылок на бэкэнде.SDK PHP
SDK MakePay НПМNode.js, Next.js, серверные части TypeScript и серверные обработчики webhooks.SDK NPM

Конечные точки

ЦельКонечная точка
АвторизацияGET /oauth/authorize
Обмен токеновPOST /oauth/token
отзывPOST /oauth/revoke
СамоанализPOST /oauth/introspect
Отправленный запрос на авторизациюPOST /oauth/par
Родной журнал установкиPOST /oauth/native/installations
JWKSGET /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Прочтите настройки merchant MakePay и включенные ресурсы.
makepay:settings:writeОбновите настройки merchant MakePay и конфигурацию обратного вызова.
makepay:webhooks:readПрочтите конечные точки webhook MakePay и журналы доставки.
makepay:webhooks:writeСоздайте, обновите, протестируйте и повторите доставку webhook MakePay.

Разрешения на маршрут 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

Подпись webhooks

Сообщения webhooks приложения включают заголовок makecrypto-signature с меткой времени v1 и значениями подписи. Проверяет актуальность метки времени, перестраивает payload, подписанный как timestamp.rawBody, и сравнивает подпись с секретом webhook, отображаемым один раз при создании или смене конечной точки.

Управление подключенными приложениями

Утвержденные гранты OAuth отображаются на информационной панели компании под Integrations -> Connected apps. Администраторы предприятия могут просматривать состояние приложения, последний доступ и предоставленные области, а также отзывать доступ, когда соединение partner необходимо отключить.

Нужна помощь с настройкой партнера?

Откройте страницу деталей платежной ссылки в MakeCrypto, чтобы скопировать сгенерированные фрагменты для реального payment UID, или вернитесь в портал для управления настройками merchant.

Открыть портал