While testing the direct payment with credit card I always get the following error: "You cannot use an e-mail address or card number that belongs to an existing PayPal account. If you have a PayPal account, please log in. If you don't, please change the e-mail address or card number and try again".
The credit cards number I use for testing come from http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm but I also tried those produced by http://www.getcreditcardnumbers.com/.
Finally I found the solution by cleaning browser cache and cookies before to connect to my site.
It's strange but it seems that having a PayPal cookie in the browser (created by during a previous PayPal transaction) causes its use also during a guest payment attempt.
Related
I am using Express Checkout, and when testing in sandbox, I used to fill in fake but valid credit card numbers, like those produced by this site: http://www.getcreditcardnumbers.com/
It all worked fine until recently I found that PayPal sandbox no longer accepts these numbers. The page keeps showing "The card you entered cannot be used for this payment. Please enter a different credit or debit card number."
However I did find one card number 4444333322221111 that makes PayPal sanbox show a different error: "You might already have an account, Please login." Maybe this means that PayPal does not simply reject any card number.
I also tried creating a test account in Dashboard > Sandbox > Accounts, and use the card number inside the Profile section, but that didn't work either. So how should I test in PayPal sandbox?
When making a testing in Sandbox for credit card, you must make sure the card number hasn't been used anywhere in PayPal. Use http://www.fakenamegenerator.com/ to get a fresh card number.
paypal provides a list of creditcard numbers for testing purposes
https://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm
I am using the sandbox url for accepting test payment through paypal.
When a user clicks a button he is redirected to paypal sandbox site. On the paypal sandbox site the user is presented with an option to pay using credit card. However when I try test credit card 4111-1111-1111-1111 it gives me the following error "The card you entered cannot be used for this payment. Please enter a different debit or credit card number."
I am not sure what am I missing?
The numbers provided in the documentation are used so much that the sandbox servers just don't accept them anymore. They really need to update the docs.
I would recommend generating fresh credit card numbers to use. I always use this site for that. The numbers it generates will work fine in the sandbox.
We are using the secure token method to process credit card payments with PayPal hosted pages. We generate the secure token by providing the required information
[TRXTYPE=S, AMT=xxx, TENDER=C, ORDERID=xxxxxxxxxxxx, CURRENCY=USD, CREATESECURETOKEN=Y, SECURETOKENID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx, PARTNER=Paypal, VENDOR=xxxxxx, USER=xxxxxx, PWD=xxxxxx]
We get the success result as follows:
{"RESULT"=>"0", "SECURETOKEN"=>"xxxxxxxxxxxxxxxxxxxxxxxxx", "SECURETOKENID"=>"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "RESPMSG"=>"Approved"}
We then send this back to PayPal where the user can choose to pay with credit card and or PayPal.
When someone pays with credit card, all is fine, when someone chooses to pay using "PayPal" it asks user for PayPal credentials and once provided it shows another screen to accept the charges. Once the user accepts, we get the following error message:
{"TYPE":"S","RESPMSG":"Original transaction ID not found: xxxxxxxxxxxx","TAX":"0.00","PNREF":"xxxxxxxxxxxx","TENDER":"P","AVSDATA":"XXN","METHOD":"P","SECURETOKEN":"xxxxxxxxxxxxxxxxxxxxxxxxx","AMT":"1.00","SECURETOKENID":"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx","TRANSTIME":"2014-01-02 06:09:02","ORDERID":"xxxxxxxx36U1","RESULT":"19","DUPLICATE":"2","TRXTYPE":"S","action":"create","controller":"payment_notifications"}
The help I got from PayPal folks says "Looking at the logs it seems like the transaction was declined with the result code 19 which means that the transaction ID you entered for this transaction is not valid. When searched for the original transaction, I could not find any. So, it seems like the original transaction is not valid. Provide an valid original transaction ID and it should go through fine."
However nowhere in their documentation do they suggest to send this "transaction ID" variable and without it we have been processing Credit Card payments just fine.
My question:
What do i need to change in my process that I can accept Credit Card and PayPal payments?
Any help will be greatly appreciated.
It seems the issue was on PayPal side and they have yet to come back to us with an answer. Once thing which they do not openly advertise is that they have the ability to remove the Pay with PayPal button form the hosted pages so if someone else runs across the same issue they should ask PayPal to remove the Pay with PayPal button from their end, made sure to confirm that you are not disabling the service from express checkout just hiding the button.
Paypal says, use CCREJECT-REFUSED for address1 in credit card detail. https://developer.paypal.com/webapps/developer/docs/classic/express-checkout/ht_ec_fundingfailure10486/
I tried creating new test user (CC credential was automatically created). Login into sandbox and add CC detail I got from first step. I change address line to CCREJECT-REFUSED. Save it. And then tested it, checking out via sandbox. Error 10486 was not triggered.
Any hint?
Mistake I made was to edit the SHIPPING address instead of the BILLING address.
Your best bet is to log directly into https://www.sandbox.paypal.com and hit the 'Profile' tab and try to add or edit a card there.
Watch out for the following :
Make sure you put exactly CCREJECT-REFUSED for BILLING address Line 1 with no spaces and TWO C at the beginning
They seem to be incompetent to keep the site running smoothly at all times so just try again
later if you get Service Temporarily Unavailable.
Make sure if you're adding a new card (you can use your own real card number) that you aren't getting a message telling you This card number is already assigned to another PayPal account. For security reasons, each card may only be assigned to one PayPal account because then you'll not be adding anything
Make sure payment method is actually set to credit card before you hit Submit for the order.
It does actually work though (as of today)
Okay, I was wrong to assume that the error can be triggered using direct CC payment.
As the document suggest:
You need to create a test user account
Login into sandbox using fore-mentioned account.
Change address part of test user CC to: CCREJECT-REFUSED
Then, in order to test it, run your express checkout flow as usual. But on the last part, do not use direct CC input. Instead, choose the other option -- login into your test user paypal account.
You will then received this kind of response:
TIMESTAMP=2013%2d08%2d19T06%3a50%3a45Z&CORRELATIONID=6761aff7944b&ACK=Failure&VERSION=104&BUILD=7319395&L_ERRORCODE0=10486&L_SHORTMESSAGE0=This%20transaction%20couldn%27t%20be%20completed%2e&L_LONGMESSAGE0=This%20transaction%20couldn%27t%20be%20completed%2e%20Please%20redirect%20your%20customer%20to%20PayPal%2e&L_SEVERITYCODE0=Error
All of these answers are now out of date. It's impossible to add a card with CCREJECT-REFUSED as the address and, if you could, it wouldn't do anything. You should follow the instructions at: https://developer.paypal.com/docs/classic/lifecycle/sb_error-conditions/
For the majority of APIs exposed by PayPal, this usually involves setting the order amount to the desired error code after enabling negative testing mode for your sandbox business account.
For example, triggering a 10486 via the Express Checkout NVP API would involve setting the AMT to $104.86.
As taking directly from their tutorial: (see step 2)
Login to https://www.sandbox.paypal.com using your buyer's test PayPal account.
Replace the contents of the street address Line-1 of the buyer's test credit card, with CCREJECT-REFUSED.
Execute a typical Express Checkout payment flow against the Sandbox test environment using the same buyer account and with the same credit card that you just modified.
When you execute DoExpressCheckoutPayment, error code 10486 will be returned. Your code should redirect the buyer back to PayPal using the same redirect URL used to start the checkout flow and the same Express Checkout token.
Accounts I create through the PayPal sandbox (created on http://developer.paypal.com/) are created with zero balance and no credit card regardless of what I set when creating the account.
This results in:
On payment page, a request for me to enter a credit card for the account
No paypal balance (tested by logging into the paypal sandbox).
I have tried creating multiple accounts, several with balances of $3,000 USD, one with a credit card set, another with paypal set, and always with credit card type of Visa. Always they are created blank.
Is this a PayPal related problem, or am I not creating sandbox accounts correctly?
We were able to reproduce this issue and PayPal is working to resolve it right now. I will reply back as soon as this is fixed. Sorry for the inconvenience.
Thanks,