I have implemented donate button which is really working fine, but there is one issue which was reported by few donas.
They are not able to donate it using their credit card. They are seeing Error
"Something went wrong"
We couldn't process this donation, Please try again later. this could just be temporary glitch.
But few donors are able to make payments using their credit cards.
I have used few test credit card and out of one worked.
**1) 4111111111111111 - Didn't worked
2) 4012888888881881 - Worked
3) 4222222222222 - Didn't worked**
Any idea, why all credit cards not worked
Those card numbers are not accepted by the PayPal sandbox. Use a random one from developer.paypal.com
For better results when testing, use a Personal sandbox account , it is faster for testing than entering a card manually, and less likely to result in an unexpected decline.
As for any declines of real cards in the live environment, that would be an unrelated issue; likely a problem with that particular card.
Related
I'm using Paypal for my online store (at least trying) and everything was OK until today: while testing with Paypal Sandbox, at the final step Paypal randomly says that the "Payment can't be finalized". I have no messages nor informations about what's happenning.
I'll say it works 1 time out of 3.
I use IPN and everything is going right when Paypal doesn't block the payment. I use 3 Sandbox Accounts that are "Verified", one has a VISA credit card and the 2 others have no Credit Card but all of them have 3000+€ on the account.
I couldn't find a solution and it's been pretty annoying so I'd really appreciate some help.
Thanks in advance !
We're currently using the rest API for PayPal (PHP) and everything was working fine in the sandbox. When we went live we continue to get the following message:
{"name":"INSTRUMENT_DECLINED","details":[],"message":"The instrument presented was either declined by the processor or bank, or it can't be used for this payment.","information_link":"https://developer.paypal.com/docs/api/#INSTRUMENT_DECLINED","debug_id":"8ad80896530bd"}
What does this mean and more importantly is there a reason this is not being caught as an exception in the php SDK. It seems to pass through without issues (using the exact same code as in the sample file for executing a payment). Is there a way to catch this?
Sounds like the payment method was turned down by the bank, or is not allowed for the attempted purchase. For instance prepaid debit cards are often now able to complete certain payments, and many cards are restricted geographically.
everything was working fine in the sandbox
The sandbox doesn't actually check with the bank whether a card is good, so it wouldn't have thrown the same error. The sandbox is for testing whether the code paths work as intended. The problem is not with your script.
In case other people look at this issue.
There is actually an official explanation and solution in the paypal documentation.
A buyer's funding source can fail for several reasons, including:
The billing address associated with the financial instrument could not
be confirmed. The transaction exceeds the card limit. The card issuer
denied the transaction. If a funding source fails, the Orders API
returns the INSTRUMENT_DECLINED error. Handle this error and provide
the buyer an opportunity to select a different payment option by
restarting the payment in the onApprove function.
https://developer.paypal.com/docs/platforms/checkout/add-capabilities/handle-funding-failures/
Situation:
We recently took a magento store live and when we got our domain setup properly our payment info started showing double entries for some reason. This double entry shows anywhere that payment info would normally show (customer account, admin order view, emails, and printed orders).
Problem:
What we see now is this:
Credit Card
Credit Card 1
Credit Card Type: CardType
Credit Card Number: xxxx-0000
Processed Amount: $1XX.XX
Credit Card 2
Credit Card Type: CardType
Credit Card Number: xxxx-0000
Order was placed using USD
We are getting calls and emails from customers wanting to be sure we haven't charged them twice, but the payment only goes through once so I know the actual payment method (Authorize.net) is still working properly.
I'm not sure what would have caused this problem since the only change that was made was to stop running off IP when we pointed the domain. I want to get the original problem fixed, but if I can't then I need to know how to pull specific data out of {{var payment}} so that I can just show:
a.)Payment type
b.)[if credit card]Card type
c.)Payment amount
Any help is greatly appreciated.
We have been experiencing the same problem. (Magento Enterprise 1.13.02) We tested on a clean installation and did not have the problem, and began to investigate. Here's what we found, and how we fixed it:
The good news is, there is only a single charge -- it's just being displayed twice because of an 'if statement' unexpectedly returning true.
In this file:
/app/code/core/Mage/Paygate/Block/Authorizenet/Info/Cc.php
You will see function called getCards. This part was causing the problem for us:
if ($this->getInfo()->getCcType() && $this->_isCheckoutProgressBlockFlag) {
$cards[] = $this->getSpecificInformation();
}
Specifically, getCcType was returning a value, where on a clean installation it was not.
In our case, we found an Order/Invoice Editor extension to be the source of the problem. This one, specifically:
http://www.magentocommerce.com/magento-connect/re-authorize-order-editor-grid-manager-invoice-editor.html
Orders placed while this extension is enabled have credit card details (such as CcType, and the encrypted card number) saved in the database (sales_flat_order_payment). Orders placed with this extension disabled do not.
We have contacted the developer for clarification, as we do not want the PCI compliance headache of storing encrypted credit card numbers.
We've disabled the extension for now, and it has solved our problem. We could modify the above mentioned 'if statement' if we wanted to keep storing credit cards and display properly.
Hope this helps!
today i've approached by a client asking me to do major revamp on website and offering good money.
However, the payment method he offering is via credit card - paypal, only method available to him.
So, my question now is, what should i do to protect myself from paypal chargeback?
Is there any protection i can add to my php codes to protect me from this kind of event incase it occured?
Thank you
The fact that you're thinking of putting something into the code is absurd. Putting something in the code will do nothing in the end. If you're smart, you will get all of his contact information and verify it before working with him and log any and all conversations. Then if he attempts a chargeback, you can take legal action against him to retrieve the funds.
The seller and PayPal can work together to dispute the chargeback with the buyer's credit card company. While the chargeback is being disputed, PayPal will debit the seller’s account for the amount in question. If PayPal and the seller ultimately win the chargeback dispute, the credit card company will reimburse PayPal for the chargeback, and PayPal will transfer the recovered funds back to the seller. Depending on the credit card company involved, the process may take up to 75 days.
From: Paypal - Chargeback FAQ
After people pay in our site using paypal they are sent to an address http://www.xyxyxy.com/xyxyx.php where they can access the service we are selling them. The problem is this... when they pay with paypal, the system is working perfectly, but, when they pay with a credit card, they are sent to a page that says... Permission to download denied....
What can I do? Does anybody have any idea?
Check the paypal IPN handler in your code. It probably sets some variables that the credit card path doesn't.
Try to pay yourself with a credit card, then you can see exactly what goes wrong. Or ask a friend for a favour. With the goal of seeing for yourself what goes wrong.
Failing that, try to get the url of the page that gives this error message from the people who are experiencing it.