I recently added a paypal express checkout to the ecommerce site I work for. So far so good. Unfortunately our courier company like to have a phone number, and this is not included in the data object the express checkout returns.
I have tried the website prefs change outlined here, it made no difference to the checkout or the returned data: How can I require a buyer's phone number with Paypal Express Checkout?
There does not seem to be any documentation on developer.paypal.com that indicates any other change is needed.
Does anybody have any further information?
Sorted it. You don't get the phone number immediately, but it is available via a request to /v1/payments/payment/PAYMENT_ID via the REST API. Payer-PayerInfo->Phone.
Related
We have been using the PayPal Checkout (v4) for a little while now, and really like the way it integrates. This is the system I'm talking about:
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/checkout-flow/
We are using this plugin to do the magic:
https://github.com/paypal/paypal-checkout
Anyway, as I said we have this all working fine when someone is sending US the money. However, we also have a tool on our site where "customers" can send money to sellers. For this, we currently have the Adaptive Payments system.
My question: How can we use the PayPal Checkout tool to let people send to a given email address, while still getting the callback for the order? (so we can enter it into our system, to track it)
At first I thought this wouldn't be possible - but I've seen this exact same logic on eBay:
Is this something that is publicly available? Or is it just a "PayPal-Ebay" thing? (as they are effectively the same company, so maybe have access to different tools than the general public do)
Thanks!
Here's another option -- the payee option in PayPal's REST api:
https://devblog.paypal.com/setting-payee/
Using this, you can set the money to be moved to whichever paypal account you like with just the email address.
The PayPal Express Checkout v4 is based on PayPal Rest API which does not support spliting or sending payment to a given PayPal account that is not the API caller. Adaptive payment is the right to do so in PayPal. The PayPal checkout on eBay is only for eBay, the checkout experience may look similar but it's using different product than the Express Checkout v4.
The basic integration lets you set up a button for a merchant using only their client id:
https://developer.paypal.com/docs/integration/direct/express-checkout/integration-jsv4/basic-integration/
So if you can collect the merchant's client id, you can set up a button to make payments to that merchant.
Hope that helps!
I'm using the same PayPal merchant account on multiple websites. Currently I'm using old-style PayPal links () with IPN notification.
Now I'd like to start using the PayPal Express API. But at least for a while I would have the old links still online on some sites.
The switch to PayPal Express seems to be per account. Will the old links and IPN continue to work ?
when you implement PayPal express checkout that will not hinder your PayPal links on whatever site you have them on. You can have PayPal Express Checkout with non-hosted button code on the site at the same time; no problem, at least while you're done with your testing, etc.
PayPal Express Checkout can be used across multiple sites; however APIs are only one per account. What this means is that if you want the funds to go to separate accounts for each site then you'll need a new PayPal account per site as you'll have to use different APIs with Express Checkout. That is the UserName/Password/Signature.
However you will have one IPN listener field for each account; so if you don't mind getting pinged for each site using the same IPN listener then you're fine.
You can just create specific prefix # for each site with the products themselves. Like store # 1 = 001Product# | Store # 2 002Product | etc. This will help differentiate IPN pings for each store and help you catalog it better. This is if you decide to use the same APIs for Express Checkout with the same IPN of the account. If so, you will have the PayPal button purchases along with the Express Checkout purchases you all the same data IPN wise and all funds will roll into the same account.
I hope I hit your mark on your question, but let me know if you need additional clarity as I'm happy to help. Have a good one.
I just noticed that paypal now has a number of solutions to accept payment, and per this own page, it doesn't really compare their difference in a nice way:
https://developer.paypal.com/docs/accept-payments/
Does anyone happen to know (I am using C#/.net, but JS is also OK), if I want to have a customized checkout, in which I can customize the look and feel, and allow customers to enter/select shipping address (which is saved in the site's own database), which paypal method I should use?
Thanks! (also if any document that explain better the differences of the above different ways of accept payment, it would be great!)
If you want to completely customize everything then the PayPal Payments Pro Payflow Edition is a viable solution.
Here is the link to Sample Code C# is one of the programming languages offered in the Sample Payflow Code.
You will need to build your form/shopping cart and then the Sample Code can be used to make the payment request to process the payments. The Entire Transaction will take place place on your website from start to finish.
If you want PayPal to handle the payment portion with a customer leaving your site to use PayPal as the Payment method and then returning to your site to complete the payment, Express Checkout is the other option that will work.
You can make an API call to PayPal to get the Shipping information from PayPal and then store the shipping info in your own database.
Here is the Express Checkout Sample Code
I need to implement Website Payment Pro hosted page solution for my UK client.
After the discussion with the PayPal team and looking through the tech guide I did the following:
Call BMCreateButton API (end point url -https://api-3t.sandbox.paypal.com/nvp) to get the EMAILLINK
Redirect user to EMAILINK(securepayments.sandbox.paypal.com/webapps/HostedSoleSolutionApp/webflow/sparta/hostedSoleSolutionProcess?hosted_button_id=HSSS-jsCeH.xi9R3Q........) for the PP hosted page
User completes the payment at the hosted page
After the payment completion user is redirected back to my confirmation page.
In the response I only see 'tx' (TransactionId) and CSCMATCH(=M).
There is no PNREF or other status param which tells me if payment is 'AUTHORIZED', 'DECLINE' , 'CANCELLED' or any error message'.
I am comparing this solution with the payflow gateway hosted page solution (which is not available in UK) wherein i receive enough of the response params to make proper decision at my end after receiving the response.
Please advise.
PayPal's Website Payments Pro has ways for you to get this information, but they look very different from the Payflow product.
(The Payflow product was built by a different company that was later acquired by PayPal, which is why the two products look entirely different.)
The "PayPal way" to get this information is to use IPNs to securely verify the payment information. Some PayPal products also support PDT (https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/paymentdatatransfer/), which is basically the same as IPN except that you post to PayPal to get the verification rather than waiting for PayPal to post to you.
See also this integration guide, specifically chapter 7 "order processing", which explains how to do this:
https://www.paypalobjects.com/webstatic/en_GB/developer/docs/pdf/hostedsolution_uk.pdf
The separate round-trip to PayPal is to prevent someone from constructing a false transaction ID (and status information) and posting to your return URL to try to convince you they made a payment when they had not in fact done so.
Hi I have searched for this solution and although others have experienced the same problem I couldn't find a solution that works for my site.
My wordpress site mainly sells registrations/bookings for events and I'm using the s2Memberplugin to process the payments with Paypal. The problem is that when we direct the users/customers to the paypal page to complete the transaction which i want set up with the option of paying via credit/debit card if the user/customer doesn’t have (or doesn’t want to create one) a paypal account. That has been working perfectly except for when users/customers are using a variety of internet browser with various cookie settings so the user/customer get’s directed to a completely different page both in appearance and functionality from the page I want them to see. This incorrect page ‘requires’ users/customers to have or create a paypal account to make the payment, no option to pay via card is available. I tried calling paypal and of course they say it is something wrong with my site.
Over 20 days ago i lodged a support ticket with Paypal MTS (or whatever they are called) and of course no response. I have lodged about 5 more tickets and made about 10 more phone calls and they simply don't care about customers. That is clearly demonstrated when you ask to speak to the complaints section and they say "We don't have a complaints section'
Thanks very much, any assistance is greatly appreciated
I haven't been provided with any error codes, unfortunately - i did ask for them but nobody supplied them.
we just discovered that the payflow and IPN settings within my sites plugin were empty but i'm filling them in now but i have two questions:
The vendor, is that just my username for my paypal account? (why don't they just use the same terminology - confusing)
My s2Member plugin say's i'll need my IPN url (and then supplies a url, but whn i look at the IPN notification url within my paypal settings it's a totally different link. Should i be changing my paypal IPN url to that which is supplied by my s2Member plugin or am i getting two different url's confused?
Thanks for your help again mate.
If you're using Payments Standard this experience is cookie based as you mentioned. If you want to make sure the full credit card form shows up and allows people to pay with a credit card without creating an account you can use the Express Checkout API instead.
In your SetExpressCheckout request you just need to set SOLUTION=Sole and LANDINGPAGE=Billing.