API для платежей в Steam

Официальная документация Play Wallet по API пополнения баланса Steam.

Вводная информация

Крипто API для пополнения аккаунтов Steam доступно в почти открытом формате. Это идеальное решение для трейдеров, инвесторов в Steam, игровых магазинов и других заинтересованных сторон.

Наше приложение и API уже используют множество трейдеров с сайта FunPay и несколько магазинов игр.

Что нужно для интеграции API

Чтобы пользоваться API, необходимо:

  • Иметь собственный аккаунт на криптобирже Bybit;

  • Предоставить IP-адреса ваших серверов для DEV (тестовая) и PROD (боевая) версий;

  • Предоставить электронную почту или UID от вашего аккаунта Bybit, с которого будут поступать платежи.

Как работает API

API реализовано на базе внутренних переводов ByBit через UID. Для обработки всех платежей, связанных с пополнением баланса Steam, мы официально сотрудничаем с лицензированным процессингом. Чтобы совершать транзакции через API, необходимо пройти следующие этапы интеграции:

  • Реализация DEV-версии API (тестирование и создание ордеров в тестовой среде);

  • Реализация PROD-версии API (проведение реальных операций Steam с оплатой).

Процент комиссии

Комиссии устанавливаются индивидуально и зависят от ваших будущих объемов. Свяжитесь с нами для уточнения деталей: @yspeh_pulse @holdvision.

Комиссия никогда не превышает 6%.

Ограничения

Мы не предоставляем доступ к API:

  • Компаниям, зарегистрированным на территории Российской Федерации, в связи с санкционной политикой;

  • Продуктам, которые принимают криптовалюту для пополнения баланса Steam (копиям нашего продукта).

Во всех остальных случаях мы готовы обсуждать возможности подключения к нашему API.

Мы не запрашиваем у вас и не предоставляем вам никаких юридических документов, подтверждающих наше сотрудничество. Всё осуществляется на основе вашего доверия к нашей платформе.

На текущий момент через нашу платформу прошло более 1 миллиона долларов платежей в Steam.

Отказ

Мы оставляем за собой право отказать в сотрудничестве без объяснения причин.

Если будут нарушены условия нашего соглашения, мы немедленно прекратим работу с вами.

Процесс интеграции API

Реализация тестовой среды API

  1. Свяжитесь с нами, чтобы мы могли создать общий чат в Telegram. На каждом этапе мы будем поддерживать вас и помогать решать любые вопросы и проблемы. Свяжитесь с нами через Telegram: @yspeh_pulse или @holdvision.

  2. Предоставьте нам IP-адрес вашего сервера для тестирования DEV-версии API и адрес электронной почты, связанный с вашим аккаунтом Bybit. Мы предоставим вам API-ключ мерчанта (токен), создадим ваш личный кабинет и настроим процент комиссии.

  3. Реализуйте интеграцию тестового API, чтобы избежать ошибок, которые могут возникнуть в продакшн-версии. При интеграции тестовой версии API вам не нужно пополнять баланс или оплачивать ордера. Главная задача — убедиться, что на все API-запросы приходят корректные ответы без ошибок.

  4. После успешного завершения интеграции тестовой версии вы можете приступить к внедрению продакшн-версии API.

Внедрение рабочей версии API

После успешной интеграции тестовой версии (DEV) вы можете запросить токен для продакшн-версии API, чтобы приступить к созданию реальных ордеров в Steam. Мы предоставим вам:

  • Токен для продакшн-версии;

  • URL для продакшн-версии.

Если вы хотите сменить IP-адрес сервера для продакшн-версии, пожалуйста, предоставьте нам новый IP-адрес.

Вы можете использовать один и тот же IP-адрес сервера как для продакшн, так и для тестовой среды.

Пополнение баланса для создания ордеров через API

Когда вы убедитесь, что продакшн-версия полностью готова, вы можете приступить к отправке реальных ордеров. Однако перед этим необходимо пополнить баланс.

Отправьте с указанного вами аккаунта Bybit сумму более 1 USDT через внутренний перевод на наш аккаунт. Таким образом, вы будете пополнять баланс каждый раз, когда он будет заканчиваться.

Данные нашего аккаунта Bybit:

  • UID: 137323163

Инструкция по внутреннему переводу на Bybit по UID

  1. Войдите в свой аккаунт Bybit (аккаунт должен быть зарегистрирован на ту электронную почту, которую вы предоставили нам ранее).

  2. Наведите курсор на свой профиль Bybit и нажмите «Вывести».

  1. Выберите и введите следующие данные: - Монета: USDT - Вывести на: Внутренний перевод - Аккаунт назначения: UID - 137323163 - Укажите сумму вывода и нажмите «Подтвердить» После этого в течение минуты средства поступят на ваш баланс API, и вы сможете приступить к созданию ордеров в Steam.

Если вы допустили ошибку при отправке ордера, например, указали неправильную монету, напишите нам, и мы вернем вам средства. Однако, если вы указали неправильный UID, мы не сможем вам помочь. В этом случае обратитесь в службу поддержки ByBit.

Код

Authorization

Все запросы к API должны быть авторизованы с использованием API-ключа, который передается через заголовок . Клиентский IP должен быть в списке разрешенных IP-адресов для данного мерчанта.

https://dev.merchant.playwallet.bot/api/merchant/


GET /get-balance

Получение баланса мерчанта. А также списка доступных сервисов для оплаты.

Заголовки:

  • pw-api-key: API-ключ мерчанта.

Пример ответа:

{
    "status": "success",
    "message": "",
    "data": {
        "balance": "0.00",
        "frozenBalance": "0.00",
        "feeRatio": "0.0600",
        "services": [
            {
                "id": "657878cd-fd6c-486c-bd67-8a5960b63afb",
                "name": "test",
                "minAmount": "0.25",
                "maxAmount": "200.00"
            }
        ]
    }
}

POST /create-order/

Создание заказа.

Заголовки:

  • pw_api_key: API-ключ мерчанта.

Тело запроса:

  • externalId: Уникальный идентификатор заказа, предоставленный клиентом. Используется для связи заказа с внешней системой клиента.

  • serviceId: Идентификатор услуги, которую клиент хочет заказать. Должен соответствовать одной из услуг, доступных в системе.

  • amount: Сумма заказа в валюте, установленной для мерчанта. Должна быть представлена в виде строки с двумя десятичными знаками.

  • login: Логин пользователя, для которого создается заказ.

{
  "externalId": "ext-12345",
  "serviceId": "657878cd-fd6c-486c-bd67-8a5960b63afb",
  "amount": "150.00",
  "login": "user123"
}

Пример ответа:

{
    "status": "success",
    "message": "",
    "data": {
        "id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
        "status": "queued",
        "externalId": "7",
        "serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
        "amount": "1.00",
        "amountFee": "0.03",
        "feeRatio": "0.03",
        "createdDateTime": "2024-04-18T17:36:55.453116",
        "expiredDateTime": "2024-04-18T17:46:55.453069",
        "completedDateTime": null
    }
}

POST /pay-order

Оплата созданного заказа.

Заголовки:

  • pw_api_key: API-ключ мерчанта.

Тело запроса:

  • Идентификатор заказа (id): "72cf5503-ae6a-45af-97b8-aae3a0731687"

  • Время создания заказа (createdDateTime): "2024-04-18T17:36:55.453116"

  • Конкатенация: "72cf5503-ae6a-45af-97b8-aae3a07316872024-04-18T17:36:55.453116"

Применение SHA-512 к конкатенации: SHA512("72cf5503-ae6a-45af-97b8-aae3a07316872024-04-18T17:36:55.453116")

Результат: Хеш-строка, представляющая токен. - db8e5992e47c48b46f59ecdd1789cc525f4061a52fbf8200dbdab4bc0929de9cf2f61bd8725314440c498a694176b06a2faec22776be4dc8123fffee14b027a5

Примечание: Клиент должен самостоятельно сгенерировать токен на своей стороне и передать его в теле запроса при оплате заказа.

*На dev окружение не связанно с реальными платежами. Также на dev окружение при оплате на сумму не равную 1$ ордер закроется как ошибка, при сумме равной 1$ ордер должен закрыться как успешный.

{
  "id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
  "externalId": "ext-12345",
  "token": "db8e5992e47c48b46f59ecdd1789cc525f4061a52fbf8200dbdab4bc0929de9cf2f61bd8725314440c498a694176b06a2faec22776be4dc8123fffee14b027a5"
}

Пример ответа:

{
    "status": "success",
    "message": "",
    "data": {
        "id": "b8509f61-17fd-4578-8529-7bfb29f14d39",
        "status": "queued",
        "externalId": "ext-12345",
        "serviceId": "cc3848b1-f50b-4f4d-82d3-af32fe4ba35c",
        "amount": "150.00",
        "amountFee": "0.00",
        "feeRatio": "0.00",
        "createdDateTime": "2024-04-16T03:07:16.739351",
        "expiredDateTime": "2024-04-16T03:34:14",
        "completedDateTime": null
    }
}

GET /get-order/{id}

Получение статуса заказа.

Заголовки:

  • pw_api_key: API-ключ мерчанта.

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

  • id: Идентификатор заказа.

Пример ответа:

{
    "status": "success",
    "message": "",
    "data": {
        "id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
        "status": "completed",
        "externalId": "7",
        "serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
        "amount": "1.00",
        "amountFee": "0.03",
        "feeRatio": "0.03",
        "createdDateTime": "2024-04-18T17:36:55.453116",
        "expiredDateTime": "2024-04-18T17:46:55.453069",
        "completedDateTime": "2024-04-18T17:44:31.974430"
    }
}

GET /get-order-list/

Получение истории заказов мерчанта.

Заголовки:

  • pw_api_key: API-ключ мерчанта.

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

  • offset: Смещение начала списка (по умолчанию 0).

  • limit: Количество возвращаемых заказов (по умолчанию 10).

Пример ответа:

{
    "status": "success",
    "message": "",
    "data": [
       
        {
            "id": "8ca9e0bf-b45b-43c4-acb2-93f467b1760e",
            "status": "active",
            "externalId": "6",
            "serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
            "amount": "1.00",
            "amountFee": "0.03",
            "feeRatio": "0.03",
            "createdDateTime": "2024-04-18T17:33:13.510839",
            "expiredDateTime": "2024-04-18T17:43:13.510798",
            "completedDateTime": null
        },
        {
            "id": "72cf5503-ae6a-45af-97b8-aae3a0731687",
            "status": "completed",
            "externalId": "7",
            "serviceId": "ff71c998-14be-4e3d-8ad3-0ffc8357265b",
            "amount": "1.00",
            "amountFee": "0.03",
            "feeRatio": "0.03",
            "createdDateTime": "2024-04-18T17:36:55.453116",
            "expiredDateTime": "2024-04-18T17:46:55.453069",
            "completedDateTime": "2024-04-18T17:44:31.974430"
        }
    ]
}

Статусы ордеров

  • active - ожидает подтверждения оплаты

  • queued - Находиться в очереди на выполнение

  • completed - Успешно выполнен

  • error - Ошибка выполнения, означает что ордер не оплатился, соотвественно списаний со счета за такой ордер нет

Last updated