簡體   English   中英

在Angular對象中需要用於支付網關的相同鍵

[英]Need Identical keys in Angular object for payment gateway

我正在AngularJS中構建一個應用程序。 我需要通過Authorize.net網關發送交易數據:

API文檔: http : //developer.authorize.net/api/reference/

我無法發送的交易的唯一部分是lineItems,其中列出了購買中的各個項目。 看起來像這樣:

"lineItems": {
    "lineItem": {
        "itemId": "1",
        "name": "Plates",
        "description": "Red Dinnetware Plates",
        "quantity": "18",
        "unitPrice": "45.00"
    },
    "lineItem": {
        "itemId": "2",
        "name": "Cup",
        "description": "Plastic Cups",
        "quantity": "3",
        "unitPrice": "5.00"
    }
},

據我所知,除非在對象內部,否則無法在對象中具有多個相同的鍵。 不幸的是,如果Authorize.net網關看到一個數組[],它將踢回一個錯誤。 我嘗試將lineItems編碼為JSON字符串(angular.toJson),但是當放置在對象中時,它將在$ http()發布期間再次將對象重新編碼為Json並插入引號,而不是使用格式正確的Json 。

有任何想法嗎?

示例代碼非常清楚:

var lineItem_id1 = new ApiContracts.LineItemType();
lineItem_id1.setItemId('1');
lineItem_id1.setName('vase');
lineItem_id1.setDescription('cannes logo');
lineItem_id1.setQuantity('18');
lineItem_id1.setUnitPrice(45.00);

var lineItem_id2 = new ApiContracts.LineItemType();
lineItem_id2.setItemId('2');
lineItem_id2.setName('vase2');
lineItem_id2.setDescription('cannes logo2');
lineItem_id2.setQuantity('28');
lineItem_id2.setUnitPrice('25.00');

var lineItemList = [];
lineItemList.push(lineItem_id1);
lineItemList.push(lineItem_id2);

lineItemListlineItem對象的數組。

對於試圖找出Authorize.Net的lineItems的正確JSON格式的其他人,這里就是。 我花了幾個小時試圖在網上沒有運氣的例子。 我終於通過反復試驗使它起作用。

首先,名稱元素是必需的,但描述不是必需的。 項目名稱限制為31個字符。 我所做的工作使用了通用名稱(例如“訂單商品”),然后將實際說明放在description元素中。 lineItem元素是實際數組。 現在是格式示例:

"lineItems": {
    "lineItem": [
        {
            "itemId": "1",
            "name": "Plates",
            "description": "Red Dinnetware Plates",
            "quantity": "18",
            "unitPrice": "45.00"
        },
        {
            "itemId": "2",
            "name": "Cup",
            "description": "Plastic Cups",
            "quantity": "3",
            "unitPrice": "5.00"
        }
    ]
},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM