eBay Order API throwing error in sandbox environment
Asked Answered
K

1

9

In ebay Order API - initiateCheckoutSession (guest checkout), adding credit card information returns error. I am testing in sandbox environment.

API : https://api.sandbox.ebay.com/buy/order/v1/guest_checkout_session/initiate Request Body:

     {
 "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": "[email protected]",
   "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"
     }
   ]
 }

Response:

 {
     "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 works fine if credit card details are not in request. Could someone please help?

Khalid answered 16/8, 2017 at 5:43 Comment(3)
Your request seems to be the correct format. I think it would be best to contact the ebay support to be honest.Theotheobald
your test item has shipping price? try adding fixed priced shipping options to your test item.Newmodel
Hi Gonzales Gokhan, Could you please advice on how to add fixed pricing options to item?Khalid
D
1

As per eBay Order API documentation, your request payload is good, but if you check the guest checkout samples they do not have the credit-card object in the request. They also mention that if you do not have credit card information in this request then you can call updatePaymentInfoGuest to add credit card information to checkout session.

Documentation Links :

The inputs are the buyer's email, name, and address and the item IDs and quantity of each item. You can have a maximum of four individual items of any quantity in a checkout session. Each item is associated with a unique line item. Optionally, you can include the buyer's payment information. If you don't include this information in this call, you can use the updatePaymentInfoGuest call to add this information to the checkout session.

As the guest checkout response doesn't have much information about the error, I would recommend you to try the below ....

  1. call guest checkout without credit-card information (buy/order/v1/guest_checkout_session/initiate)
  2. call update payment with cred-t-card information info using the checkout session id from above (buy/order/v1/guest_checkout_session/{checkoutSessionId}/update_payment_info)

Checkout Session Request Schema:

{
  "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"
  }
}

Update Payment Info Request Schema:

{ /* 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"
    }
}
Dated answered 21/9, 2017 at 17:10 Comment(4)
Hi JRG, Its working fine when credit card information is not provided in request. So I think access token is correct.Khalid
Hi Rini, it seems like the checkout api response is not having any fruitful information so you should call checkout api without CC information and then later call updatePaymentInfo with CC information and checkoutSessionId from the checkout api call. This should solve your problem. I have updated my answer with all the details about both the apis and links to documentation that has samples.Dated
@Khalid - cool, will really appreciate if you can please accept the answer and vote up my answer :).Dated
@Dated - I am facing same problem and I tried your method not to pass credit card info in guest checkout initiate. But I am still getting that "There was a problem with an eBay internal system or process. Contact eBay developer support for assistance." error. Can you hint me ? I can provide more details if you want.Meadowsweet

© 2022 - 2024 — McMap. All rights reserved.