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

Введение

Digital Distribution Hub — новое решение Иксоллы, которое соединяет электронные и физические платежи через технологию push-платежей и e-commerce.

Данная документация включает в себя описание методов API для продуктов Внутриигровой магазин и Платежи. Используется два базовых URL-адреса:

  • https://store.xsolla.com/api для групп Общие, Каталог, Корзина и Заказ.
  • https://ps.xsolla.com для группы Уведомления.

Использование методов API из группы Каталог не требует авторизации.

Чтобы использовать методы API из групп Корзина и Заказ, вам необходимо создать токен.

Примечание

Данная документация не является полностью функциональным интерфейсом и представляет собой дизайн будущего API. В настоящее время вы можете использовать только методы из групп Каталог и Уведомления. Если вы хотите поделиться обратной связью, отправьте нам письмо по адресу techdoc@xsolla.com.
Скачать описание OpenAPI
Языки
Серверы
https://store.xsolla.com/api/
Mock server
https://xsolla.redocly.app/_mock/ru/api/digital-distribution-hub/
Операции
Операции

Виртуальные предметы и валюта

Операции
Операции
Операции
Операции
Операции

Запрос

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

Безопасность
AuthForClient
Путь
project_idintegerобязательный

ID проекта.

Пример: 44056
order_idstringобязательный

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

Пример: 656
curl -i -X GET \
  https://store.xsolla.com/api/v2/project/44056/distribution_hub/order/656 \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Ответы

Успешный запрос данных о заказе.

Телоapplication/json
contentobject(Order_inline_response_200_1_content)

Детали заказа.

content.​is_freestring

Если передано значение true, заказ бесплатный.

Пример: "false"
content.​itemsArray of objects(Order_inline_response_200_1_content_items)

Список предметов.

Пример: [{"is_free":false,"price":{"amount":"30","amount_without_discount":"30","currency":"USD"},"quantity":1,"sku":"some_sku"}]
content.​items[].​is_freestring

Если передано значение true, предмет бесплатный.

Пример: "false"
content.​items[].​priceobject(Order_inline_response_200_1_content_price_1)

Стоимость предмета.

content.​items[].​price.​amountstring

Цена предмета со скидкой.

Пример: "30"
content.​items[].​price.​amount_without_discountstring

Стоимость предмета.

Пример: "30"
content.​items[].​price.​currencystring

Валюта покупки по умолчанию. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

Пример: "USD"
content.​items[].​quantityinteger

Количество этого предмета в заказе.

Пример: 1
content.​items[].​skustring

Уникальный идентификатор предмета. Артикул может содержать только строчные буквы латинского алфавита, цифры, точки, дефисы и подчеркивания.

Пример: "some_sku"
content.​priceobject(Order_inline_response_200_1_content_price)

Стоимость заказа.

content.​price.​amountstring

Величина скидки на заказ.

Пример: "30"
content.​price.​amount_without_discountstring

Стоимость заказа.

Пример: "30"
content.​price.​currencystring

Валюта покупки по умолчанию. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

Пример: "USD"
content.​virtual_priceobject(Order_inline_response_200_1_content_virtual_price)

Стоимость заказа в виртуальной валюте.

content.​virtual_price.​amountstring

Величина скидки на заказ.

Пример: "100"
content.​virtual_price.​amount_without_discountstring

Стоимость заказа.

Пример: "150"
content.​virtual_price.​currencystring

Артикул виртуальной валюты, используемый в заказе.

Пример: "test_vc"
order_idinteger

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

Пример: 1
statusstring

Статус заказа: new / paid / done / canceled.

Пример: "paid"
Ответ
application/json
{ "content": { "is_free": "false", "items": [], "price": {} }, "order_id": 1, "status": "paid" }

Создание заказа со всеми предметами из текущей корзины

Запрос

Создание заказа со всеми предметами из корзины. Созданному заказу присваивается статус new.

