Converge API错误代码4000

时间:2018-07-31 20:30:35

标签: api axios vuex

我正在尝试发布到Converge演示API,但出现4000错误。消息为“授权请求中未提供VirtualMerchant ID。”

我正在Vuex中使用axios。由于是演示,因此我暂时尝试在Vuex上发布帖子。我将其与TLSv1.2_2018一起使用。

这是我正在使用的代码的简化版本。

    let orderDetails = {
      ssl_merchant_id:'******',
      ssl_user_id:'***********',
      ssl_pin: '****...',
      ssl_transaction_type: 'ccsale',
      ssl_amount: '5.47',
      ssl_card_number: '4124939999999990',
      ssl_cvv2cvc2: '123',
      ssl_exp_date: '1219',
      ssl_first_name: 'No Named Man',
      ssl_test_mode: true
    }

    let orderJSON = JSON.stringify(orderDetails)

    let config = {
      headers: {
        'Access-Control-Allow-Methods': 'PUT, POST, PATCH, DELETE, GET',
        'Content-Type': 'application/x-www-form-urlencoded'
      }
    }

     axios.post('https://api.demo.convergepay.com/VirtualMerchantDemo/process.do', orderJSON, config)
      .then(res => {
        console.log('res', res.data)
      })
      .catch(e => {
        console.log('e', e)
      })

有人解决了这个问题和/或能够分享一些智慧吗?

1 个答案:

答案 0 :(得分:0)

我认为您以错误的方式发送值,这就是为什么您收到缺少参数的消息的原因。 endpoing process.do希望收到一个键值对格式化请求

ssl_merchant_id=******&ssl_user_id=***********&ssl_pin=****&ssl_transaction_type=ccsale&ssl_amount=5.47&ssl_card_number=4124939999999990&ssl_cvv2cvc2=123&ssl_exp_date=1219&ssl_first_name=No Named Man&ssl_test_mode=true
  

从Converge网站(https://developer.elavon.com

     

Converge当前支持两种不同的集成方式:

     

使用process.do(用于单个事务)或processBatch.do(用于批处理文件)的键值对格式化请求,并具有以下内容   语法:ssl_name_of_field =字段值(例如:ssl_amount =   1.00)

     

     

使用processxml.do(用于单个事务)或accountxml.do(用于Admin请求)的XML格式的请求,该事务   XML语法格式的数据必须包含所有支持的事务   元素嵌套在一个开始元素和结束元素之间,   数据包含在xmldata变量中。