Ошибка создания API заказа eBay в среде песочницы

В ebay Order API - initiateCheckoutSession (guest checkout), добавление информации о кредитной карте возвращает ошибку. Я тестирую в среде песочницы.

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 работает нормально, если данные кредитной карты не запрашиваются. Может ли кто-нибудь помочь, пожалуйста?

1 ответ

Решение

В соответствии с документацией API eBay Order, полезная нагрузка вашего запроса является хорошей, но если вы проверяете образцы гостевой проверки, у них нет объекта кредитной карты в запросе. Они также упоминают, что если у вас нет информации о кредитной карте в этом запросе, то вы можете позвонить updatePaymentInfoGuest добавить информацию о кредитной карте в сессию оформления заказа.

Документация Ссылки:

Входными данными являются адрес электронной почты, имя и адрес покупателя, а также идентификаторы и количество каждого товара. Вы можете иметь до четырех отдельных предметов любого количества в сеансе оформления заказа. Каждый элемент связан с уникальной позицией. При желании вы можете указать платежную информацию покупателя. Если вы не включите эту информацию в этот вызов, вы можете использовать вызов updatePaymentInfoGuest, чтобы добавить эту информацию в сеанс проверки.

Поскольку в ответе гостевого извлечения не содержится много информации об ошибке, я бы порекомендовал вам попробовать следующее...

  1. позвонить в гостевую кассу без информации о кредитной карте (buy/order/v1/guest_checkout_session/initiate)
  2. оплата обновления звонка с информацией о кредитной карте с использованием идентификатора сеанса оплаты сверху (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"
    }
}
Другие вопросы по тегам