Реквизиты из кабинета
- /business → создать магазин, коннектор Webhook / JSON.
- Webhook URL заказа — ваш HTTPS, например
https://shop.example.ru/hooks/agentpay. - Запомнить:
mk_…, UUID магазина, HMAC-секрет вебхука.
1. Загрузить каталог
POST {API}/merchant/catalog/upsert
Заголовок:
Authorization: Bearer mk_ВАШ_КЛЮЧ Content-Type: application/json
Тело (пример, 2 позиции, до 500 за запрос):
{
"storeId": "0d9ce8c7-a3a1-4b01-ac7a-ec28bcdc8f28",
"replaceMissing": false,
"products": [
{
"id": "milk-25-1l",
"sku": "milk-25-1l",
"title": "Молоко 2.5% 1л",
"price": 89,
"currency": "RUB",
"imageUrls": ["https://cdn.shop.example.ru/milk.jpg"],
"inStock": true,
"category": "dairy",
"attributes": { "brand": "Простоквашино", "fatPercent": "2.5" }
}
]
}Локально: http://localhost:3100/merchant/catalog/upsert. Скрипт пилота в репозитории: node scripts/pilot-catalog.mjs с env MERCHANT_KEY и STORE_ID.
replaceMissing: true — товары, которых нет в этой пачке, помечаются «нет в наличии», не удаляются.
Проверка: GET {API}/merchant/catalog/products с тем же Bearer — или таблица в /business.
2. Принять заказ
AgentPay шлёт POST на ваш webhook URL:
POST https://shop.example.ru/hooks/agentpay Content-Type: application/json X-AgentPay-Signature: <hmac-sha256 hex тела, секрет магазина>
{
"schemaVersion": 1,
"event": "order.created",
"order": {
"externalId": "uuid-покупки-agentpay",
"storeId": "uuid-магазина",
"currency": "coins",
"totalAmount": 89,
"items": [
{ "sku": "milk-25-1l", "name": "Молоко 2.5% 1л", "quantity": 1, "unitPrice": 89 }
]
}
}Ответьте 2xx и JSON { "ok": true, "externalOrderId": "ваш-номер-заказа" }. Иначе AgentPay повторит запрос и может вернуть коины покупателю.
3. Вернуть статус
POST {API}/merchant/orders/{uuid-покупки}/status
Authorization: Bearer mk_…
{
"status": "confirmed",
"externalOrderId": "INS-10045",
"message": "Собран"
}Статусы: submitted | confirmed | fulfilled | cancelled | failed.
Обязательные поля карточки
id, title, price, currency, imageUrls (можно пустой массив), inStock. SKU настоятельно рекомендуется — по нему собирается заказ.
OpenAPI: в репозитории docs/b2b/openapi-merchant.yaml. Поддержка: help@agentpay.shop. Все платформы.