Элемент TransactionRequest имеет недопустимые дочерние элементы LineItems

#javascript #json #authorize.net #accept.js

#javascript #json #authorize.net #accept.js

Вопрос:

Я пытаюсь отправить запрос на оплату для авторизации.Net с использованием Accept.js ,
Они требуют, чтобы «LineItems» выглядели следующим образом:

 "lineItems": {
    {
        "lineItem": {
            "itemId": "item1",
            "name": "item1",
            "description": "item1",
            "quantity": "1",
            "unitPrice": "10"
        }
    },
    {
        "lineItem": {
            "itemId": "item2",
            "name": "item2",
            "description": "item2",
            "quantity": "1",
            "unitPrice": "10"
        }
    }
},

  

Проблема в том, что у меня каждый элемент lineitem задан как массив,
И построение json из массива приводит к json с квадратными скобками:

 "lineItems": [
    {
        "lineItem": {
            "itemId": "item1",
            "name": "item1",
            "description": "item1",
            "quantity": "1",
            "unitPrice": "10"
        }
    },
    {
        "lineItem": {
            "itemId": "item2",
            "name": "item2",
            "description": "item2",
            "quantity": "1",
            "unitPrice": "10"
        }
    }
],
  

Которые выдают следующую ошибку:

Элемент TransactionRequest имеет недопустимые дочерние элементы LineItems,

Есть идеи, как это исправить?

Ответ №1:

Изменить:

 "lineItems": [
    {
        "lineItem": {
            "itemId": "item1",
            "name": "item1",
            "description": "item1",
            "quantity": "1",
            "unitPrice": "10"
        }
    },
    {
        "lineItem": {
            "itemId": "item2",
            "name": "item2",
            "description": "item2",
            "quantity": "1",
            "unitPrice": "10"
        }
    }
],
  

Для:

 "lineItems":
 {
    "lineItem": [
        {
            "itemId": "item1",
            "name": "item1",
            "description": "item1",
            "quantity": "1",
            "unitPrice": "10"
        },
        {
            "itemId": "item2",
            "name": "item2",
            "description": "item2",
            "quantity": "1",
            "unitPrice": "10"
        }
    ]
},
  

Комментарии:

1. Это не прошло, кажется, что им требуется слово «LineItem» перед каждым набором lineitem, вы были правы, изменив «LineItems» на фигурные скобки, теперь мой вопрос в том, как мне это сделать, я отредактирую свой вопрос с более подробной информацией.