Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

eBay Order API throwing error in sandbox environment

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?

like image 494
Rini Avatar asked Aug 16 '17 05:08

Rini


Video Answer


1 Answers

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 :

  • Initiate Checkout : https://developer.ebay.com/api-docs/buy/order/resources/guest_checkout_session/methods/initiateCheckoutSession
  • Update Payment Info : https://developer.ebay.com/api-docs/buy/order/resources/guest_checkout_session/methods/updatePaymentInfo#_samples

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"
    }
}
like image 75
JRG Avatar answered Oct 19 '22 03:10

JRG