Vauge PayFlow Error - paypal

I'm using PayFlow with Layout C, which uses an iFrame to embed the payment form. I've followed the instructions found here for testing: https://developer.paypal.com/docs/classic/payflow/gs_ppa_hosted_pages/
My request for a secure token returns successfully, but when I run a test charge, I get the following error:
Some required information is missing or incorrect. Please correct the
fields below and try again.
Error: An error has occurred. Please contact the system administrator.
The only fields below are card number and expiration date, which follow the testing guidelines.
What else could be going wrong?

Once you get the secure token, Instead of using the redirection url "https://payflowlink.paypal.com" , you should use "https://pilot-payflowlink.paypal.com" if you are in test mode .
This change happened after a certificate upgrade on 8th APR . You can check the link below :
https://ppmts.custhelp.com/app/answers/detail/a_id/1236

Related

Paypal-Merchant-SDK : How get only token using the SetExpressCheckout.php and then passe it to CreateRecurringPaymentsProfile.php?

Please can anyone explain to me step by step cause i'm so confused about the example that Paypal give us, the "SetExpressCheckout.php", it contains a lot of stuff, i want only to generate a token so i can create a Recurring Payments Profile using "CreateRecurringPaymentsProfile.php"
Please help, i have read some tutorials but never showed from the beginning how to start to create a subscription or Recurring Payments.
I'm using the Merchant-SDK-PHP : https://github.com/paypal/merchant-sdk-php
Just in case someone want to know why i want to use Paypal's classic API, it's because the REST API does not have an option to hide the shipping address when creating a subscription, and Web Experience cannot be attached to a plan or an agreement.
It was confusing because when you are in the samples pages, there's no where you can find what you should do after getting the token using SetExpressCheckOut.php.
So to pass the token to CreateRecurringPaymentsProfile.php, at the end of SetExpressCheckOut.php you need to redirect the costumer to > https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=$token
Where the $token is the Token you got in SetExpressCheckOut.php using :
$setECResponse = $paypalService->SetExpressCheckout($setECReq);
$token = $setECResponse->Token;
Before redirecting make sure (in your SetExpressCheckOut.php) $setECReqDetails->ReturnURL refers to the link that will trigger CreateRecurringPaymentsProfile.php
In my case i'm using Laravel
$setECReqDetails->ReturnURL = "domain.com/createsub"
And my route is : Route::get('createsub', 'PaypalContoller#CreateRecurringPayments')
So within the CreateRecurringPayments method i put all the stuff from CreateRecurringPaymentsProfile.php example.
Note : when you go live you need to remove sandbox from the link : > https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=$token

Payouts errors on Sandbox

I am trying to create Payout functionality using REST API, and I have few errors.
While I am sending this request :
{"sender_batch_header":{"sender_batch_id":"test_0","email_subject":"RaceBets Withdrawal","recipient_type":"PAYPAL_ID"},"items":[{"recipient_type":"PAYPAL_ID","amount":{"currency":"EUR","value":"20.0"},"receiver":"XXXX","note":"Hello there!","sender_item_id":"71292226"}]}
I received:
JAXBException occurred : 4 counts of IllegalAnnotationExceptions.
or :
{"name":"REQUIRED_SCOPE_MISSING","message":"Access token does not have required scope.","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#REQUIRED_SCOPE_MISSING"}
the second error is also strange, because payments are working fine, and scope is also fine
{"scope":"https://uri.paypal.com/services/subscriptions https://api.paypal.com/v1/payments/.* https://api.paypal.com/v1/vault/credit-card https://uri.paypal.com/services/applications/webhooks openid https://uri.paypal.com/services/invoicing https://api.paypal.com/v1/vault/credit-card/.*","access_token":"xxx","token_type":"Bearer","app_id":"APP-xxx","expires_in":28800}
Any idea?
For the second error make sure you have checked the option for "payouts" under your application at developer.paypal.com .
Go to developer.paypal.com --> DashBoard --> My APP -- > Click your APP Name --> App Feature . Select Payout here .
Regarding the REQUIRED_SCOPE_MISSING error, I experienced this as well. Adding the scope as the other poster describes fixed the issue.
Please note that after changing scope (i.e. adding Payouts) it can take a few hours for the change to be reflected, so you'll continue getting the error for awhile. This confused me when I was testing because I didn't expect sandbox to have this latency.

