davidtsadler / ebay-sdk-php

An eBay SDK for PHP. Use the eBay API in your PHP projects.
Apache License 2.0
350 stars 343 forks source link

GetOfficialEBayTimer #61

Closed Fabr9193 closed 7 years ago

Fabr9193 commented 7 years ago

Hi there I try to follow your getOfficialeBayTime on your example sut when I change the confugrar hard encoding the values in the constructor I have a Curl error (ca error 77) .

Can you Help me ?

I'm on the trading API.

Fabricio

michabbb commented 7 years ago

@Fabr9193 this dosn´t sound like a problem with the framework. it looks like, your ca certificates are outdated or not weel configured. there can be several reasons for this, you should google for that. i would write a little test.php with a curl test against the ebay api to debug this.

Fabr9193 commented 7 years ago

@michabbb well I did notice also that on my windows I can't use the wamp menu almost everything gives an internal servor alert

michabbb commented 7 years ago

@Fabr9193 sorry, in case of windows, i cannot help you, i have a very personal opinion about php and windows: developing php under windows is like building a plane in a shipyard, sorry 😶

Fabr9193 commented 7 years ago

@michabbb Haha that might be true but I don't know a lot of alternatives I know I have a Ubuntu bash now since the Windows Anniversary Update.

michabbb commented 7 years ago

@Fabr9193 i guess this does not belong to here, but my advise, as a windows user would be: take a look to vmware player/workstation and install yourself a real linux ;) or take a look to docker for windows or virtualbox or Hyper-V containers so that you in fact work with and on a real linux machine ;)

davidtsadler commented 7 years ago

There is a verify option that may help with the SSL error. Try setting it to false to begin with. Be aware that you won't want to do this in production! If that does not work you can set verify to be the full path to the CA bundle provided by your computer's OS. I don't know where it is stored in Windows but you may be able to download one instead. I think one is available from https://curl.haxx.se/docs/caextract.html but to be honest I'm not 100% as I use the one that comes with Ubuntu.

davidtsadler commented 7 years ago

It looks Mozilla provides a commonly used CA bundle that can be downloaded from https://raw.githubusercontent.com/bagder/ca-bundle/master/ca-bundle.crt

It's mentioned in the documentation for the AWS SDK for PHP, which was a huge influence when developing this SDK.

Fabr9193 commented 7 years ago

@davidtsadler Thank you very much ! i'll try that right away

Fabr9193 commented 7 years ago

And right away didn't work

'http'    => [
                'verify' => $this->log.'../ca-bundle.crt' (var/ca-bundle.crt)
            ]

or

            'verify'      => false

cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Fabr9193 commented 7 years ago

If I want to bypass this I get :

Notice: Indirect modification of overloaded property DTS\eBaySDK\Trading\Types\GeteBayOfficialTimeRequestType::$RequesterCredentials has no effect

when I do

        $request->RequesterCredentials->eBayAuthToken = $apiAccess->getSellerId() ; (that being the user token)

but according to your example again it's supposed to work

I'm a bit lost 😞 maybe I'm doing it wrong

davidtsadler commented 7 years ago

I'm assuming that you are using the example as written and that you have not made any changes. The indirect error is a bit odd as the only way I can recreate it is by deleting the line below

$request->RequesterCredentials = new Types\CustomSecurityHeaderType();

Or by incorrectly treating the eBayAuthToken property as an array with

$request->RequesterCredentials->eBayAuthToken[] = $apiAccess->getSellerId();

Both of the above does assume that the example code has been changed, so if that is not the case then what value is been returned from$apiAccess->getSellerId().

With regards to the SSL error are you still using Windows or have you moved over to a Linux environment? If you are using Linux and have download the CA bundle have you checked that the permissions so that PHP can read the file?

davidtsadler commented 7 years ago

Just noticed an possible error in your code. You are using http but the actual configuration option is called httpOptions.

Fabr9193 commented 7 years ago

The http->httpOptions modifications worked ! ( yeah I read the most recent first because it was the shortest edit to do 😆 )

Now I received a bad app Name but that's on me I might have swap some credentials i'll double check

Thanks a million !

I'll come back to you if I have any other trouble

Fabr9193 commented 7 years ago

But if I may ask is ebay requiring the ssl certificate or yourself ?

davidtsadler commented 7 years ago

eBay are requiring it as most of their API endpoints are HTTPS.