We a developing a booking system using PayPal for payments.
If a payment is not made within a set time how can we prevent the payment from being completed if the set time has been exceeded?
When selling tickets to an event, we reserve the tickets until payment is made, but if payment is not made we need a way to cancel the transaction and allow the tickets to be sold to a different customer.
Hope someone can help!
Cheers. - Dave.
Related
having an issue.
I want a way to do a paypal transaction automatically when the paypal IPN sends a notifications.
To give some context.
I am developing a online seat booking system (school plays etc.) and have implemented a paypal button to buy the seats once you click your seats but i want to have a way for the paypal transaction to timeout so that the booked seats can be made available again if the payment doesn't go through.
so what i have currently is a time stamp on the booked seats that gives 10 mins before they are available again. But the paykey (i think i have that right) is still valid. so the first person could (in theory) go back and pay for the seats, therefor the seats are booked out twice.
so on my IPN i have a check to see if the booking is timed out.
And this is where i am, what code can i use to issue a refund in that case?
thanks
You can call paypal refund API:
https://developer.paypal.com/docs/integration/direct/payments/refund-payment/
I would also suggest that you have check on your website when someone clicks on Pay to see if the session is expired so that payment is never done. If you implement the solution where you will call refund based on ipn you will end up paying transaction fees anyways and customer experience will also be below par.
I'm not a developer, but a project manager. So please excuse my lack of proper language.
We are trying to figure out how to handle subscription refunds and then limit account access on the site.
Here's a scenario. Member signs up for an annual subscription to gain certain capabilities in the account. 3 months into it member decides to cancel and requests a refund. Normally, if no refund is issued, subscription is good until the end of the billing period, at which point account is deactivated.
In our case, if a refund is issued, account should be deactivated immediately. Question: is it possible to set this up as part of PayPal Subscriptions? Some type of call from PayPal to our system that will trigger account deactivation.
Thank you.
We recommend using IPN (Instant Payment Notifications) to be asynchronously notified of any events, in this case of those related to existing subscription/recurring payments.
https://developer.paypal.com/webapps/developer/docs/classic/ipn/gs_IPN/
If you enable IPN notifications you will receive a POST of PayPal in the following events (among others):
When a recurring profile is cancelled.
When a refund has been made to a previous completed transaction.
This way, you can set up your IPN script to keep the subscription “open” in your side for the remainder of the month even if the profile has been cancelled, or to deactivate it if the last month has been refunded.
For more information about IPN variables:
https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNandPDTVariables/
I am working on a website which provides the subscription plans like for 1 year, 2 year and 3 year. User can make payment using the one time payment and using the monthly payment. for achieving this functionality I integrated reoccurring payment and one time payment using paypal gateway and I have successfully integrated. But I have some problem below is my scenario.
Suppose customer checkout using one time payment for one year subscription plan and make payment on paypal then paypal will hit at my IPN handler script and I will update the subscription plan for that customer for one year.
Now if customer checkout using the reoccurring payment for one year subscription plan then it will hit at my IPN handler script and i will update the subscription plan.
But here i want to know how i will differentiate with one time payment and reoccurring payment because whenever paypal hit the IPN for monthly payment then it will update my database for that customer and it will update the subscription date with one year. In this way it will update database every month and customer subscription date will update every month with one year.
I hope you can understand what i am trying to say,
Thanks.
The txn_type in your IPN will be different depending on the type of payment, so that's one way to distinguish between the two. Configure your IPN to handle each txn_type different depending on what you need to do for one-time vs subscription payments.
Also, keep in mind that you can add an initial payment in to a recurring payments profile and it will be treated as a one-time payment. Sort of like a setup fee when signing up for cable service or something like that.
Are you using the Recurring Payments API or Standard Subscription buttons or what?
I am developing a payment system using PayPal Recurring Payments (SOAP API).
I am Creating a Recurring Profile and setting up the monthly billing amt, period etc. Now when the user wants to upgrade his plan, I would like to Bill the buyer for the difference amount by using the same Credit card info which is associated with his recurring profile. How can we achieve this? Shall we do a complete separate transaction? Or DoReferenceTransaction API?
If I do a separate Transaction will PayPal allow me to do another transaction if the monthly recurring day falls in the next 72 hours?
Please share your thoughts.
Thanks
I would go with reference transactions like you mentioned. That would be separate from the profile, so yeah, if the recurring payment comes soon after it would process like normal.
We are using PayPal subscriptions to automatically make ongoing monthly donations. The user initially creates a subscription with some pre-determined monthly donation amount (e.g., say $50/month). This creates a recurring subscription which we process by way of IPN. All good there. But, our interface allows the user to come in and change their monthly donation amount, say from $50/month to $100/month. I am wondering how I can change the PayPal subscription to reflect this new amount?
There is a method in PayPal's NVP API called "UpdateRecurringPaymentsProfile" which says I can update the subscription amount, but unfortunately it says:
For recurring payments with Express Checkout, the payment amount can be increased by no more than 20% every 180 days (starting when the profile is created).
(reference: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_UpdateRecurringPaymentsProfile)
To be honest, PayPal's API's are quite confusing so I'm not sure if I am using the Express Checkout or not. (We are creating Subscription buttons using the simple Website Payment Standard API).
Will this work? If not, is there an alternative to achieve what we need?
Thanks!
I'm not sure if I am using the Express Checkout or not. (We are creating Subscription buttons using the simple Website Payment Standard API).
I hope rereading the above, you will realize that you answered your own question: You are using Website Payments Standard (WPS) not Express Checkout (EC).
With WPS, you can create a subscription modify button but this is super inflexible and I would not recommend it.
With EC, you can modify subscriptions as well (page 99):
Use the UpdateRecurringPaymentsProfile API to modify a recurring payments profile.
NOTE: You can also modify recurring payments profiles from the PayPal website.
You can only modify the following specific information about an active or suspended profile:
Subscriber name or address
Past due or outstanding amount
Whether to bill the outstanding amount with the next billing cycle
Maximum number of failed payments allowed
Profile description and reference
Number of additional billing cycles
Billing amount, tax amount, or shipping amount
NOTE: You cannot modify the billing frequency or billing period of a profile. You can
modify the number of billing cycles in the profile.
NOTE: For recurring payments with Express Checkout, certain updates, such as billing
amount, are not allowed within 3 days of the scheduled billing date, and an error is
returned.
You can modify the following profile information during the trial period or regular payment
period:
Billing amount (excluding tax and shipping)
Number of billing cycles
With that information out of the way... For the most flexibility:
Look at creating Billing Agreement IDs through Express Checkout. You will need to get Reference Transactions enabled on your PayPal account (talk to merchant support to get this done).
With a BAID, you control when your customers are charged, how much they are charged, and pretty much anything else having to do with the transaction. The drawback is the same as the benefit.. you (see 'have to') control it all.