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¤cy_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
Related
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¤cy_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.
Using the PayPal API, I want to send an invoice marked as paid via email, as soon as the buyer completes the purchase in the web application.
Is it possible?
Without using the API, you cannot send an email notification manually for paid invoices. Is that right?
In your checkout system, when the order comes through, make a call to the CreateInvoice API. This will generate the invoice in the PayPal system. You can use the "number" parameter in the CreateInvoice request to pass your regular order ID if you have one so that the invoices are nicely related to your checkout order.
Then, immediately after that call, make a call to MarkInvoiceAsPaid. This will mark the invoice as paid in the PayPal system so that you have a nice record of it there.
Sounds like what you're after, right?
If you happen to be working with PHP, my class library for PayPal will make all of the invoicing API calls very simple for you.
You need to do 3 things:
CreateInvoice
SendInvoice (then customer receives invoice via e-mail, but he still button "Pay now").
When he pays you directly, you send MarkInvoiceAsPaid. That removes the "Pay now" and adds message that the invoice is marked as paid on the given date.
You need to make 3 API calls here:
Create an invoice
Send invoice
Record payment
When you create an invoice, it is created in DRAFT state and it is actually not a legitimate invoice. So, when merchant send this invoice the state of the invoice changes to SENT state and it becomes legitimate. To mark it as paid, you need to call record payment API and pass the payment method in request body as CASH, CREDIT_CARD, DEBIT_CARD, PAYPAL, WIRE_TRANSFER or, OTHER. The API documentation on PayPal developer site is pretty much informative. I hope this answers your question.
Is there a way in PayPal Classic API (PayPal Payments Standard with the BuyNow button form) where I can turn off the sending of the customer receipt email?
See, there's a bug currently on the PayPal website where it won't let you add another primary account. So, this means the CEO's name and primary email account are going out on every customer receipt. I called PayPal tech support and they said it was down for now, but after 3 days of reattempting to add a replacement primary account, the bug still is there. So, I thought I'd go another route -- not sending the receipt at all. Is that possible?
Unfortunately there is not a way you can turn of the email notifications that go out to the buyer.
It's not a problem but i don't know how to do this; let's say that I have a sign up form with some fields: username, password, email, as you know the user clicks on the BUY BUTTON and pay's up.
Well, how can I know the username that just made the payment, I mean how can I link those two things together, one idea it's to use the email address, but mose of the people sign up with different email addresses, mabe they have a different paypal address...you know...I need this information because I need a way to activate the account.
And I also need to know, if the user canceled a subscription will paypal post a message to my IPN link?
I suggest you use the following PHP script for easy integration with PayPal's service (assuming you're using PHP): http://www.micahcarrick.com/04-19-2005/php-paypal-ipn-integration-class.html
If you do, the e-mail you will be looking for will be supplied in
$paypal->ipn_data['payer_email']
(again, assuming that $paypal is your object of the paypal_class class)
Obviously you have to follow the setup steps first. I suggest using the example script. It is really easy to do - in only four steps.
I suggest you read the official paypal documentation about IPN and recurring payments.
PayPal issues a IPN for every event that occurs to the user subscription, for example:
subscr_signup
subscr_eot
subscr_cancel
subscr_failed
About the parameter, you can use a parameter named "custom" to pass a value, for example the user id or email, and that parameter will be sent you in every IPN.
Here are implementations of the PayPal IPN in both C# and VB:
http://www.xdevsoftware.com/PPIPNDesc.aspx
Here's an account of how I incorporated it into a PayPal subscriptions scenario:
http://www.codersbarn.com/post/2008/07/10/ASPNET-PayPal-Subscriptions-IPN.aspx
I wanted to use Paypal's IPN service to verify payments for a recurring subscription charge for my website. How do you tie the IPN confirmations to a user in your site?
The IPN confirmation message has a name, email, paypal ID, recurring payment ID, but it seems to not give a unique identifier since I don't know where the paypal ID or recurring payment id comes from and it may not be trivial to uniquely match up the name/email that a user has on their paypal account (or entered there) with the name/email I have for them on my site (there may be many John Smith's and the person may choose to use a different email.)
1) When I send the initial payment request to Paypal, I can attach a unique UUID in the URL I ask them to send back to me, so if I save that unique ID for that user I can match that payment confirmation to the user who initiated it. Am I making that harder than it is? Is there an easier way?
2) Also, for a recurring/subscription charge, does paypal always use the URL I specified with the initial payment initiation? Does anyone have practical experience using the recurring Paypal payments with IPN's, does it reuse that unique URL? Or do I have to associate the Paypal ID's with the user after the first recurring payment is received?
Attaching unique data to the payment request is pretty much the accepted way to do it.
I don't have any experience with recurring charges.
I recently also set up some reoccurring payments with Paypal.
I actually wanted people to register as members after paying for the subscription, if they wanted to. As having to sign up as a member could add some friction to the sale process. So I don't send any user info along with the Subscribe button.
What my IPN script does is generate a unique activation code tied to the Paypal subscriptionID in the Activations table, then it sends this code to whoever paid for the subscription, with instructions on how to activate.
At the point of activation, you need to register or login. At this point the userID is added to the relevant row in the Activations table.
When the EndOfTerm IPN notification comes in the IPN script looks up the userID from the Activations table based on the SubscriberID given in the IPN. Then I can do whatever I need to do to that user to disable their subscription.
At all time the URL of the IPN script remains the same.
1) You can send an 'item_number' parameter with the initial subscription setup, which will get passed back to you. I'd suggest embedding an identification token in it.
2) If you mean the 'return' parameter, no, that's for sending the user to at the conclusion of the subscription setup. The renewal is automatic and doesn't 'ping' that page.
1) You want to be using the item_number parameter. Set this in your HTML form shown to the customer, and it will be returned to you by the paypal IPN, so you can put a database row ID in here, and use it to match up to the right person later.