Paypal payment change after confirmation - paypal

How can a Paypal payment be changed after it has been confirmed on the Paypal site?
When a Paypal payment is to be made, the user is taken from the vendor site to Paypal where he/she logs in. The bill is then presented, the user confirms the payment and is returned to the vendor site. The value charged by Paypal and by the vendor can change between confirmation on the Paypal site and the return to the vedor. I know this because it just happened to me. Does anyone know how this can be possible?
Additional Detail
The product I bought was for $14.99. There is a related product that I had bought a month ago that costs $34.99. These products complement one another (subscriptions). The vedor site showed the product and its $14.99 price. I clicked to be taken to Paypal where the price was shown as $14.99 and the Euro equivalent was also shown. I know that it showed me the correct price, as I was initially surprised that it was around 12 and not the 14.99 I expected (until a few milliseconds later I realised that it was the converted, Euro price - my Paypal account is Euro based). When I approved the transaction I was returned to the vendor site where I was thanked for buying the other (complementary) product at its $34.99 price. I went back to Paypal and found that 34.99 had been charged.
The vendor sorted this out quickly when I informed them, but I have had no reply from Paypal yet.

Related

PayPal initial payment fails but profile created anyway

This is driving me nuts, We're using PayPal Pro, REST API for billing agreements and we charge our users a fee per month in our Laravel app.
We have set: "initial_fail_amount_action": "CANCEL" but when the payment fails it still creates the profile and as a result my users are sent an invoice.
Practically any card number with the wrong details seems to be enough to activate the profiles.
This is in Live mode, I can search the web for a dummy credit card number, use any name and location and that is enough to trigger the "sale".
I've searched everywhere for a straight answer but can't get one. I hope someone can help

How can I limit the set of fields Paypal shows on express checkout?

Whenever our service initiates an express checkout and redirects the user to PayPal page the user sees the cart on the left and the following on the right:
Note that even the address and the phone number are required while we're an online service and don't need shipping information - once PayPal confirms the payment we'll happily "ship" over the Internet, so all we really need is a PayPal payment confirmation and I guess that requires just a credit card number, expiration date and the CSC.
Yes, I know that users who have already registered with PayPal can switch to "my PayPal account" option but that doesn't help people who don't have a PayPal account and those are forced to see this page with 12 fields.
Wait, that was the form for people who have their "country" identified as the USA. Here's what people tracked to Colombia see:
Even more fields and we only need a payment confirmation.
Is it possible to make PayPal limit the set of fields on that page?
Looks like you can avoid user to enter Billing and Contact information on guest checkout only if you properly transmit REAL shipping/contact data by your own in your SetExpressCheckout call.
&METHOD=SetExpressCheckout
&RETURNURL=https://...
&CANCELURL=https://...
&PAYMENTREQUEST_0_AMT=10.00
&PAYMENTREQUEST_0_PAYMENTACTION=Sale
&PAYMENTREQUEST_0_SHIPTOSTREET=1 Main Street
&PAYMENTREQUEST_0_SHIPTOCITY=San Jose
&PAYMENTREQUEST_0_SHIPTOSTATE=CA
&PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=US
&PAYMENTREQUEST_0_SHIPTOZIP=95131
&PAYMENTREQUEST_0_EMAIL=jsmith01#example.com
&PAYMENTREQUEST_0_SHIPTOPHONENUM=408-559-5948
If you set random data above with invalid city/state/zip PayPal will display Billing and Contact information inputs.

PayPal Adaptive Payment - multiple currency issues

