Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 5 years ago.
Improve this question
I have a simple "pay now" PayPal button on my website. I also have a server listening for IPNs. The IPN handler basically updates the validity of my user´s account.
But what´s hard for me to do is the correct handling of the IPN.
The basic handling with the validation step is no problem.
But I also need to check and handle the transaction type and payment status.
In the PayPal docs there are many different values for different cases (express checkout and other stuff I don´t even know what it is). That confuses me because I don´t know which values are relevant for my case.
Does anyone know a good and simple tutorial or example of how to handle IPN?
(which goes a little bit further than how to receive the IPN)
The PayPal IPN Variables documentation lists all of the transaction types and the values you would expect from the different types of payments you could be processing. The descriptions next to each should give you the info you need about when you should be looking for one value vs. another.
So you said you're using basic Pay Now button, right? Based on the documentation this would send a web_accept IPN.
Payment received; source is any of the following:
A Direct Credit Card (Pro) transaction
A Buy Now, Donation or Smart Logo for eBay auctions button
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 2 years ago.
Improve this question
I am creating a project whereby users are able to create webstores for their customers to purchase items from.
My current two thoughts are:
Payouts API whereby all customer payments will go to myself, and I will then use the Payouts API to send payments to users.
Have users enter in their API credentials in their user area so that their customers can send money directly to them using the Express Checkout API
Neither of these options feel optimal - the payouts API means I will be responsible for all chargebacks and payment disputes between customer and user. Forcing the user to enter in their API credentials is a slightly better solution however it would require me to provide documentation and support on how to create their API credentials.
I will likely go with option 2, but I'm hoping someone may be able to provide more options that I've overlooked or not seen in the docs. Thanks in advance.
Option 2 is correct, it is what all third party shopping carts do.
There exists a third option, the payee field, but you run into permission issues for refunds and authorizations. So Option 2 is the correct one for your use case. Each receiver should create a REST APP and enter the ClientID/Secret into your system.
You mentioned the "Express Checkout API" so you might be using something old/classic, which you should not do. See this front-end demo pattern of Smart Payment Buttons: https://developer.paypal.com/demo/checkout/#/pattern/server
Notice the two fetches to '/demo/...' endpoints, which must be replaced with actual routes on your server. The first should create a v2/order and return an OrderID. The second should capture that v2/order after a payer has approved it.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 7 years ago.
Improve this question
In my web application (spring mvc + jsp), I have to implement payment process which I will take the money of someone (i.e buyer), deposit to someone else (i.e seller), and keep a portion for myself (i.e commission). I would like the process will perform on my website instead of redirecting to paypal. I have tried to search for the service that I need, but after a while of reading it, I am very confused. I am thinking I may need some mix between Adaptive Payment or Website Payment Pro. However, I think that Paypal would also provide a service that I am searching for, but I haven't found yet. So would anyone mind to help me out of this confusion please?
In order to do the payment split as part of checkout you would need to use Adaptive Payments, specifically the Pay API with a chained payment. Unfortunately, you can't avoid redirecting the user to PayPal with this method.
If that's a must, then you'll need to go with Payments Pro, but then you can't do the split within a single checkout, and you can't split the fees up among the receivers. So you'll end up paying a fee when you receive the money, and then when you send the money there will be another fee there, too. Also, if you go that route you would be responsible for any chargebacks that occur, so this is simply not recommended.
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
i have enable both pdt and ipn for my paypal account now for some website i wanto to use ipn and for some pdt how can i differnentiate what to use please guide i see same html form for both
Perhaps this PayPal Developer Page can be of use to you. The page notes the differences between the two services and it provides examples as to when PDT is appropriate.
It is worth mentioning that PayPal (according to the page I linked) recommends the use of IPN over PDT when possible.
Using both PDT and IPN is discussed at the bottom of the page. However, the page warns that with PDT and IPN both enabled, your website will receive order confirmations twice; thus you must be careful about how you use these features.
Now, in my opinion, I believe enabling both PDT and IPN is a good tactic. PDT messages are not guaranteed to arrive at your server; whereas IPN messages are basically guaranteed to arrive because PayPal will resend them until your server acknowledges them. So I believe this combination is good as long as your implementation guards against double processing.
One way you can guard against double processing is by recording each transaction ID string to a database when you receive a payment. However, before processing payments, make sure you check the database to see if that transaction ID has already been recorded (and thus already processed). If it is not recorded there, insert it into the table and process the transaction. Else, exit the IPN script.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I am a new web-dev with what I think is a good idea. This idea requires handling payments.
I want to be able to accept a payment from user A, keep the payment for a set amount of time as an escrow, and then release the payment to user B's bank account after a set amount of time, and also charge a service fee, thereby reducing the amount paid to the bank account.. Occasionally, payments will need to be refunded to user A. I want to integrate such payments into a website.
I want this to happen automatically, without having to handle each payment myself.
I have tried to find a service that does this, but the big ones that come to mind (Square, Paypall) don't seem to be set up for this.
Any suggestions of payment processing services would be appreciated. I am new to web dev – but feel free to be technical and I will figure it out.
Thanks.
PayPal is indeed setup for this. That's exactly what the sort of thing they introduced their Adaptive Payments API for back in 2009.
You can do what's called a delayed chained payment, which is where the buyer will submit the payment, and all the money will go to a primary receiver. The money will stay there until you trigger the release of money to any secondary receiver(s) you might have on the transaction.
You'll use the Pay API to create the payment, and then you'll use ExecutePayment to release the secondary payment(s) when necessary.
Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am developing a system that provides event signup/registration services. Event hosts should be able to offer online payment options to their customers via this system.
I need a scenario when event owner (assuming he/she already has proper PayPal Business account) configures the minimal amount of information in the system (like merchant ID) and then he's able to receive online payments without having to dive into technical details of the integration.
I have started with JavaScript button solution, but it turns out that it's not very customizable (for example I cannot change button title from 'Buy now' to 'Pay now').
Then I have spent some time researching Button Manager API, but it seems to be over-complicated to accomplish the task of just changing the button title.
Could somebody point me in a right direction?
You can easily change a standard button's image, it is simply an image URL in the client-facing code. If the javascript wrapper doesn't let you specify an image URL for some reason, don't use javascript buttons. Create your own based on an unhosted button generated at paypal.com by unchecking the step 2 option to save the button at PayPal as well as the You are viewing your button page's option to remove code protection. The "business" variable would then become your host's PayPal email or PayerID.
None of the above is the recommended route, which is to use the Express Checkout API and pass the parameter SUBJECT=hostspaypalemailaddress#domain.com (or PayerID) in your initial SetExpressCheckout call. You probably also want SOLUTIONTYPE=Sole if this is your only payment option.
For onboarding new hosts you can use the Permissions API.