Create a payment link given an email - paypal

Say I have a given email that is not mine (a customer) xx#gmail.com.
Say I would like to let another unknown customer pay money to this email. (= marketplace)
So in my website anyone who click a button is able to pay using Paypal to this given email. I have no relationship with any of them.
Is it possible with the API ? if so where is the reference to it ?
Is there any generic structure to create a link to request money based on a given email xx#gmail.com ?
In Adaptive Payment, Paypal says :
Adaptive Payments is now a limited release product
Which means ?

This can be done with the Express Checkout APIs, but based on what you're saying I would recommend you just use PayPal Standard.
This URL can be used as a template to build a payment request. Just replace the email in the business parameter with the email you want the payment to go to. Then anybody can use that URL to send a payment to that person.
https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&bn=AngellEYE_PHPClass&business=email#gmail.com&amount=25.00&currency_code=USD
So you can see this specifies the email address for where the payment should go, and it also includes the amount and currency code.
You can add any parameters you want from the PayPal Standard Variables Reference.

Related

PayPal - Pass Customer ID from my website - Receive confirmation with same Customer ID from my website

I am working on a software service and am offering a monthly subscription for my software service.
I am currently working on the subscription part - and am wanting to implement a paypal monthly recurring payment solution.
I have spent quite a bit of time looking over PayPal documentation, and trying different buttons, webhooks, IPN methods etc.
The problem is that I am not sure what solution to use - because I am confused by the multiple options.
What is most important to me is - that when the customers fill out the form on my website - and are then directed PayPal to pay - I then want to know that specific Customer ID from my website has successfully paid.
I would like to know:
Which SPECIFIC option(s) PayPal has that I can pass Customer ID from my website of that customer - let's say a subscription ID from my site - and that PayPal will then send the customer back with my subscription ID, that I passed them on to PayPal with.
Which is the easiest option to do that with?
I simply want the customer to:
sign up at my site. (my part)
be issued a unique Customer ID from my website (my part)
click a PayPal payment/subscribe button (my part)
be sent to PayPal to pay for the subscription (paypal's part)
be returned to my site with the unique Customer ID from my website from my site - as well as a confirmation of payment from PayPal (paypal's part)
Please do not simply pass me to the general area of the development sections -
As I said - I have already been through all of that and find there is too much information.
Please direct me to a specific solution, or example, or tutorial that covers a solution that will fit what I need.
I would recommend using the Express Checkout API with Recurring Payments.
The best thing to do would be to create a local invoice record in your system, and then have a related customer ID associated with that invoice.
In the CreateRecurringPaymentsProfile request to PayPal you can include a PROFILEREFERENCE parameter, which would be the invoice ID you generated for that order in your system. Then all future payments related to that profile would include this same reference ID as part of its data, so if you're using IPN, for example, it would be included there.
When working with Express Checkout the user is always guaranteed to end up back on your site to finish the checkout flow, so you can simply save data in sessions during checkout and update things like your database, email receipts, etc. directly in your payment flow. Then you could use IPN to process the recurring payments after that, and again, it would include that same reference ID. In IPN this would come back as rp_invoice_id.

PayPal Checkout - can we send funds to another person?

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!

Simple PayPal Payment Form or Email Link

I do all my accounting in Quickbooks Online and customers can pay invoices online. However sometimes I need to accept a payment that isn't tied to one specific invoice. I'd greatly appreciate it if someone can confirm which of these options are feasible and simplest/easiest way to implement. I'd like to avoid a PayPal Payments Pro Subscription as I will rarely need this functionality but if that's the only way, then so be it.
1) Send the customer a link to a simple payment form where either they can enter any payment amount or it pre-populates with the requested amount. (I'd prefer not to have to code a payment form on my site. I'd just like to do it with an iframe, framing in a PayPal hosted payment form.)
2) Create a payment request but email them the link to the request payment form myself rather than the request being mailed separately from PayPal.
You might have a look at the "Quickbooks Payment Request Wizard". it allows you to easily insert a PayPal payment button in e-mail versions of your QuickBooks invoices and estimates.
https://www.paypal.com/us/cgi-bin/?cmd=xpt/Marketplaces/seller/QuickBooksPaymentWizardIntro-outside
A similar version of this tool allows you to embed a payment button into an Outlook email.
https://www.paypal.com/cgi-bin/webscr?cmd=p/sell/payment_wizard_intro-outside
Both tools are free and require only a standard PayPal Business or Premier account.