PayPal Sandbox Blank Address Error

I just recently started working with the PayPal API to start processing credit cards for a client and have run into an odd issue. I managed to get everything mostly working (the 400 Bad Request error that is all over SO is still outstanding for me) minus one thing. When I try to run a CC against the sandbox area with nothing specified for line 2 of the address I see the following error get logged:
Error Response: {"name":"VALIDATION_ERROR","details":[{"field":"payer.funding_instruments[0].credit_card.billing_address.line2","issue":"Must not be blank"}],"message":"Invalid request - see details","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#VALIDATION_ERROR","debug_id":"cbaa2c4dfdb77"}
Why would address 2 be required? Their own documentation (https://developer.paypal.com/webapps/developer/docs/api/) says it isn't so I'm completely lost here.
This is using the RestAPISDK library downloaded from their GitHub instance and everything I'm doing is in C#.
When you have a blank value in a REST API call it will return an error. It isn't required to provide a line2 value but if you include the variable with a blank value the system will flip out. Remove the variable entirely and you should be good to go.

Trying to get OAuth dialog to work

I am at this step in getting my app started in the documentation:
https://developers.facebook.com/docs/appsonfacebook/tutorial/#auth
In there is a code block that (supposedly) forwards the user to a request dialog asking permission to access certain bit of information about them. I've placed this code block into the PHP script that my canvas URL points to, and changed the $app_id and $canvas_page to my application ID and canvas URL respectively. Instead of getting the expected dialog, I receive this following error from facebook:
"An error occurred. Please try again later."
No other details about the error are present. I've tried some variations of the script, and have even tried loading up this URL directly just to see if that would work. Note that I've replaced YOUR_APP_ID and YOUR_CANVAS_PAGE with the appropriate values and made sure that spelling and/or punctuation are correct:
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_CANVAS_PAGE&scope=email,read_stream
For the redirect URL, I've tried prepending it with http://, https://, and no prefix at all. All with the same result.
My question: is the example in the documentation broken, or is the oauth link provided in the documentation currently down? The vague nature of the error is somewhat frustrating since I can't tell if it's something I'm doing wrong or if it's facebook's oauth function that's at fault.
So, the problem was that instead of using the numeric application ID that facebook assigned for me when I originally created the app as the YOUR_APP_ID parameter in the OAuth URL, I was using the application namespace string. Facebook didn't understand this sort of request, and returned the generic error message.
Once I used the numeric app ID, the OAuth dialog popped up to ask permission to access my account, as expected.

Paypal shows old version error on express check out , I got my page run first but now shows this error

I doing paypal express checkout in jsp on sandbox with out using the sdk I am getting the ACK as sucess when generating the token after that when i redirected to sandbox now it shows error message on sandbox as
You have requested an outdated version of PayPal. This error often results from the use of bookmarks.
This is the Ack response i got
TOKEN=EC%2d5PT30649GD612951T&TIMESTAMP=2012%2d03%2d04T16%3a44%3a18Z&CORRELATIONID=4ed0e9de9ec8a&ACK=Success&VERSION=84%2e0&BUILD=2571254
I decoded the response using URLDecoder and redirected to the sandbox
if (ack.equals("Success")) { String logurl = "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=express-checkout&token="+token;
response.sendRedirect(logurl);
}
Thanks in advance for any suggestions and answers
If you are receiving this error, it is best to check the url you are redirecting.
Documentation says that the URL is
https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout
Careful with the _express-checkout part. If you are using an ide (like Visual Studio) that marks the urls as links, you might think that it is a space (as it becomes invisible) and at the first error you encounter, you might delete the underscore char.
I got it working and I am answering because i found many one have same error This error occurs mainly due to any of the samll errors or changes in your NVP if you are using it.
I think This link will be helps , deals with "You have requested an outdated version of PayPal"