【问题标题】:Converge API Error Code 4000收敛 API 错误代码 4000
【发布时间】:2018-07-31 20:30:35
【问题描述】:

我正在尝试 POST 到 Converge Demo API,但收到 4000 错误。消息是“授权请求中未提供 VirtualMerchant ID。”

我在 Vuex 中使用 axios。因为它是演示版,所以我现在正在尝试从 Vuex 发布帖子。我用 TLSv1.2_2018 把它扔到 https 上。

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

    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)
      })

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

【问题讨论】:

    标签: api axios vuex


    【解决方案1】:

    我认为您以错误的方式发送值,这就是您收到缺少参数消息的原因。 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 变量中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-08
      • 2016-08-12
      • 2023-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 2015-03-24
      相关资源
      最近更新 更多