Paypal custom variable solution using php

I'm trying to using paypal as payment for my site.
My site only sell a virtual currency, like "Diamond" in Online game.
So after reading i starting to use Express Checkout for Digital Goods, Is that right ? or i must other payment method ?
Then my question is when using Express Checkout for Digital Goods, how to pass custom variable ?
Let say i want to pay user_id, diamond_id, and some other variable from my database to the paypal api. It seem like paypal don't support custom variable to pass on the api call. I want after user complete the payment, then Paypal notify my server that the payment is complete by user_id and some other variable that i pass, so easy for me to know the detail.
after searching i find some solution,
First solution is to store "TOKEN"(Generated from "SetExpressCheckout" Method) and my custom variable which is belong to the TOKEN in the database, Then after payment complete paypal will notify my server the same TOKEN saved before. So i will query based on the TOKEN.
Second Solution is using get style in RETURNURL variable http://www.mysite.com/successpayment.php?user_id=13&diamond_id=88 So i will easy to grab the GET variable.
Which solution is right ? Is there any solution ? and how to secure the payment confirmation, i mean if someone know and hack my returnurl.
Thanks in advance
There are two parts to be able to successfully identify your order in the whole process:
To identify your order when the user is redirected back via the success or cancel URL, just pass the order id via the query string of the URL.
To identify your order when Paypal sends notifications about the transaction and associated events (refunds, reversals, disputes etc.) via IPN: Paypal does support a pass-through variable, which allows you to associate IPNs to the order record in your DB.
For express checkout you set PAYMENTREQUEST_0_INVNUM in the SetExpressCheckout call
In case you are creating a recurring profile, the parameter is named PROFILEREFERENCE in the CreateRecurringPaymentsProfile call
When you receive an IPN the invoice is passed as 'invoice' or 'rp_invoice_id' respectively
(My general advice, though: use Paypal only if you really have to)

Paypal request money - does it have API?

There is a request money by email feature on paypal - (where you can put email of some person and he can send you money)
Does it have an API ? (So I want to request money by email from my application)
So the answer is - no such API
It looks like you can send invoices (request money) by email with the Invoicing Service API
You can create your own personal PayPal.Me/name link (it's open to both personal and business use) and it will be associated with your PayPal account.
Whenever you need to collect money from anyone, just send them your PayPal.Me link via email (or chat, SMS...).
Your payer clicks the link, enters the amount, and that's it. The money is in your PayPal account in seconds (you'll pay the standard PayPal fee for a business account).
To request a specific amount just add it to the end of your link. For example, use
PayPal.Me/name/25
to request 25 USD. You can request a specific currency by adding the currency code to the amount, e.g.
PayPal.Me/name/25EUR
IT has that facility. you have to generate url. its mentioned at
https://www.x.com/developers/community/blogs/ppmtschad/creating-hyperlink-instead-paypal-button
First method is to use the Invoice API to generate the request and have paypal send out the email.
See https://www.paypal.com/cgi-bin/webscr?cmd=xpt/Merchant/bizui/IntegrationDirect-outside
Second method is to use the buy now buttons. First create the product in the paypal account, then create a buy now button for it. It'll give an option for Email. You can then send that link out whenever you want.
See https://www.x.com/developers/community/blogs/ppmtschad/creating-hyperlink-instead-paypal-button and
Third option is the rarely advertised custom cart URL. I don't have anything that details this however the following sample link can get you started.
https://secure.paypal.com/xclick/business=EMAIL%40DOMAIN.COM&item_name=Cart_Invoice_Custom_Name&amount=123.45&return=www.yourwebsite.com&currency_code=EUR
Remember to properly URL encode things. All the variables for dynamic buttons that I've tried work fine. Details of those are at https://www.paypal.com/cgi-bin/webscr?cmd=_pdn_xclick_techview_outside