Im having issues with the paypal sandbox api today. It seems that Im getting no return data back from PayPal. None of the code has changed and it was tested and working last night.
I am using the Angeleye classic API library. https://www.angelleye.com/product/php-class-library-paypal/
In my code I am using their adaptive payment API.
The errors Im getting are
Warning: DOMDocument::loadXML(): Empty string supplied as input in /src/angelleye/PayPal/Adaptive.php on line 1394
Warning: DOMDocument::loadXML(): Empty string supplied as input in /src/angelleye/PayPal/Adaptive.php on line 158
Both of those places are for PayPal Return Data.
Other than my sent data I am getting
[Errors] => Array ( ) [Ack] => [Build] => [CorrelationID] => [Timestamp] => [PreapprovalKey] => [RedirectURL] => [XMLRequest] =>
and at the end I have [XMLResponse] =>
Any ideas?
Is there someone that can tell me if they changed something with the API or if PayPal is having issues with their Sandbox enviorment?
I checked their normal API status page but it doesnt seem to cover their Sandbox enviorment.
There is a known vulnerability with SSLv3, and as such, PayPal has officially killed it on their sandbox. They just sent out notice about an hour ago that it will officially be killed on the live servers on 12/3/14.
I've already updated my class library to resolve this issue, and I sent out notifications on my Facebook page, Google Page, and email newsletter. You need to get on one of those so you can get updates like this in the future.
You need to make sure your cURL version supports TLS in order for the update to work for you. Check phpinfo() on your server, and then look for the cURL version. It needs to be 7.36.0. If it's anything lower you'll probably have to update that, too.
This is something that PayPal, eBay, Google, Facebook, etc. are all doing because of the vulnerability, so while it might be a pain if you have to update PHP/cURL on your server, it's a must.
Related
I'm using custom Paypal billing agreement payment gateway in my WHMCS site. It was working fine for 1 year. I met some issues with generating transaction ID for in some scenarios. In order to check and fix the issue changed paypal environment to sandbox mode by providing the Sandbox API username, Password and Signature. But on calling 'SetExpressCheckout' I'm getting the following error.
[ACK] => Failure
[VERSION] => 119.0
[BUILD] => 40680762
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Security error
[L_LONGMESSAGE0] => Security header is not valid
[L_SEVERITYCODE0] => Error
[ERRORS] => Array(
[0] => Array(
[L_ERRORCODE] => 10002
[L_SHORTMESSAGE] => Security error
[L_LONGMESSAGE] => Security header is not valid
[L_SEVERITYCODE] => Error
)
)
I tried it with different paypal sandbox accounts. But the result was same. When I'm using Live account with Live credentials the error will disappear and the token (REDIRECTURL) will generate. If I'm using sandbox with sandbox credentials the error is displaying.
What's the reason for this? I checked for trailing spaces, unwanted characters in the credentials I provided. Everything seems to be fine. Do I need to provide any settings in Paypal Account? How I can fix this issue?
This error means one of two things. Either one of the values you've entered for the credentials is simply incorrect, or you're sending sandbox credentials to the live server or vice-versa. Need to double check the endpoint that is being used for the API request to PayPal. It sounds like maybe you're updating the credentials to use sandbox, but the endpoint is still hitting the live server.
I have created buyer and seller account from PayPal developer site.
Account type: Buisness-pro
And fill all right api detail's but this error is coming:-
Array
(
[TIMESTAMP] => 2016-12-15T12:43:12Z
[CORRELATIONID] => a9537857c6865
[ACK] => Failure
[VERSION] => 65.1
[BUILD] => 24616352
[L_ERRORCODE0] => 10501
[L_SHORTMESSAGE0] => Invalid Configuration
[L_LONGMESSAGE0] => This transaction cannot be processed due to an invalid merchant configuration
.
[L_SEVERITYCODE0] => Error
[AMT] => 10.00
[CURRENCYCODE] => USD
)
{"status":0}
Business-Pro can actually mean one of two things.
Website Payments Pro 3.0 - This is what uses the DoDirectPayment API
Payments Pro 2.0 - This uses the PayFlow API
In your case it looks like you're approved for "Pro" so you're trying to use the DoDirectPayment API, but the error you're getting means that particular API is still not enabled on your account.
This could mean that you simply cannot use DDP on your account, or it could mean PayPal simply didn't activate it for you since PayFlow would be the assumed gateway. Technically, 2.0 should support both of those APIs.
If you call PayPal and let them know you already have DDP fully integrated and ready to go based on the fact that you had "Pro" enabled, and you would rather not re-develop everything in PayFlow due to time / cost restrictions, they will probably go ahead and enable DDP for you so that this error will go away.
Or, you could go ahead and use the PayFlow API instead. It looks like you might possibly be using my PayPal PHP SDK..?? If so, you could get PayFlow setup instead of DDP within a matter of minutes. If not, I recommend you take a look at it for future reference. It supports pretty much every PayPal API they offer and greatly simplifies things.
If you're interested in more details on this you can check out my article on The History of PayPal Payments Pro.
I'm trying to use the PayPal API for express checkout using PHP. I used this guide as a template. When connecting, I receive the error message:
[TIMESTAMP] => 2015%2d07%2d20T15%3a32%3a37Z
[CORRELATIONID] => 3a93310587276
[ACK] => Failure
[VERSION] => 109%2e0
[BUILD] => 17403434
[L_ERRORCODE0] => 10002
[L_SHORTMESSAGE0] => Authentication%2fAuthorization%20Failed
[L_LONGMESSAGE0] => You%20do%20not%20have%20permissions%20to%20make%20this%20API%20call
[L_SEVERITYCODE0] => Error
The error has no correction listed in the errorcode doc:
developer.paypal.com/docs/classic/api/errorcodes/
Upon further research into the error, I read here that you must confirm your email on your paypal account, which I have. Since I'm using a sandbox api account, I also attempted to confirm it, however when I try to from the notifications panel under sandbox test accounts, and I copy/paste the confirmation link into my browser, it tells me the confirmation code is invalid, even if I paste it into the input field. But if I log into the sandbox site with the sandbox account whose email I'm trying to confirm, and when I click confirm in the email section on the email which failed to confirm before, it now says it's already confirmed. Still receiving the above error though.
I've made sure to use the sandbox account api credentials when configuring the connection. It's also a business-pro sandbox account, and the endpoint is for sandbox.
Is there anything obvious that I've missed?
Is there anything additional I should post?
There are a couple of different reasons that you would get that message. One reason is your credentials are incorrect, make certain there are no spaces in your credentials.
Another reason for that error message could be related to the endpoint you are using. If you are using Sandbox API, make certain you are using the Sandbox Endpoint.
If you are using Live API credentials make certain that you are pointed at the Live Endpoint.
API Error codes PayPal Developer
Express Checkout Endpoints
Another reason, if you are doing a DoDirectPayment Api Call, make certain that the account you are using is setup for PayPal Payments Pro.
You simply dont have acess to the api, they need to give you a token(in this case called Signature) to you acess PayPal API. You probably need to check you email adress, if that doesnt work just register again on the Paypal Developers :)
I'm in a bit of a rush and dont have much time studying paypals documentation in creating what i need. I have looked at many paypal pro classes for php and they either lack documentation or have classes are very difficult to debug. What i am looking for is direct payment where a user enters their billing address information along with their credit card information and all this is validated on my website without the customer seeing paypal. I am guessing this is what direct payment is called for paypal. Does anyone have a well written, easy to understand and documented paypal pro class. And do i need to be registered with paypal pro in order to accept direct payment?
fyi: this is a custom site so i am not using any 3rd party application/framework.
thanks
ps:
i have tried Angel Eye paypal class (http://www.angelleye.com/paypal-payments-pro-php-class/)
and after integrating i get this returned as an error and have no clue what it means
[ERRORS] => Array
(
[0] => Array
(
[L_ERRORCODE] => 10002
[L_SHORTMESSAGE] => Security error
[L_LONGMESSAGE] => Security header is not valid
[L_SEVERITYCODE] => Error
)
)
Hi All I am implementing recurring payments with paypal. My paypal script is already running now embedding recurring payments in it. I have searched a lot and not find any useful material. I found from Recurring some material. I implemnted the code of createrecurringpayments.php from here and changed the variables accorinding to mine. I redirect browser to this file from DoExpressCheckoutPayment.php when transaction is completed. But at createrecurringpayment.php I always get the following error.CreateRecurringPaymentsProfile failed: Array ( [TIMESTAMP] => 2011%2d03%2d28T11%3a44%3a30Z [CORRELATIONID] => 81d0c488123c4 [ACK] => Failure [VERSION] => 54%2e0 [BUILD] => 1776465 [L_ERRORCODE0] => 10002 [L_SHORTMESSAGE0] => Security%20error [L_LONGMESSAGE0] => Security%20header%20is%20not%20valid [L_SEVERITYCODE0] => Error ).
there may be below 4 causes for this type of error you found..
1. You have your PayPal module configured to "Sandbox" but have not used Sandbox API credentials.
2. You have your PayPal module configured to "Live" but have not used Live API credentials.
3. You have mis-typed one or more API credentials entries, including but not limited to leaving trailing spaces.
4. You have deleted and/or recreated new API credentials in your PayPal account but have not copied those new credentials back to your store.
Just check it out..it may helpful to you..
Thanks.
I have found the solution.... I was using paypal Express Checkout.. With this it is not possible to implement recurring payments...