I was looking to get the eBay API working with ColdFusion and eBay has released a new validation that must be done before you can get a production API key… It’s called a Marketplace Account Deletion Notification and you MUST validate and respond to the request successfully to be granted a KEY.
This took me a bit to get working; it was really confusing but I finally got it to work; so I wanted to share what I did in hopes it helps someone else; sometime later.
First go to eBay and get to the “get a production key”… it will take you to this screen:

The first thing you will need an SSL certificate on your website. That’s a must; and you should be able to get that working from other tutorials quite easily.
Next, it will ask you for your email address so put it in and save it.
Now, what was tricky and confusing what the next step. It asks you for:
Marketplace account deletion notification endpoint
Verification token
Let’s break these down…
- Marketplace account deletion notification endpoint. This is the URL to your file that will be containing the code below. In my example, I used:
https://www.resellspot.com/inbound/accountDeletion.cfm - Verification Token… this can be anything you want but must be over 32 characters.. I clicked random keys until it stopped giving me an error.
Now, you have that… let’s create a file called “accountDeletion.cfm” and place it in a folder on the root of your site called “inbound”.
In the accountDeletion.cfm file you will need the following code:
<!--- param this so it doesn't throw an error if its missing --->
<cfparam name="url.challenge_code" default="" />
<!--- this is the value in field number 1 above --->
<cfset url.verificationURL = "https://www.resellspot.com/inbound/accountDeletion.cfm" />
<!--- this is the value in field number 2 above --->
<cfset url.verification_token = "sdfopaisfjawef908woprtjkwefjgs0d9fiewr" />
<!--- Let's create a temporary structure element --->
<cfset response = {} />
<!---
let's create a structure item called "challengeResponse" and let's encrypt
the value being passed by eBay as a URL string named "URL.challenge_code", and the
2 variables you defined above
--->
<cfset response['challengeResponse'] = hash(url.challenge_code & url.verification_token & url.verificationURL, "SHA-256") />
<!--- last, let's set the page content type of JSON and output the encrypted value --->
<cfscript>
cfheader( name="Content-Type", value="application/json" );
writeOutput(serializeJSON(response));
</cfscript>
Then go back to ebay and click the test code and it should work… therefore giving you access to the eBay API.
I hope this helps… if you have questions… feel free to reach out!
hello and thanks for the very useful article!
When will you publish new articles on ebay & cfml?
I am working on a full eBay CFC for something I am working on and will be coming out with more content on how it works, soon!
Thanks for this, I have spent about 12 hours pouring through documentation trying to find the verification token. I wish they had documented that a bit better, but it is eBay…
Yeah, I feel you there…. did you get it? maybe post on here so others can overcome it easier with you help!