Разработчикам/Запуск
Sandbox
Sandbox — это отдельная тестовая копия CardV. В ней можно разработать и проверить интеграцию без настоящих денег и настоящих товаров.
См. также: README · Аутентификация
| Live | Sandbox | |
|---|---|---|
| Базовый URL API | https://b2b.cardv.net/api/v1 | https://sandbox.cardv.net/api/v1 |
| Личный кабинет | https://b2b.cardv.net/portal/ | Тот же кабинет, переключитесь на Sandbox |
#Как получить доступ
- Сначала CardV должен одобрить вашу компанию.
- Войдите в личный кабинет и выберите Sandbox в верхней панели. Войти в Sandbox напрямую нельзя.
- При первом входе CardV создаёт вам аккаунт в Sandbox. У него тот же Merchant ID и 1 000 USD тестовых денег.
- В Sandbox Owner создаёт и открывает API-ключ для Sandbox. Ключи от Live здесь не работают.
- По желанию настройте вебхук для Sandbox. У него свой секрет подписи.
#Что в Sandbox отдельное
- У Sandbox свои ключи, кошелёк, заказы, вебхуки, список разрешённых IP и журнал аудита.
- Настройки не переносятся. Ключи, вебхуки и список разрешённых IP настраивайте в каждой среде отдельно.
- Заказы в Sandbox никогда не покупают настоящие товары. Тестовые коды активировать нельзя.
- Тестовые деньги ничего не стоят. В Sandbox нельзя пополнить кошелёк, вывести деньги или перевести их в Live.
- Если тестовые деньги закончились, попросите ещё у поддержки CardV.
#Тестовые деньги
Заказы расходуют тестовые деньги точно так же, как в Live расходуются настоящие. Деньги за неудачные тестовые заказы возвращаются так же. Движение тестовых денег видно на странице операций в кабинете.
#Тестовый каталог
- Каталог Sandbox небольшой, в нём только тестовые товары.
- ID товаров отличаются от Live. Всегда ищите их через
GET/skusв Sandbox. - Никогда не переносите ID из Sandbox в настройки Live и наоборот.
- Цены, наличие и скорость выдачи в Sandbox не такие, как в Live.
#Чек-лист тестирования
-
GET/accountпоказывает ваш Merchant ID и"api_access_enabled": true. -
GET/balanceработает. - Вы умеете листать страницы
GET/skusи заказываете только товары со статусомavailable. - Подписанный заказ проходит. Заказ с неверной подписью получает HTTP 403.
- Вы передаёте
expected_unit_priceв каждой строке заказа. - Заказ товара с диапазоном и полем
amountпроходит (если такой товар есть в Sandbox). - Повторная отправка того же заказа (новый nonce, то же тело и тот же номер заказа)
возвращает HTTP 200 с тем же
order_id. Деньги списываются только один раз. - Тот же номер заказа с другим телом возвращает HTTP 400 с ошибкой
external_order_id. - После тайм-аута ваш код повторно отправляет тот же заказ, а не придумывает новый номер.
- Вы читаете
deliveries[].display_fieldsи передаёте их покупателю. - Вы обрабатываете
failed,refundedиpartially_succeeded. - Ваш код для вебхуков проходит тестовый пример, а затем настоящий вебхук из Sandbox. Дубликаты пропускаются.
- После HTTP 429 вы ждёте столько, сколько указано в
Retry-After. - В ваших логах нет API-ключей, подписей, кодов и данных аккаунтов покупателей.
#Чек-лист перед запуском
- Создайте API-ключ Live в кабинете Live. Сохраните его в рабочем хранилище секретов.
- Поменяйте в настройках базовый URL на
https://b2b.cardv.net/api/v1. - Загрузите каталог Live и сопоставьте свои товары с ID товаров в Live.
- Пополните кошелёк Live в кабинете. Настройте оповещение о низком балансе.
- По желанию добавьте IP своих серверов в список разрешённых IP для Live.
- Настройте вебхук для Live и установите у себя его секрет подписи.
- Уточните у CardV свои лимиты на заказы и лимит запросов.
- Оформите один небольшой заказ в Live. Проверьте списание, коды и вебхук. Затем увеличивайте нагрузку постепенно.
- Каждый день сверяйтесь по странице операций и выгрузкам в кабинете.
- Включите двухэтапную проверку для всех Owner.
#Решение проблем
HTTP 403 error code: 1010
Сервер Sandbox находится за сетевым сервисом защиты. Некоторые HTTP-клиенты получают HTTP 403
с простым текстом error code: 1010. Запрос при этом не доходит до CardV,
поэтому замена ключа или подписи не поможет.
- Укажите понятный
User-Agent. - Если ошибка не уходит, сообщите в поддержку CardV IP своего сервера,
User-Agentи время. - Ни в коем случае не переходите вместо этого на тестирование в Live.
Вопросы по интеграции? Напишите на [email protected], указав ваш Merchant ID и ID заказа или запроса.