无法在2checkout上获得授权

时间:2017-05-16 20:53:14

标签: node.js 2checkout

我正在尝试在2checkout沙箱上授权订单,它工作正常,但突然停止了。现在我总是得到:

  

付款授权失败:请验证您的信息并尝试   再次,或尝试其他付款方式。

var tco = new Twocheckout({
    sellerId: "1234456688", //on my code I am sending my true seller id                                  
    privateKey: "XXXXXXX-XXXXXX-XXXXXX", //on my code I am sending my key                              
    sandbox: true
  });

  var plan = SubscriptionService.getPlan(req.body.plan);
  if(plan) {

    var params = {
      "merchantOrderId": new Date().valueOf()+"",
      "token": req.body.token,
      "currency": "USD",
      "tangible": "N",
      "lineItems": [
        {
          "name": plan.name,
          "price": plan.price,
          "type": "product",
          "quantity": "1",
          "productId": plan.id,
          "recurrence": "1 Month",
          "duration": "Forever",
          "description": ""
        }],
      "billingAddr": {
        "name": req.body.ccName,
        "addrLine1": req.body.streetAddress,
        "city": req.body.city,
        "state": req.body.state,
        "zipCode": req.body.zip,
        "country": req.body.country,
        "email": req.user.email,
        "phoneNumber": "5555555555"
      }
    };


    tco.checkout.authorize(params, function (error, data) {
      if (error) {
        res.send(error);
      } else {
        res.send(data.response);
      }
    });
  }
}

这是我发送的json的例子

{ merchantOrderId: '1494967223074',
  token: 'ZTFiNmFkMjktZWNmMi00NjlhLWE0MDAtZmJkMGJlYjU5M2Q1',
  currency: 'USD',
  tangible: 'N',
  lineItems:
   [ { name: 'pro plan',
       price: '149.00',
       type: 'product',
       quantity: '1',
       productId: '002',
       recurrence: '1 Month',
       duration: 'Forever',
       description: '' } ],
  billingAddr:
   { name: 'Testing Tester',
     addrLine1: '123 Main Street',
     city: 'Townsville',
     state: 'ohio',
     zipCode: '43206',
     country: 'USA',
     email: 'victor.eloy@landmarkwebteam.com',
     phoneNumber: '55555555' } }

如果我转到我的帐户>>站点管理并将demo设置为true我设法从沙箱中获取授权,但订单不会记录到沙箱中。以前甚至在演示模式关闭时我设法获得授权的订单,但现在我不知道发生了什么。

来自一个订单的日志: enter image description here

2 个答案:

答案 0 :(得分:1)

我有完全相同的问题。就在4天前,代码工作正常。我假设它来自2checkout而不是我们的代码......

答案 1 :(得分:0)

我只能看到你试图解析

"zipCode": req.body.zip

但是你要发送

 zipCode: '43206'

我认为应将其解析为req.body.zipCode