PAYPAL integration: Invoice - paypal

In our business model our clients would need to send us an invoice i.e. they are sellers and we the merchant is going to be the buyer. However, I couldn't find a way to get the list of unpaid invoices from Paypal via asp.net API. I have some questions.
We are thinking of asking the client to submit our transaction identifier in the memo field when they generate the invoice and then using e-mail parsing to fuzzy match it. Is there any other way to match it?
Is there a way to give the client our merchant dedicated invoice generating form inside of PayPal. So, when the client login into his or her account and wants to generate and send us an invoice they see our companies dedicated form filled up with the details about the transaction that they then send it via PayPal.
Is there a way to create all the invoice details so the client just has to login and the invoice will be ready for them to send with their approval.
Thank you,
Raj

Related

PayPal as payment gateway on my marketplace website

I have a website where my users can create custom pages to sell virtual things. At the moment, the only payment gateway their buyers can use is Stripe since it's the only my website currently supports. I would like to add PayPal support, so my sellers can enter their PayPal email, then buyers can purchase goods using PayPal.
I looked into PayPal's API, and the only thing I could really find was the checkout API for commerce. I'm not interested in having any of that fancy API, or needing to have sellers enter API key(s). I simply want sellers to enter their PayPal email, and boom - done. I also do not want to have to get a verified business on PayPal if possible since I still need to do a lot of work before submitting my application for approval from PayPal.
Example:
Joe creates a page on my website to sell pictures. He wants to add PayPal support, so he goes to my website's dashboard, enters his PayPal email, and then clicks confirm. Now his buyers can purchase his pictures using PayPal.
Where should I be looking for information on this?
Create a PayPal business account. Follow the Set up standard payments guide and make 2 routes on your server, one for 'Create Order' and one for 'Capture Order', documented here. Both routes should return only JSON data (no HTML or text). Inside the 2nd route, when the capture API is successful you should store its resulting payment details in your database (particularly purchase_units[0].payments.captures[0].id, which is the PayPal transaction ID) and perform any necessary business logic (such as sending confirmation emails or reserving product) immediately before forwarding your return JSON to the frontend caller.
Pair those 2 routes with the frontend approval flow: https://developer.paypal.com/demo/checkout/#/pattern/server
To send the funds to another account, specify a payee in the order creation request.

Integrating Paypal Payment and Invoicing APIs

I have been manually issuing invoices to charge my clients for services using Paypal.
Now I am creating an interface to allow them to purchase the services automatically on my website.
I also want to show them a history of their purchases. However, I cannot show a history of paid invoices using the Transaction Search API; I need to use the Invoicing > Search Invoices API.
I have used the Paypal Payments API to manage the payment side of new products, which now correctly produces an itemised transaction and allows the customer to checkout. But this does not produce an invoice.
How can I simultaneously produce an invoice (i.e which can be retrieved by the Invoicing API to show previous payments) and allow the customer to pay it? It seems like the Invoicing API works around the idea of sending an invoice to client by email, but this is unnecessary. I want them to pay it immediately (and already have the Payment API setup for this).
So what would a useful workflow be?: Use my Paypal Payment API to receive and authorise the payment, and on authorisation, use the Invoicing API to produce an invoice which reflects this and then updates the invoice status to paid? Or am I missing something easier here?
The Invoicing API is not meant to be mixed or used with any other API. It is for generating invoices to be sent by email or in link form.
General ecommerce payment processing (without invoice links) is entirely separate, there is no crossover. You should ensure you are using the current v2/checkout/orders API to receive new payments, not older v1 APIs.
As far as displaying a list of previous purchases to your customers, you shouldn't reply on PayPal for this (except perhaps in the case of invoices since this is part of the point of offloading invoice management to PayPal). But for normal web purchases, PayPal is not a database -- it is a payment processing service. Keep track of all your own order information, and simply store PayPal transaction IDs when they complete for your own accounting records -- but the ID you reference with the customer should be your own unique order ID, which you can pass to PayPal in your purchase_units[0].invoice_id when you create an order for checkout approval.

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.

Create a PayPal invoice, mark paid and send email

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.

Getting custom data from Paypal

I am creating a simple online paypal commerce and I have some doubts
on how sending data to seller and buyer when order payment is done. The
scenario looks like this:
Each product (legal documents) has a different form because in order to
deliver the product buyer need to specify different information for each
item. Studying Paypal documentation I have learnt that I can add hidden
fields and send them with transaction when I click the Buy Button or Add
To Cart.
When the payment is done:
buyer will receive the confirmation of payment (ok sent by paypal)
seller will receive all necessary information to fill the documents
for each product in one email.
I have noticed using sandbox that buyyer can add note for seller with payment
but unfortunatlly the textarea allow only a limitated text.
Please let me know if I understand correctly. When the payment is done Paypal
send back all data (IPN) to paypal script (including all information sent via
using the form). In that case I should be able to check if the transaction was
completed and if so doing the parser of the reply and send data via email using
PHP to seller. Is it correct?
Does anyone can show me a simple example?
Thanks a lot.
When transaction is complete (subscription,one time web form payment,express checkout or something else ) , Paypal sends authorization query to your IPN script (link to which is defined in your Paypal profile)
The IPN values are described here
https://www.paypalobjects.com/en_US/ebook/subscriptions/Appx-ipn_subscription_variables.html
or here
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_IPNandPDTVariables