Безопасность
AuthForClient
Путь
project_idintegerобязательный

ID проекта.

Пример: 44056
Телоapplication/jsonобязательный

Объект с данными для создания заказа.

currencystring(Cart-Payment_settings_currency)обязательный

Предпочтительная валюта платежа. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

geotypenumberобязательный

Идентификатор партнера-дистрибьютора на стороне Иксоллы.

Пример: 13038
quantityinteger

Количество этого предмета в заказе.

Пример: 1
curl -i -X POST \
  https://store.xsolla.com/api/v2/project/44056/distribution_hub/payment/cart \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "geotype": 13038
  }'

Ответы

Заказ успешно создан.

Телоapplication/json
billing_infoobject(Order_inline_response_200_billing_info)

Платежная информация.

billing_info.​direct_taxArray of objects(Order_inline_response_200_billing_info_direct_tax)
billing_info.​direct_tax[].​amountnumber
Пример: 150
billing_info.​direct_tax[].​namestring
Пример: "TAX"
billing_info.​direct_tax[].​ratenumber
Пример: 10
billing_info.​indirect_taxArray of objects(Order_inline_response_200_billing_info_indirect_tax)
billing_info.​indirect_tax[].​amountnumber
Пример: 246.75
billing_info.​indirect_tax[].​namestring
Пример: "VAT"
billing_info.​indirect_tax[].​ratenumber
Пример: 20
billing_info.​priceobject(Order_inline_response_200_billing_info_price)
billing_info.​price.​amountnumber
Пример: 1480.45
billing_info.​price.​currencystring= 3 characters

Валюта покупки. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

Пример: "USD"
order_idinteger

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

Ответ
application/json
{ "billing_info": { "direct_taxes": [], "indirect_taxes": [], "price": {} }, "order_id": 641 }

Создание заказа со всеми предметами из определенной корзины

Запрос

Создание заказа со всеми предметами из указанной корзины. Созданному заказу присваивается статус new.

Безопасность
AuthForClient
Путь
project_idintegerобязательный

ID проекта.

Пример: 44056
cart_idstringобязательный

ID корзины.

Пример: custom_id
Телоapplication/jsonобязательный

Объект с данными для создания заказа.

currencystring(Cart-Payment_settings_currency)обязательный

Предпочтительная валюта платежа. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

geotypenumberобязательный

Идентификатор партнера-дистрибьютора на стороне Иксоллы.

Пример: 13038
quantityinteger

Количество этого предмета в заказе.

Пример: 1
curl -i -X POST \
  https://store.xsolla.com/api/v2/project/44056/distribution_hub/payment/cart/custom_id \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "geotype": 13038
  }'

Ответы

Заказ успешно создан.

Телоapplication/json
billing_infoobject(Order_inline_response_200_billing_info)

Платежная информация.

billing_info.​direct_taxArray of objects(Order_inline_response_200_billing_info_direct_tax)
billing_info.​direct_tax[].​amountnumber
Пример: 150
billing_info.​direct_tax[].​namestring
Пример: "TAX"
billing_info.​direct_tax[].​ratenumber
Пример: 10
billing_info.​indirect_taxArray of objects(Order_inline_response_200_billing_info_indirect_tax)
billing_info.​indirect_tax[].​amountnumber
Пример: 246.75
billing_info.​indirect_tax[].​namestring
Пример: "VAT"
billing_info.​indirect_tax[].​ratenumber
Пример: 20
billing_info.​priceobject(Order_inline_response_200_billing_info_price)
billing_info.​price.​amountnumber
Пример: 1480.45
billing_info.​price.​currencystring= 3 characters

Валюта покупки. Используется трехбуквенное обозначение валюты согласно стандарту ISO 4217.

Пример: "USD"
order_idinteger

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

Ответ
application/json
{ "billing_info": { "direct_taxes": [], "indirect_taxes": [], "price": {} }, "order_id": 641 }