ilich,
В ближайшее время опубликуем статью с примерами создания заказов через API.
При создании заказа, статус указывать нет смысла, потому что при создании заказа - делается тоже что и при размещении заказа через кастомерку.
Вероятно payment_id относится к стороннему пейменту (т.е. не офллайновый) и поэтому создание оредра не проходит.
Так же убедитесь что пеймент с таким payment_id существует.
Скопирую сюда кусок документации по созданию заказов:
POST /orders - Запрос на добавление заказа.
Формат запроса
Запрос следует отправлять с помощью метода POST. Данные должны приходить в теле HTTP запроса в соответствии с переданным Content-type.
{
"user_id":"3",
"payment_id":"2",
"shipping_id":"1",
"products":{
"148":{
"amount":"1"
}
}
}
Для версии ULT, если запрос выполняется от имени администратора, то заказ необходимо создавать через объект store
{
"user_id":"3",
"payment_id":"2",
"shipping_id":"1",
"products":{
"148":{
"amount":"1"
}
}
}
Тело запроса
Атрибуты следует передавать в теле запроса.
user_id (условно обязательный) Идентификатор пользователя. Параметр может быть опущен, если в запросе есть параметр user_data.
payment_id (обязательный) Идентификатор платежной системы. Платежная система должна быть доступна в магазине.
shipping_id (обязательный) Идентификатор службы доставки. Служба доставки должна быть доступна в магазине и настроена соответствующим образом для расчета стоимости доставки на передаваемый адрес.
products (обязательный) Ассоциативный массив товаров, ключами которого являются идентификаторы товаров, а значения параметрами товара в заказе.
"products": {
"241":{
"amount":"1",
"product_options":{
"12":"44",
"13":"48"
}
}
}
amount (обязательный) - Кол-во товара.
product_options (не обязательный) - Ассоциативный массив описывающий комбинацию товара, в ключах - идентификатор опции, в значении - идентификатор варианта.
user_data (не обязательный) Ассоциативный массив с описание данных покупателя.
"user_data": {
"email": "email@example.com",
"b_firstname":"John",
"b_lastname":"Doe",
"b_address":"44 Main street",
"b_city":"Boston",
"b_state":"MA",
"b_country":"US",
"b_zipcode":"02134",
"b_phone":"",
"s_firstname":"John",
"s_lastname":"Doe",
"s_address":"44 Main street",
"s_city":"Boston",
"s_state":"MA",
"s_country":"US",
"s_zipcode":"02134",
"s_phone":""
}
email (обязательный) - E-mail.
b_firstname (обязательный) - Имя плательщика.
b_lastname (обязательный) - Фамилия плательщика.
b_address (обязательный) - Адрес плательщика.
b_city (обязательный) - Город плательщика.
b_state (обязательный) - 2х символьный код штата плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> States.
b_country (обязательный) - 2х символьный код страны плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> Countries.
b_zipcode (обязательный) - Почтовый индекс плательщика.
b_phone (не обязательный) - Номер телефона плательщика.
s_firstname (обязательный) - Имя получателя.
s_lastname (обязательный) - Фамилия получателя.
s_address (обязательный) - Адрес получателя.
s_city (обязательный) - Город получателя.
s_state (обязательный) - 2х символьный код штата плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> States.
s_country (обязательный) - 2х символьный код страны плательщика. Список доступных значений можно увидеть в административном интерфейсе магазина Administration -> Shipping & taxes -> Countries.
s_zipcode (обязательный) - Почтовый индекс получателя.
s_phone (не обязательный) - Номер телефона получателя.
Параметр не будет учитываться, если в запросе есть user_id.
Формат ответа
В случае если заказ создать не удалось будет возвращен статус HTTP/1.1 400 Bad Request. В случае успеха будет возвращён статус HTTP/1.1 201 Created.
Если при создании заказа товары будут разбиты на подзаказы и в нем не будет доступен указанный метод доставки, то будет возвращен статус HTTP/1.1 400 Bad Request.