After successful Sandbox testing for Website Payments Standard, I'm going live now. When I click on a "Buy Now" button, I should be able to see a page that shows me the total quantity on the left, and allows me to log in using PayPal on the right.
But I just get the following page, which also says "Test Site" at the top, although I'm no longer referring to the sandbox:
The error is: Paypal cannot process this transaction because of a problem with the seller's website.
I've done the following things:
Made sure I've changed the API endpoints to live production (basically, eliminate "sandbox" from the URLs.
Made sure I'm using the seller API crendentials from my seller account (not sandbox test API).
I'm using an IPN listener and have set $listener->user_sandbox to false (although I don't think the listener is even loaded yet at this stage).
By the way, if it matters, I'm using PayPal's ButtonManagerAPI to dynamically create hosted buttons, and I'm using NVP API calls with PHP. Everything worked as expected in the sandbox. This was my relevant API code:
"METHOD=$methodName_&VERSION=$version&PWD=$API_Password&USER=$API_UserName&SIGNATURE=$API_Signature&BUTTONCODE=HOSTED&BUTTONTYPE=BUYNOW&L_BUTTONVAR1=amount=".$usd_total
I tested your API request against my account and it is working correctly. It correctly generates a button, and then I am able to go through with a buyer account and make a purchase, so it looks like the issue is with the account you are using to generate the button. Can you provide either the test sandbox email, or the merchant id for the account that you generated the test sandbox credentials from so that I can take a look at the account and see what the issue may be?
I was getting the same error message until I removed the ng-model reference (angularJS) in the button html code.
I was actually getting this issue from simply not having the correct product ID in the form. Once I updated that it worked for me.
Hope this helps!
Related
I'm new here!
I'm trying to let my customers get recuring billing membership on my website based on this tutorial.
The button work, evverything is fine, except one thing. I need to validate that paypal really went successfull, to prevent anyone to go directly on the success page and get free membership. I noticed that it return a token=VALUE data to the success / cancel redirect.
I cannot find any $_POST or any others $_GET than that and I wonder, nor anything that could solve this in the Paypal doc (which changed a lot since last time I used it).
How can I check if the membership really went trought paypal using this token=1RXXXXXXXXH484112Y.
The return of such an integration may never happen. Reliable notification that a subscription has been created can only be done with a separate, server-side integration.
For the old HTML subscription button integration in the tutorial you reference, you can implement the old Instant Payment Notification (IPN) service.
The current solution would be to use a smart subscribe button with server side API calls to create the subscription and activate it -- with this, your server immediately knows it has been activated (because it did so itself and received the response). You can find some details on that solution here: https://stackoverflow.com/a/63908112/2069605
To give you an overview of my platform, I am using Angular.js 1.5 and Laravel 5.1.
I am using the Paypal REST API SDK for PHP. I have followed the instuctions from this Medium article. On my front end Angular side, once I successfully call the first "postPayment" function, I receive the redirect url, which I redirect to. Once the user completes their payment successfully on the paypal side, the return url comes back to my confirmation page where I handle the "getPaymentStatus" function from the Medium article.
I am using a Sandbox account for testing purposes right now, but I am able to successfully complete the transaction when a user logs in on the Paypal side. However, when a user tries to go through as a guest "Debit/Credit card", enters their information, and completes the transaction, I receive this 400 error in the console:
POST sandbox.paypal.com/webapps/xoonboarding/api/onboard/guest 400 (Bad Request)
jquery.min.js:5
On my Paypal profile settings, I have activated the Account Optional in the My Selling Tools->Website Preferences. I have been looking for other instances of this, but I cannot find a solution. I have tried using the test credit cards with various phone numbers, but that does not resolve this issue.
Has anyone dealt with this issue before? I am in the dark and do not know how to handle this.
I would appreciate any help in this. Thanks in advance!
I'm finding PayPal to be very fragmented for developers since the recent updates and re-designs they've done.
I can't seem to work out how to create PayPal Test Buttons. I've made real ones, but that's it.
I get thrown into the classic PayPal site after logging in to my Sandbox Business account, but most of the links bring me back to the regular PayPal where my actual account is logged in. So I can't get to the test button page.
I am either missing something big or PayPal have a few issues to sort out.
Edit:
I've tried logging into the PayPal Sandbox, and following the documentation listed on developer.paypal.com -> documentation -> payment buttons -> test payment buttons.
Under test procedures, I get stuck at 4.2: "In the Related Items box on the right, click the Create new button link.".
This option does not exist.
Here is the steps which I usually perform to create sandbox buttons.
Login to PayPal developer
Navigate to accounts section
Create a business account
Login to sandbox account using that account details
Create button as like you did in real account. Profile -> My Selling Tools -> PayPal buttons.
I hope this helps.
I am working on integrating USAEPAY with my eCommerce website. I am able to make a payment through Payment form.
I recieve an email saying that the payment was successful with all the information entered by the client. I have selected the response as POST to a URL in my website.
If you notice, most of the fields are empty and I cannot know, what is the amount and the client name and so on. Please let me know if I have missed anything.
Here is the response received when the payment was successful :
UMstatus=Approved,
UMauthCode=TESTMD,
UMrefNum=0,
UMavsResult=Address: Match & 5 Digit Zip: Match,
UMavsResultCode=YYY,
UMcvv2Result=Match,
UMcvv2ResultCode=M,
UMresult=A,
UMvpasResultCode=,
UMerror=,
UMerrorcode=00000,
UMcustnum=,
UMbatch=,
UMbatchRefNum=,
UMisDuplicate=N,
UMconvertedAmount=,
UMconvertedAmountCurrency=840,
UMconversionRate=,
UMcustReceiptResult=No Receipt Sent,
UMprocRefNum=,
UMcardLevelResult=,
UMauthAmount=,
UMresponseHash=s/1424267120.9422973438661/c250f9c99a9a324be1064213b42703ba61620eb0,
UMinvoice=1234,
UMinvioce=1234,
You should deactivate the test mode for the Source key. For sandbox login at https://sandbox.usaepay.com/console/, go to Settings -> Source Keys, then edit the necessary one, and uncheck the "Test Mode" option.
Sandbox is a test environment by itself, and it's recommended not to use the production environment in a test mode, which is actually deprecated.
help.usaepay.com/developer/testmode
help.usaepay.com/developer/guide/testaccount
up the pay-pal advance in magento . I have fill all the credentials in magento admin . BUt when i go to frontend and click pay-pal button it gives
PayPal gateway has rejected request. Security header is not valid
(#10002: Security error
i have googled a lot and found some suggestions like
Remove API Username, API Password and API Signature from
Admin->configuration->Paypal->API/Integration Settings. clear cache
and test again
i have tried all these but it still gives the same error.
Please suggest me what can be the issue
The Security header is not valid error is only caused for two reasons:
Wrong credentials
Make sure that you've put your API Username, API Password and API Signature correctly. Sometimes it happens that during copy and paste there is accidently a space added, this would trigger this error.
Doublecheck this settings in the SDK or in the admin panel of your third party shopping cart.
Wrong Endpoint
This error would come up if you send the data to the wrong endpoint. Make sure that you sending the live credentials and data to our live endpoint. When you want to test your store make sure that you use our test endpoint and the credentials from your sandbox test account.
If you are using a third party shopping cart, make sure that your store is running in test or live mode, regarding which credentials you are using.
You can check for your credentials here too:
FOR LIVE
https://api-3t.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com/test.php&CANCELURL=http://www.paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD
FOR SANDBOX
https://api-3t.sandbox.paypal.com/nvp?&user=xxxxxxxxxx&pwd=xxxxxxxxxx&signature=xxxxxxxxxx&version=70.0&METHOD=SetExpressCheckout&RETURNURL=http://www.paypal.com/test.php&CANCELURL=http://www.paypal.com/test.php&PAYMENTACTION=Sale&AMT=50&CURRENCYCODE=USD
Just Substitute the user, pwd and signature and enter in your browser.
You should get ACK = SUCCESS if you have input your credentials correctly.
You can also get your credentials here : https://www.paypal.com/cgi-bin/webscr?cmd=_get-api-signature&generic-flow=true
This error simply means your credentials are wrong.
Please check with the credentials. If you are using sandbox then you are supposed to provide facilitator related credentials.
Dont let the others fool you, they just type in stuff here they googled on the internet.
Look for the number you get here: https://developer.paypal.com/docs/classic/api/errors/
Because the information provided by these code is a delicate matter, they display this error message instead of you account is locked, account restricted, limit exceeded and so on.
Thats what they told me, at least.
We also get this code from time to time, after hundreds of paypal transactions, so wrong paypal credentials from the side of the shop owner is quite unlikely, isnt it? ;)
If you are using PayPal Payments Advanced with Magento, you should be using your PayPal Manager credentials, and not your API Credentials.
This could be the reason you are getting Security Banner Header not valid 10002.
Here is the integration steps from Magento:
PayPal Advanced Integration with Magento
You need to setup Layout C in PayPal Manager PayPal Manager Login.
Make certain that you include your error URL, cancel URL, and Return URL. Magento is very good about telling you what URL you should be using.
After you have setup Layout C in PayPal Manager you need to use your Manager Credentials in Magento.
Just in case you need it, here is the information on setting up your Hosted Checkout Pages in PayPal Manager:
PayPal Hosted Checkout Pages
Here is the information on where to find your PayPal Manager credentials:
Partner: Your PayPal Partner ID. Most direct Merchants have PayPal as the Partner
Vendor: Your PayPal user login name. Also known as Merchant Login
User: The ID of an additional user set up on your PayPal account. Same as Merchant login if you have not setup a separate user id in PayPal Manager.
Use your API Signature Credentials from your PayPal account for the Express Checkout setup.
In my case everything seemed fine at Magento level. I asked client questions about PayPal, at which point they tried to login to the paypal.com site and were unable to (authentication failed). Account had been locked. Client was able to resolve with PayPal tech support directly, no Magento issue after all.
I got the same problem and found the problem is
I type the API signature character by charter, the character "I" is similar to "l"
As there are multiple "I" in the signature, I have to tested one by one via the link mentioned by Vimalnath.
Then damn it, it works.
Therefore, copy is a better way while being careful about the spaces at the front or end.