I've done a LOT of research on how to accept payments through PayPal for items whose price changes dynamically.
My site sells a service and there are pretty much an infinite possible prices for the same item based on parameters (price increments in $0.99, 0.20 and 0.10).
I've looked into Paypal Express but it doesn't seem to allow accepting credit cards / debit cards, only payments through Paypal.
I looked into a "hacky" solution that calls the API's BMUpdateButton method to update the price of the button on PayPal's side but this won't work in my case as multiple users may be on the page at the same time and would need to be quoted different prices.
I saw that I can create a payment page from scratch and call APIs to create, accept, and verify payments against PayPal but that's a lot of coding for one and that tremendously reduces security as I don't have SSL and will need to get it which isn't cheap for a start-up business :)
I also came across creating a "non-hosted" button (haven't tried it yet) but that seems to require specifying my business email address in the HTML code which would be far less than ideal.
What I'd really like to do is have a php page act as a gatekeeper between the time the user checks out and what gets sent to PayPal where my PHP can inject the payment amount in and the user can confirm it on the PayPal page and checkout. Any other solution that satisfy the requirements will be truly appreciated.
Requirements again are
Must accept credit cards and PayPal payments
User does not have to have a Paypal account
Price must be dynamic and be able to support multiple users at the same time
Must be as secure as possible. I don't have SSL. An html input type='hidden' won't work as it's too easy to manipulate.
Another thing I thought of just now while typing this post up - if I can securely add quantities of an "item" that may also serve the purpose. For instance, I could add 10 quantities of "items" costing $0.99 and 2 "items" costing 0.10 to get to my required total of 10.19. Is it possible? The quantity boxes, again, must not be changeable by the user. It's more of an all or nothing type of deal :)
Help will be truly appreciated. Please let me know if I've missed anything.
Express Checkout does include "Guest Checkout" so people can pay using a credit card without having or creating a PayPal account. Unfortunately, they just recently made changes so you're forced to click a "Guest Checkout" button before you can see the full credit card form, so some buyers still miss it and don't realize they can do that.
Payments Pro would definitely give you want, but you would indeed need an SSL, and you'd need to make sure you're not saving any credit card details locally.
Payments Advanced is similar to Pro except that the form is hosted within an iframe and resides on PayPal's server so you don't need an SSL that way.
I personally prefer Payments Pro.
Related
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 plan to create a page on my website that lets others upload games and apps they've built, then sell them via PayPal. Please forgive me if this is a simple question, I've never used PayPal for anything other than purchasing things. I need the button to dynamically change who it's sending the money to. I understand that in order to split who the money is going to, I would need to set up a business account, but if I wanted the creator to keep all of the money they charge for their virtual goods, would it be as simple as changing one of the tags within the PayPal form?
I'm experienced in PHP, SQL and Javascript, so dynamically changing any of the forms elements wouldn't be an issue, but would the payment actually finalize?
Yes, if you're working with Payments Standard it would just be a matter of updating the business parameter with the email address or PayPal merchant ID of the person you want the money to go to.
This isn't the best way to do it, though, because people can see the HTML, copy it, adjust it, and submit payments that are for less than what you set the price at.
In order to protect that sort of stuff you could generate your button code using the Button Manager API, or better yet, go with Express Checkout and the Permissions API (or manually granting permissions) so you can make API calls on behalf of 3rd party users.
My PHP class library for PayPal would make this pretty simple for you.
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.
I developed a Web Application that accepts payments via the ExpressCheckout API, for users to become a members.
Everything works fine.
I now want to extend my Web Application Services and offer my users with the possibility to buy items which are sold by third parties (my members).
The principle I would like to implement is quite simple: for each order, let the user pay for the item they choose and then transfer a part of the amount I received to the item provider, and keep some money for me. I would like to automate this process so that once I received the payment notification, I compute the amount of money to transfer to the item provider who might or not have a Paypal account (in other words, this means that I could maybe need to transfer the money to a bank account, using the IBAN/SWIFT data) and then proceed with the money transfer.
I tried to find a solution reading your documentation and came across the "chained payment" but the latter does not seem to be used within the ExpressCheckout workflow.
Also, since my implementation of the ExpressCheckout flow works, I would not like to have to find a totally different solution but rather extend it... if possible.
Could you please tell me which is the best solution for me?
In advance, many thanks for your help.
You could do 1 of 2 things. You could use Express Checkout with parallel payments. This means you could split the transaction up between different accounts at the time of purchase. The other option would be to just receive all of the funds into your account, and then when you are wanting to send money to the other accounts you could either use the Adaptive Payments (Pay) API or the MassPayments API to send money to the other accounts. Keep in mind you would have to send it to their PayPal accounts, you would not be able to send it directly to a bank account with either one of these API's.
I had the same issue and I got an answer from PayPal that it is not allowed to use Express Checkout to transfer money to your PayPal account and - at a later point in time - transfer the amount minus your service fee (which stays on your PayPal account) via Adapative Payments API to the seller's PayPal account. PayPal suggested to use Chained Payments API instead. All works fine in the sandbox, but once you need a Live APP ID from PayPal they will review your business case and deny it. At least that what happened to me.
I know that is old question, but anyway, I tried to find solution and was enable to perform the simillar thing like described in question. So, then I asked paypal about this, and they gave me advice to use SellerDetailsType Fields that 's called PayPalAccountID, description for this field is Unique identifier for the merchant. For parallel payments, this field is required and must contain the Payer Id or the email address of the merchant. It wasn't clear for me to use this field for solving my problem. Here is link https://developer.paypal.com/webapps/developer/docs/classic/api/merchant/SetExpressCheckout_API_Operation_SOAP/ I described field for soap request, for NVP it's called PAYMENTREQUEST_n_SELLERPAYPALACCOUNTID, but the idea is the same. I hope it will help someone.
I need to be able to initiate transactions between two unknown parties via Paypal, say donor and recipient, without ever having to be exposed to the money itself - is this possible?
Basically, I want a donor to be able to click the donate button, fill in the amount and then be passed to Paypal to verify their details. My site will also supply the recipients account details to Paypal so the money goes directly to them rather than to my Paypal account. Essentially I want to enable transactions without having any legal or tax responsibilities for the money.
This needs to happen for an unlimited number of donors and recipients.
Can I do this? Paypal haven't been very helpful at all.
I am sorry to hear that you feel PayPal hasn't been helpful at all, but there are many resources at your disposal. It sounds like you have just not been asking the right person, or asking the right questions. Customer service for large corporations are difficult to traverse, but there are many people at PayPal who would have been easily able to answer your questions.
I always say this, though i'm not sure how many times on this forum: It is possible to do whatever you want with PayPal. Give me your idea, I will give you the way. Whatever you want to do can be done with the right coding.
You can use Website Payments Standard (WPS), and you would only need your merchant's email address to create buttons that go to their account. (set the business variable)
You can also use third party API calls for Website Payments Pro (WPP) and Express Checkout (EC) to process direct credit card transactions as well as PayPal payments via API for your merchants. (set the subject variable to the seller you're submitting the API on behalf of)
As for not having any legal or tax responsibilities for offering the service of payment connectivity (marketplace functionality) between sellers and merchants: IMHO you are dreaming. However, you will want to contact your local legal and tax representative to ask what liability you have. Though this should go without saying; this is StackOverflow, where you should ask questions regarding programming, not tax and legal advice.
Your tax and legal concerns are separate concerns, irrelevant to the technical question of whether it is possible to do what you want with PayPal or not.