|Paypal Sandbox Merchant Account History Tab Redirects To Main Paypal|
It is part of a known issue mentioned here:
PayPal Sandbox history redirects to REAL history
I'll be updating that thread when the problem is resolved. You can also
create a ticket and mention the ticket number on that thread, I'll grab it,
and keep you posted as it goes on.
|return url post to PayPal will override the return url that has already set in the paypal merchant account|
You should be able to get there in the Sandbox. The section may be called
"Website payments preferences" and be found under the "Hosted payment
Here is a direct URL to the page, make sure you're signed into your Sandbox
Seller account before you open this:
|PayPal: error - return to merchant|
The problem is that you're URL encoding everything, including the
ampersands supposed to separate the values.
I.e. this works fine:
By the way, 'UK' is not a valid country. PayPal country codes follow ISO
3166-2, so that should be 'GB'.
|Paypal Error Please try to contact merchant?|
That answer is incorrect in as much that we do not block IP addresses to
our API endpoints without making the merchant aware.
It is correct, from our experience, that the above error occurs in
PrestaShop when your server is unable to establish a successful HTTPS
connection with our API endpoint.
I suggest you take a look at General troubleshooting - API timeout and run
the tests provided in it.
Pay special attention to the AT&T block we mention in there, as we've
seen a large number of API callers getting blocked at that level.
Unfortunately that block is beyond our control - but we've heard good
reports of merchants getting in touch with AT&T and getting that block
lifted (if confirmed to be blocked there).
|Paypal Shipping options for a non U.S merchant|
That's what I typically recommend doing...gathering shipping directly from
shipping carrier API's and then passing those values into the shopping cart
/ payment integration accordingly.
Any PayPal integration you choose would allow you to pass those details in
be it Payments Standard, Express Checkout, Payments Pro, etc.
|Paypal multiple IPN same merchant on set express checkout|
I solve it creating a base IPN url and from there redirect the IPN request
from paypal using 302 redirects. It seems that not every paypal transaction
allows to set the IPN url, specially for concurrent payments.
This post help me to create the broadcasting schema
|Paypal - Recurring billing with Rails (for non US merchant)|
I would recommend going with Express Checkout and Recurring Payments.
Specifically, you'll be using SetExpressCheckout,
GetExpressCheckoutDetails (optional), DoExpressCheckoutPayment (optional),
and CreateRecurringPaymentsProfile depending on exactly what you're doing
with your application.
SEC will return a token that you'll use to redirect the user to PayPal as
well as in following API calls.
GECD is used to obtain buyer details (ie. shipping address, address status,
payer status, etc.) from PayPal now that the user has signed in and agreed
DECP would allow you to finalize a one-time payment that includes shipping
and tax info, item details etc.
CRPP allows you to setup the recurring profile including one-time initial
payment, trial amounts, regular amounts and perio
|PayPal Subscription Cancellation from Merchant Website|
When you say you have it working on the sandbox but not live, what exactly
is going wrong when you try it live?
I'm actually a little confused by that, because my initial answer was going
to be that you can't kill subscriptions via the API unless you're using
Recurring Payments. Standard subscriptions aren't accessible via the API.
If you're saying you're doing that in the sandbox, though, then there must
be something I'm unaware of..??
On that note, I know the PayPal system pretty well, so I'm thinking maybe
you did Recurring Payments on the sandbox, but live you're using Standard
Subscriptions..?? If that's accurate then you'll need to move to recurring
payments instead of standard subscriptions on the live site.
|Paypal Error : Merchant country unsupported|
A 10565 error (merchant country is not supported) means you're trying to
submit a Payments Pro API call - Direct Payment in this instance - from a
country that does not support Payments Pro. Currently it is only available
to US, UK, and Canadian merchants.
Here is a list of PayPal products and the countries that can use them:
|Ci-Merchant - Autorizing and later capturing a payment with PayPal Express|
Okay, nevermind. I succeeded in installing Omnipay (which is a very good
library), and to do this I simply get the $params array, and I'm pushing
into him the transactionReference, via
Then you just need to call :
$response = $gateway->capture($params)->send();
and the reponse is okay !
|ci-merchant.org - Add custom data to paypal express transaction|
Modify a file into the library like specified here, and it allows you to
pass an array of items with the classic data required when calling
The array is formatted like this :
$params = array(
'amount' => 40.00,
'currency' => 'USD',
'return_url' => 'mysite.com/return/' . $order_id,
'notify_url' => 'mysite.com/notify/' . $order_id,
'items' => array(
But remember that ci-merchant is no longer supported. You better use
|CI merchant codeigniter library paypal checkout issues|
Problem with the SSL CA cert (path? access rights?)
Your server doesn't have a root SSL certificate set up correctly (it uses
this to verify that outgoing connections are connecting to the right
I recommend using Omnipay (the successor to CI-Merchant), as this uses
Guzzle for HTTP connections, which comes bundled with the latest root SSL
certificate so you don't need to worry about your server having them
|Paypal Merchant account prevent multiple billing agreements|
If you set the BILLINGAGREEMENTDESCRIPTION to be the same for all the
transactions a buyer shouldn't be able to sign up twice.
If you have a system where buyers sign into your site you can do a
GetBillingAgreementCustomerDetails to see if the buyer already has a
billing agreement with you. If they do, you submit a Reference
Transaction. If they don't, you create a new billing agreement.
|DoDirectPayment : This transaction cannot be processed due to an invalid merchant configuration|
That error is telling you that there is something misconfigured in the
Paypal merchant account, yes.
The following is taken from the Paypal help center
What is a Billing Agreement and how does it work?
A Billing Agreement allows a merchant to charge your PayPal account when
you purchase goods from, or use that merchant’s service.
An example of this would be the agreement between eBay and a PayPal
customer to pay eBay fees using the customer's PayPal account when the
customer lists items for auction on eBay.
|Paypal direct Recurring Payments using credit/debit card not working on live. DPRP disabled for this merchant.|
DPRP stands for DirectPayment RecurringPayments. With the old Payments Pro
you had to pay $30/mo for Pro itself and then another $30/mo on top of that
for recurring payments. Until you were approved and agreed to the
additional $30/mo you would get that error. So what it essentially means
is you don't have DPRP enabled on your PayPal account right now.
You mentioned that you already signed up for Recurring Billing. It sounds
to me like you're on the new version of PayPal Pro which uses the PayPal
Manager and the PayFlow Gateway. This is a separate API from
DoDirectPayment or CreateRecurringPaymentsProfile. So they've got you
enabled for PayFlow, but you're trying to use the old API.
What you need to do is either re-develop your stuff using the PayFlow API
or get PayPal to set you u
|Paypal C# class for returning all transactions from Paypal|
You can probably accomplish what you want using the TransactionSearch
method in the PayPal Merchant API, but it's probably not going to be a
Check out https://devtools-paypal.com/apiexplorer/PayPalAPIs and click on
the "Merchant" tab to view the Merchant API methods. TransactionSearch is
the fifth item on the list. They have an environment right on that page
that you can play around with.
More info on TransactionSearch is available at:
Then of course, you'll have to write the code to make the API calls and
organize and display the data on your end.
Hope this helps!
|PayPal IPN not "VERIFIED" or "INVALID"|
Just answered another like yours. Paypal have stopped supporting HTTP1.0.
Your header should now read:
$header = "POST /cgi-bin/webscr HTTP/1.1
$header .= "Content-Type: application/x-www-form-urlencoded
$header .= "Host:www.sandbox.paypal.com
$header .= "Connection:close
$header .= "Content-Length: " . strlen($req) . "
If live, just change the host domain name.
Hope this helps.
|Invalid Parameter SubTotal in PayPal MPL iOS SDK|
That's correct - here are the limits for each currency:
|Invalid parameter : currency in PayPal MPL SDK for iOS|
RMB is not a valid currency value for use in the Mobile Payment Library.
The Mobile Payment Library Guide for iOS has a list of currencies that are
|Paypal API - GetVerifiedStatus - Invalid request|
580023 Invalid Request.
Error code says it's an invalid request, so it's what your sending that's
the issue, can you provide your actual request?
|Paypal IPN Sandbox - IPN Listener - no verified or invalid|
I found the problem.. AND THE ANNOYING THING IS THAT PAYPAL DOCUMENTATION
IS WRONG AGAIN.. I don't understand that the documentation can state press
this button and press this button.. WHEN there are no buttons like this in
For this problem - The documentation does state a wrong method / does not
include full code needed.
The $res returned this:
HTTP/1.0 400 Bad Request
Invalid Host header
what needs to be added is :
$header .= "Host: www.sandbox.paypal.com
AND then the above code looks like this:
// post back to PayPal system to validate //
$header .= "POST /cgi-bin/webscr HTTP/1.0
$header .= "Host: www.sandbox.paypal.com
$header .= "Content-Type: application/x-www-form-urlencoded
|Invalid Sandbox Credit Card # for Paypal|
I have the same problem. When i try to pay with PayPal goes OK, but when i
try to pay with Credit Card i get the error, that data for credit card are
Then i debug my app and see, that amount which i set to PayPalPayment have
large percision. So i set my percision to 2 decimal place and paying with
credit card works OK.
Here is example, how i set amount:
ttlPrice = new BigDecimal(totalPrice, MathContext.DECIMAL32).setScale(2);
payment = new PayPalPayment(ttlPrice, "EUR", "description");
|PayPal IPN simulator - how to generate INVALID response?|
Regarding your update: close, but not exactly.
IPN will return VERIFIED or INVALID depending on whether or not it
recognizes the POST data you're sending as having originated from PayPal.
So yes, if you browse to your IPN URL directly and it directly POST's no
data / dummy data to PayPal, then yes, we won't recognize it as having
originated from us and we'll return INVALID.
For example, this link will return INVALID:
|php : paypal recurring payments token is invalid|
You just need to make sure you're including the billing agreement
information in your SetExpressCheckout request. Take a look at this sample
of set of API calls to complete a recurring payments profile using Express
You'll notice the SEC request includes parameters for L_BILLINGTYPE0 AND
L_BILLINGAGREEMENTDESCRIPTION0. You need to make sure you include those,
otherwise the token that you get back won't be valid for
|"The Transaction is invalid ...." PayPal when I send user for approval|
Huh! found the solution... it was nothing just use lower-case letters for
|PayPal IPN returns INVALID on live and VERIFIED on sandbox|
I know this is old but it might help someone else, I think you need to POST
the data for validation.
According to Paypal IPN Docs:
//After receiving an IPN message from PayPal,
//you must respond to PayPal with a POST message
//that begins with "cmd=_notify-validate".
//Append to your message a duplicate of the
//notification received (the same IPN fields
//and values in the exact order you received them)
URL u = new URL(url);
HttpURLConnection uc = (HttpURLConnection) u.openConnection();
|Paypal IPN INVALID with _notify-validate and payer_status as unverified|
I think you are overwriting your cmd key / value in return_data by
iterating over the post_content dict. I don't think you need to do that.
Just make a copy of the POST parameters, then change the cmd value:
parameters = dict(request.POST.copy())
parameters['cmd'] = '_notify-validate'
paypal_url = "https://www.paypal.com/cgi-bin/webscr"
response = requests.post(paypal_url, data=parameters)
This is essentially what I do in my application, although I am not using
the requests library.
|Returning PayPal Transaction ID|
For most PayPal APIs you can specify either a return URL or a success and
failure URLs to which PayPal will return the user after completing or
canceling the payment. The URL set in the configuration is used only if no
redirect URL is providing in the call.
|Paypal IPN Listener not returning values|
I had to do this same thing, but in Web Forms. It should apply just the
same since we're both dealing with HttpWebRequest objects. Look at the
below code- this is my Page_Load() method of my listener URL
(Listener.aspx.cs). Note the section that says if (strResponse ==
"VERIFIED") and look inside that where it says string responseArray =
strRequest.Split('&'); - this is where you get all of your response
variables. You will have to back track a little to the definition of
strRequest which is being used to get the values (delimited by the
And also, look at the IPN response on your PayPal account. The response
will be a long string delimited by ampersands- this will be the same value
as strRequest. This is the string where you extract other information
about the paym
|why Paypal IPN not returning contact_phone field?|
contact_phone is not in the HTML Variable list according to the
You will need to pass it through the optional phone fields (night_
phone_a,night_ phone_b,night_ phone_c), put it in the custom field, or as a
hack use any other unused field.
|PayPal REST API not returning payment_info|
I thought I would post an answer in case anyone else has this issue.
It does appear that the REST API fails to return the shipping information
the majority of the time. Especially when using the GET /payments/payment
endpoint. However I have seen it return shipping information from the POST
/payments/payment/<PAYMENT_ID>/execute endpoint before.
Anyway, following the comments above it looks as if the OP ditched the REST
API and went back to Express Checkout. Which is fair enough if you want to
get the shipping data up front.
However, if you use the PayPal IPN in conjunction with the REST API it will
provide the shipping and billing info on the callback. So you could collect
the information at that point.
The only problem I see with doing this is that you can't confirm the addres
|Getting a 10004 error with button type invalid using BMUpdateButton method for PayPal|
I have answered this in this post:
BUTTONTYPE needs BUTTONSUBTYPE to accompany it even though it says it's a
|omnipay paypal express not returning address|
If it's not returned by the $response->getData() method, you might need
to call PayPal's GetExpressCheckoutDetails API method to get the extra
details about the transaction.
Omnipay doesn't support this out of the box, so you will probably need to
copy and customize one of the existing requests to make a separate API call
after you have confirmed payment.
|paypal rest api payment call returning 401 using php|
A 401 error generally indicates that the access token is either invalid or
Are you including "Bearer" in the Authorization header? Example:
|PayPal is returning API error code 10486 instead of 10417. Why?|
Starting the 5th of June 2013 PayPal will return API error code 10486
instead of 10417 in the DoExpressCheckoutPayment API response in the
majority of cases.
Both 10417 mean 'transaction cannot complete', but with API error code
10486 you can re-redirect the user back to PayPal to select a differing
funding source (rather than having to call SetExpressCheckout and
re-initiate the entire transaction flow).
There is a HowTo guide available with more information, but basically all
you need to do is re-use the existing redirect URL you would've used
The buyer will be re-redirected to PayPal and be able to select a new
The buyer will subsequently be redirected to the same RETU
|PayPal Sandbox returning Internal Service Error|
Do you have 'Negative testing' enabled on your sandbox account(s) by any
https://developer.paypal.com / > Applications > Sandbox accounts > Find
your account > Click 'Profile' > Settings.
Negative testing lets you test specific error conditions for our classic
API's by triggering a specific error code by passing them as 'AMT' value.
For example, for API error code 12345, you would set AMT=123.45.
For your error scenario I see us returning API error code 10500 internally.
Which makes me strongly suspect you've got 'Negative testing' turned on for
one of your sandbox accounts.
|PayPal REST SDK not returning proper status on execute()|
I was having a problem with the paypal sandbox not completing the order.
I was able to fix this problem without modifying the paypal api code.
Login to the sandbox account for the xxx-facilitator@xxx account.
click the menu item > profile - Update Email
click 'confirm', it says already confirmed but now it works.
also make sure on the developer option 'Review test payments before they're
completed.' is set to off.
|PayPal REST API - Sandbox returning 401 for API requests but successful access token|
Came across this question and had a similar problem when trying to make
payments for a third party PayPal account.
Not sure if you're running into the same thing I was, but I was trying to
create payments for a third party paypal account to which I had not
properly requested permission. Turns out I needed to use the Permissions
API to request proper permissions.
See this link:
|Firefox doesn't return POST data after returning from Paypal site|
If you're using Paypal's Auto-return function to send users back to your
site after payment, the transaction information will be sent as URL
variables ($_GET rather than $_POST).
The IPN function works independently of the users browser, Paypal sends
transaction data directly back to your site (to the script you specify in
your settings) via $_POST variables - the idea is that you don't have to
rely on the user returning to your site in order to get the details of the
It might be wise just to double check you're not using $_POST where you
should be using $_GET and that you have your Paypal settings configured
|returning invalid directory on save c#|
I guess something is wrong with one or more of your strings.
use Path.Combine e.g. Path.Combine(pics, "pics", cardid + ".jpg") and
Also, i would combine the whole path before using it like:
string fullPath = Path.Combine(pics, "pics", cardid + ".jpg")
As stated below, the paths getting mixed up..
You set pics like this:
string pics = Path.GetDirectoryName(OpenCdb.FileName);
Which will result in pics = C:somethingsomething
and then you call SaveImage like this:
SaveImage(CardImg.Image, pics + "\pics\" + cardid + ".jpg", 177, 254);
And in that method you now set pics = savedName and the full path will then
string filePath = AppDomain.CurrentDomain.BaseDirectory + savedName;
Which is C:somethingelseC:some