I'm having a real headache with these damn Adaptive Payments for PayPal! So far, I've got it working - but now I'm trying to resolve some issues with it.
Why on earth don't they just let you request a payment in the sellers currency? I'm acting as a 3rd party system for people- so they list on my site, and then the buyer purchases from our site - but the money gets sent direct to them (via our account, with Adaptive payments - so we can do IPN requests). The problem here, is that not everyone will use the same currency.
To get around this, I've been using the ConvertCurrency feature ( https://developer.paypal.com/docs/classic/api/adaptive-payments/ConvertCurrency_API_Operation/ ). This works OK - as I can then give the prices to the buyer in their desired currency.
However, when I then send to paypal to make the payment - it requires multiple payments (at once) to be done in just 1 currency. So for example, I have:
Seller 1- $50 US
Seller 2- 10 EUR
I convert those into GBP, which gives me say £30 and £8 - so a total of £38. This payment goes through, but the problem arises when the IPN gets run. If the person receiving the funds hasn't already setup the account to accept in that currency, the get a message about "accepting" the funds, as seen here:
https://www.paypal.com/uk/cgi-bin/webscr?cmd=p/sell/mc/mc_receive-outside
Until they have decided on what to do there, I can't do squat with the payment - as it comes back with the status:
'transaction[0].pending_reason' => 'MULTI_CURRENCY',
I know for a fact the buyers are not going to like having to wait for a confirmation of their order. Why can't I just get it to accept in that currency, and convert automatically into their primary currency?
The other bad thing about this, is that I doubt the seller is going to be the amount they expect. PayPal are going to take their commission when doing the conversion 1 way, and then again when the person receiving it goes to convert it into their own currency.
How does eBay, etsy and other large sites that offer multiple purchases handle this? Its driving me up the wall!
Ok, well its not really a "solution", but its the route I'm going to have to go down - as I can't see any other option.
Now, I'm storing the converted amounts into my DB, and then showing those to the buyers (these numbers are updated via a cron, 2 times a day).
The buyer then gets shown the prices in their own currency, but when they go to paypal it actually asks for the money in the sellers currency. This means that the artist will always have the correct incoming currency, and I will not get that annoying issue.
If all goes to plan, the price the buyer see's on our site, should be the same as the amount they get charged,as I'm using the ConvertCurrency API to convert the amounts into the most up to date prices.
Hopefully this helps someone else, if they come across this post.

Paypal recurring payment response verification and match with paypal return page variable

I am working on a website to sell some advertisement concept online, where user can get the access of more options after opting a monthly subscription paying through recurring Paypal.
I have already implemented the recurring paypal functionality successfully except one thing. Like One can subscribe for the plan and monthly payments are deducted from the concerned account.
But I have no idea how to update my database after the first payment from the recurring paypal.
eg, a customer comes to the site, choose his options, went to paypal recurring part and made the transaction. Now I have one page , where the paypal returns the control, which is given on the return url. Now the problem is, in this page when I am updating the database, the paymanet status is pending.
Then after a while when the IPN response comes to the application, I wont able to update the earlier entry in my database, as I am not sure how to match these two entries, I mean upon which field the update query should be coded.
There's no point in updating the database at all until you get the money. When you get the money, the transaction contains everything you need to create or update the subscription.

How to do PayPal/Google Checkout in an Auction style web application?

I'm curious if there is a way to process/connect buyers and sellers on my site without the site having to charge the buyer and credit the seller. In other words, I don't want to touch the money, but I do want to integrate the process as much as possible on my site.
I guess what I'm asking is how do auction sites manage the transactions between buyer and seller? I really don't want my site to resort to emailing the buyer with the seller's contact information and saying .... "here's the sellers info. Good luck with that."
Ebay seems to allow a buyer to go to PayPal and pay the seller, but returns back to Ebay with payment confirmation. Even though the transaction is between Buyer and Seller, Ebay is able to retrieve some details about that transaction. Is this simply because Ebay owns PayPal, or can other sites do the same?
-This is an old question but the information is a bit off so I will try to re-answer.
It is all doable. There is no custom code going on like codingspace is suggesting.
Paypal has a number of checkout types, I have some decent experience with express checkout so I will try to answer with an example of those calls.
You set up the payment with a SetExpressCheckout call using your call back uri (so you see if the customer confirms) and the sellers info in the request (you will need appropriate information from the seller).
With that, once they confirm you can bill them with DoExpressCheckoutPayment using the sellers and info and the returned information from SetExpressCheckout.
And that is effectively the process. Pretty simple really.
In terms of taking a commission, you can't do it via that specific transaction. What most mass retailers do is keep a record of all the commissions and bill the seller at the end of the month. The other option is forcing sellers to buy prepay credit which is then used on commisions of each sale, this is what trademe.co.nz does (NZ's ebay.)
Let me know any questions.
I'm guessing you don't want to take a commission off of each sale on your site then. The only thing that comes to mind is to have the seller provide their own paypal "buy now" button after the sale that you can then give to the buyer.