Перейти к основному содержимому

Управление магазинами

Магазины (Stores) в Rock Rim API представляют собой конфигурации платежных провайдеров для вашего проекта.

Создание магазина

POST /api/v1/stores

Создает новую конфигурацию магазина для проекта.

Требуется авторизация: x-account-key

Запрос

POST /api/v1/stores HTTP/1.1
Host: API_HOST
x-account-key: YOUR_ACCOUNT_KEY
Content-Type: application/json

{
"project_id": "proj_abc123xyz",
"store_id": "store_xyz789",
"store_type": "web",
"is_sandbox": false,
"status": "active",
"store_config": {
"currency": "USD",
"payment_methods": ["card", "paypal"],
"webhook_enabled": true
}
}

Параметры запроса

ПараметрТипОбязательныйОписание
project_idstringДаID проекта
store_idstringНетКастомный ID магазина (генерируется автоматически если не указан)
store_typestringДаТип магазина: iap, web, custom
is_sandboxbooleanНетФлаг тестового окружения (по умолчанию false)
statusstringНетСтатус магазина
store_configobjectНетДополнительная конфигурация магазина

Успешный ответ (200 OK)

{
"store_id": "store_xyz789",
"project_id": "proj_abc123xyz",
"store_type": "web",
"is_sandbox": false,
"status": "active",
"store_config": {
"currency": "USD",
"payment_methods": ["card", "paypal"],
"webhook_enabled": true
}
}

Параметры ответа

ПараметрТипОписание
store_idstringУникальный идентификатор магазина
project_idstringID проекта
store_typestringТип магазина
is_sandboxbooleanФлаг тестового окружения
statusstringСтатус магазина
store_configobjectКонфигурация магазина

Возможные ошибки

  • 400 Bad Request - неверные параметры запроса
  • 401 Unauthorized - неверный или отсутствующий x-account-key
  • 500 Internal Server Error - внутренняя ошибка сервера

Типы магазинов

ТипОписание
iapIn-App Purchase (Apple App Store, Google Play)
webВеб-платежи (карты, PayPal и др.)
customКастомная интеграция

IAP (In-App Purchase)

Для мобильных приложений с встроенными покупками:

{
"store_type": "iap",
"store_config": {
"platform": "ios",
"bundle_id": "com.example.app",
"shared_secret": "xxx"
}
}

Web

Для веб-платежей:

{
"store_type": "web",
"store_config": {
"currency": "USD",
"payment_methods": ["card", "paypal", "apple_pay"],
"return_url": "https://example.com/success",
"cancel_url": "https://example.com/cancel"
}
}

Custom

Для кастомных интеграций:

{
"store_type": "custom",
"store_config": {
"provider": "custom_provider",
"api_key": "xxx",
"webhook_url": "https://example.com/webhooks"
}
}

Sandbox режим

Для тестирования используйте is_sandbox: true:

{
"project_id": "proj_abc123xyz",
"store_type": "web",
"is_sandbox": true,
"store_config": {
"test_mode": true
}
}

Особенности sandbox режима

  • Платежи не списываются реально
  • Можно использовать тестовые карты
  • Отдельное окружение от production
  • Идеально для разработки и тестирования

В настоящее время мы рекомендуем использовать тестовый стенд для тестирования вместо sandbox режима

Подробнее


Конфигурация магазина

Поле store_config зависит от типа магазина:

Общие параметры

ПараметрТипОписание
currencystringВалюта по умолчанию
webhook_enabledbooleanВключить вебхуки
webhook_urlstringURL для вебхуков

Параметры для Web

ПараметрТипОписание
payment_methodsarrayДоступные методы оплаты
return_urlstringURL после успешной оплаты
cancel_urlstringURL при отмене оплаты

Параметры для IAP

ПараметрТипОписание
platformstringПлатформа (google_play, app_store, epic_game_store, steam)
bundle_idstringBundle ID приложения
shared_secretstringShared secret для валидации

В настоящее время поддерживается только платформа "google_play"


Связанные разделы