【问题标题】:eBay Order API throwing error in sandbox environmenteBay Order API 在沙盒环境中抛出错误
【发布时间】:2018-01-24 03:25:09
【问题描述】:

在 ebay Order API -initiateCheckoutSession(客人结账)中,添加信用卡信息返回错误。我正在沙盒环境中测试。

API:https://api.sandbox.ebay.com/buy/order/v1/guest_checkout_session/initiate 请求正文:

     {
 "creditCard":
   {
     "accountHolderName": "Frank Smith",
     "cardNumber": "5100000001598174",
     "cvvNumber": "012",
     "expireMonth": 10,
     "expireYear": 2019,
     "brand": "MASTERCARD",
     "billingAddress":
     {
       "firstName": "Frank",
       "lastName": "Smith",
       "addressLine1": "3737 Any St",
       "city": "San Jose",
       "stateOrProvince": "CA",
       "postalCode": "95134",
       "country": "US"
     }
 },
   "contactEmail": "fsmith1234@anymail.com",
   "contactFirstName": "Frank",
   "contactLastName": "Smith",
   "shippingAddress": {
     "recipient": "Frank Smith",
     "phoneNumber": "617 555 1212",
     "addressLine1": "3737 Any St",
     "city": "San Jose",
     "stateOrProvince": "CA",
     "postalCode": "95134",
     "country": "US"
   },
   "lineItemInputs": [ 
     {
       "quantity": 1,
       "itemId": "v1|110188913683|0"
     }
   ]
 }

回复:

 {
     "errors": [
         {
             "errorId": 15000,
             "domain": "API_ORDER",
             "category": "APPLICATION",
             "message": "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance.",
             "parameters": [
                 {
                     "name": "code",
                     "value": "1042"
                 }
             ]
         }
     ]
 }

如果未请求信用卡详细信息,API 可以正常工作。有人可以帮忙吗?

【问题讨论】:

  • 您的请求格式似乎正确。老实说,我认为最好联系 ebay 支持。
  • 您的测试商品有运费吗?尝试为您的测试项目添加固定价格的运输选项。
  • 您好 Gonzales Gokhan,您能否就如何为商品添加固定定价选项提供建议?

标签: java json rest checkout ebay-api


【解决方案1】:

根据 eBay 订单 API 文档,您的请求负载很好,但是如果您检查客人结帐示例,他们的请求中没有信用卡对象。他们还提到,如果您在此请求中没有信用卡信息,那么您可以致电updatePaymentInfoGuest 将信用卡信息添加到结帐会话。

文档链接:

输入是买家的电子邮件、姓名和地址,以及每件商品的商品 ID 和数量。在结帐会话中,您最多可以拥有四个任意数量的单独项目。每个项目都与一个唯一的行项目相关联。或者,您可以包含买家的付款信息。如果您未在此调用中包含此信息,则可以使用 updatePaymentInfoGuest 调用将此信息添加到结帐会话中。

由于客人结帐响应没有太多关于错误的信息,我建议您尝试以下...。

  1. 在没有信用卡信息的情况下致电客人结帐 (buy/order/v1/guest_checkout_session/initiate)
  2. 使用上面的结帐会话 ID (buy/order/v1/guest_checkout_session/{checkoutSessionId}/update_payment_info) 使用信用卡信息信息调用更新付款

结帐会话请求架构:

{
  "contactEmail": "string",
  "contactFirstName": "string",
  "contactLastName": "string",
  "creditCard": {
    "accountHolderName": "string",
    "billingAddress": {
      "addressLine1": "string",
      "addressLine2": "string",
      "city": "string",
      "country": "CountryCodeEnum : [AD,AE,AF,AG,AI,AL,AM,AN,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW]",
      "county": "string",
      "firstName": "string",
      "lastName": "string",
      "postalCode": "string",
      "stateOrProvince": "string"
    },
    "brand": "string",
    "cardNumber": "string",
    "cvvNumber": "string",
    "expireMonth": "integer",
    "expireYear": "integer"
  },
  "lineItemInputs": [
    {
      "itemId": "string",
      "quantity": "integer"
    }
  ],
  "shippingAddress": {
    "addressLine1": "string",
    "addressLine2": "string",
    "city": "string",
    "country": "CountryCodeEnum : [AD,AE,AF,AG,AI,AL,AM,AN,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW]",
    "county": "string",
    "phoneNumber": "string",
    "postalCode": "string",
    "recipient": "string",
    "stateOrProvince": "string"
  }
}

更新付款信息请求架构:

{ /* UpdatePaymentInformation */
    "creditCard": { /* CreditCard */
        "accountHolderName": "string",
        "billingAddress": { /* BillingAddress */
            "addressLine1": "string",
            "addressLine2": "string",
            "city": "string",
            "country": "CountryCodeEnum : [AD,AE,AF...]",
            "county": "string",
            "firstName": "string",
            "lastName": "string",
            "postalCode": "string",
            "stateOrProvince": "string"
        },
        "brand": "string",
        "cardNumber": "string",
        "cvvNumber": "string",
        "expireMonth": "integer",
        "expireYear": "integer"
    }
}

【讨论】:

  • 您好 JRG,当请求中未提供信用卡信息时,它可以正常工作。所以我认为访问令牌是正确的。
  • 嗨 Rini,结帐 api 响应似乎没有任何有效信息,因此您应该在没有 CC 信息的情况下调用结帐 api,然后在结帐 api 调用中使用 CC 信息和 checkoutSessionId 调用 updatePaymentInfo。这应该可以解决您的问题。我已经更新了我的答案,其中包含有关 api 和包含示例的文档的链接的所有详细信息。
  • @Rini - 很酷,如果你能接受答案并投票给我的答案,我将不胜感激:)。
  • @JRG - 我遇到了同样的问题,我尝试了你的方法,不要在客人结账时传递信用卡信息。但我仍然收到“eBay 内部系统或流程存在问题。请联系 eBay 开发人员支持寻求帮助。”错误。你能提示我吗?如果您愿意,我可以提供更多详细信息。
猜你喜欢
  • 2020-04-07
  • 2017-06-19
  • 2017-03-13
  • 2014-08-23
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多