Json 如何将authorize.net集成到wix页面?

Json 如何将authorize.net集成到wix页面?,json,api,payment,authorize.net,velo,Json,Api,Payment,Authorize.net,Velo,我正在使用authorize.net的沙盒API在我的wix(corvid/code)环境中测试他们的网关。有趣的是,当我向沙盒API发送JSON时,我得到了一个有效的JSON响应,批准了(伪造的)事务。然而,当我通过wix设置它时,我的控制台中会出现数据错误。我已经建立在现有文件的基础上,我已经能够运行基本的API响应,以及更高级的带有令牌响应的身份验证。所以代码是有效的,只是不适用于authorize.net。鉴于我的专业水平,我认为这可能是我做错了什么。我已经做了尽职调查,在这个话题上没有

我正在使用authorize.net的沙盒API在我的wix(corvid/code)环境中测试他们的网关。有趣的是,当我向沙盒API发送JSON时,我得到了一个有效的JSON响应,批准了(伪造的)事务。然而,当我通过wix设置它时,我的控制台中会出现数据错误。我已经建立在现有文件的基础上,我已经能够运行基本的API响应,以及更高级的带有令牌响应的身份验证。所以代码是有效的,只是不适用于authorize.net。鉴于我的专业水平,我认为这可能是我做错了什么。我已经做了尽职调查,在这个话题上没有问题。这是我的密码:

///front end, from the corvid page's code
import {buyIt} from 'backend/authorizeNet';       

export function button1_click(event) {
        buyIt();
}
非常基本,只需从后端onClick调用代码。文件路径是正确的。以下是后端上的模块:

////       backend/authorizeNet.jsw
import {fetch} from 'wix-fetch';  

export function buyIt() {

  let data = {
        "createTransactionRequest": {
        "merchantAuthentication": {
        "name": "***************",
        "transactionKey": "****************"
        },
        "refId": "123456",
        "transactionRequest": {
        "transactionType": "authCaptureTransaction",
        "amount": "5",
        "payment": {
            "creditCard": {
            "cardNumber": "5424000000000015",
            "expirationDate": "2020-12",
            "cardCode": "999"
            }
        },
        "lineItems": {
            "lineItem": {
            "itemId": "1",
            "name": "vase",
            "description": "Cannes logo",
            "quantity": "18",
            "unitPrice": "45.00"
            }
        },
        "tax": {
            "amount": "4.26",
            "name": "level2 tax name",
            "description": "level2 tax"
        },
        "duty": {
            "amount": "8.55",
            "name": "duty name",
            "description": "duty description"
        },
        "shipping": {
            "amount": "4.26",
            "name": "level2 tax name",
            "description": "level2 tax"
        },
        "poNumber": "456654",
        "customer": {
            "id": "99999456654"
        },
        "billTo": {
            "firstName": "Ellen",
            "lastName": "Johnson",
            "company": "Souveniropolis",
            "address": "14 Main Street",
            "city": "Pecan Springs",
            "state": "TX",
            "zip": "44628",
            "country": "USA"
        },
        "shipTo": {
            "firstName": "China",
            "lastName": "Bayles",
            "company": "Thyme for Tea",
            "address": "12 Main Street",
            "city": "Pecan Springs",
            "state": "TX",
            "zip": "44628",
            "country": "USA"
        },
        "customerIP": "192.168.1.1",
        "transactionSettings": {
            "setting": {
            "settingName": "testRequest",
            "settingValue": "false"
            }
        },
        "userFields": {
            "userField": [
            {
                "name": "MerchantDefinedFieldName1",
                "value": "MerchantDefinedFieldValue1"
            },
            {
                "name": "favorite_color",
                "value": "blue"
            }
            ]
        }
        }
    }
  }

  return fetch("https://test.authorize.net/xml/v1/request.api", {
    "method": "post", 
    "headers": {"Content-Type": "application/json"}, 
    "body": data
  })
  .then(response => {console.log(response.json())});///if response.text is used, it gives details

}
注意,在后端代码的末尾,调用response.json会给我一个json错误,因为返回代码包含HTML,表示我请求了无效数据。如果我将其更改为response.text,我会在控制台中看到:

//console response with response.text
{...}
isFulfilled: 
true
isRejected: 
false
fulfillmentValue: 
"<HTML><HEAD>\n<TITLE>Bad Request</TITLE>\n</HEAD><BODY>\n<H1>Bad Request</H1>\nYour browser sent a request that this server could not understand.<P>\nReference&#32;&#35;7&#46;1d60fea5&#46;1557756725&#46;387c74\n</BODY>\n</HTML>\n"
//控制台响应带有response.text
{...}
我满足了:
真的
被逐出:
假的
完成值:
“\nBad Request\n\nBad Request\n您的浏览器发送了一个此服务器无法理解的请求。

\n参考 ;#;7.;1d60fea5.;1557756725.;387c74\n\n”

如何从API获得良好的响应?就像我在《邮递员》中用同样的代码做的一样

提前谢谢

return fetch(url, {
    method: "post", 
    headers: {"Content-Type": "application/json"}, 
    body: JSON.stringify(data)
  })

  .then(response => console.log(response.text())
  )
这让我得到了我想要的结果

stringify()将我的对象转换为JSON字符串。我仍然无法让它读取传入的JSON,可能必须使用parse…但是如果我以文本形式读取,我会得到我想要的信息,并且我的API显示了一个成功的事务