Управление магазинами
Магазины (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_id | string | Да | ID проекта |
store_id | string | Нет | Кастомный ID магазина (генерируется автоматически если не указан) |
store_type | string | Да | Тип магазина: iap, web, custom |
is_sandbox | boolean | Нет | Флаг тестового окружения (по умолчанию false) |
status | string | Нет | Статус магазина |
store_config | object | Нет | Дополнительная конфигурация магазина |
Успешный ответ (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_id | string | Уникальный идентификатор магазина |
project_id | string | ID проекта |
store_type | string | Тип магазина |
is_sandbox | boolean | Флаг тестового окружения |
status | string | Статус магазина |
store_config | object | Конфигурация магазина |
Возможные ошибки
- 400 Bad Request - неверные параметры запроса
- 401 Unauthorized - неверный или отсутствующий x-account-key
- 500 Internal Server Error - внутренняя ошибка сервера
Типы магазинов
| Тип | Описание |
|---|---|
iap | In-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 зависит от типа магазина:
Общие параметры
| Параметр | Тип | Описание |
|---|---|---|
currency | string | Валюта по умолчанию |
webhook_enabled | boolean | Включить вебхуки |
webhook_url | string | URL для вебхуков |
Параметры для Web
| Параметр | Тип | Описание |
|---|---|---|
payment_methods | array | Доступные методы оплаты |
return_url | string | URL после успешной оплаты |
cancel_url | string | URL при отмене оплаты |
Параметры для IAP
| Параметр | Тип | Описание |
|---|---|---|
platform | string | Платформа (google_play, app_store, epic_game_store, steam) |
bundle_id | string | Bundle ID приложения |
shared_secret | string | Shared secret для валидации |
В настоящее время поддерживается только платформа "google_play"