i am developing a website where Automated Recurring Billing is required.
Here i want to update database whenever payment will happen. in time of subscription i am able to update database.can you please inform me how can i call my php script for updating database in time of next occurrence of payments for the subscription?
Use Silent Post. Silent Post is Authorize.Net's equivalent of Paypal's IPN. Silent Post will allow you to retrieve the information from each transaction "in the background" so you can update your database accordingly. This includes all subscription payments. Implementing it in PHP is easy to do.
They also now offer Webhooks which is a bit more complicated than Silent Post but offers much more flexibility and power.
(Disclaimer, I wrote all articles)
Related
I'm new to the Django framework and I don't quite understand how to connect the payment system to the site, at the same time, so that part of the payment for the product goes to the balance of the user who exposed it, and 10%-20% of the amount goes to the balance of the service. And what is the best way to connect a payment system for individuals.faces?
So, you need to answer yourself a few questions like:
What payment provider I need? It need to be paypal, stripe or...?
If I know what payment provider I need, is there package for django (or python) for it?
If yes, it is up-to-date?
If no, were there updates to API or solutions described in payment provider documentation?
Are they better in any term?
Depending on these answers, you could go straightforward to implementing payments using external library (for e.g. https://django-paypal.readthedocs.io/en/latest/) or just implement it yourself. In my situation when I implemented paypal payments in e_commerce store I just went with paypal buttons because they were looking better, and they, so far work more nicely.
What also you must mostly implement is something that Paypal calls IPN (instant payment notifications). Stripe, and for example TPay also has IPN-like mechanisms. The IPN is simply an view (functional or generic) that handles payments using data with usually md5 verification, where you update status of order to COMPLETED or et cetera.
The lack of security validation can make endpoint vulnerable to custom requests made by postman, curl or any kind of HTTP-testing tool.
For models - you should write them yourself or use provided by package. This usually means that with multiple payments you store one model per provider with ForeignKey to Order global model that collects all the data. You could use also abstract models for implementing multiple models with similar fields, but this causes some database query issues for additional logic handling (you can't query abstract models, so you need to parse stuff using forloops when you need it instead of using filters).
Frontend is also depending what you will use, but remember about not having price as hidden input :)
The thread is much bigger as it seems, but I hope I gave you point-of-view of the topic.
I'm looking for a way to do checkout on my bigcartel webshop next to the paypal checkout. I actually just want it to place the order and send the confirmation mail as setup in the (admin) notifications section. In this way I can allow orders to my customers via regular bank transfer.
I have experience in html, CSS and programming in general...
thanks a lot!
Sorry, but there's no way to modify the checkout process in Big Cartel, or add another checkout option (even with heavy customization) - you'll need to use the built-in PayPal or Stripe checkout.
I made a Django online-store site and I need to include paypal checkout system for the cart, but solutions I found online either just for one item only(Buy Now buttons) or something like django-paypal-cart, which is not well-documented and I can't figure out how to make it to the checkout.
Please, give me some hint, maybe good article about how to make your cart items go to the checkout, anything will be highly appreciated, I don't know what else to google now
There are numerous options for tying PayPal into your website or app. Depending on exactly what you're doing or how good you are with web service API's you may choose one or another.
If you want to keep things simple, you can stick with Payments Standard. This is basically what you're referring to about the one item only buy now button, but you can use the cart upload command method to build a form that includes multiple items and pass it all over to PayPal at once.
If you prefer web service API's I'd recommend using Express Checkout. This consists of SetExpressCheckout, GetExpressCheckoutDetails, and DoExpressCheckoutPayment. Read through that general EC documentation to get familiar with the calls and how it all flows.
Another thing I would highly recommend utilizing is Instant Payment Notification (IPN). This is a feature where PayPal will POST transaction data to a listener script that you have sitting on your server any time a transaction occurs on your PayPal account. This includes payments, refunds, disputes, cleared payments that were pending, etc. This allows you to automate tasks like updating your database, sending out custom email notifications, hitting 3rd party web services, etc. and it happens in real-time, so it's very powerful.
currently I wish to integrate paypal payment into my application, so I downloaded django-paypal (dcramer) to test it out with the paypal sandbox. I tried the WPP express checkout payment as my primary payment flow, and have no problems with payment process, worked smoothly.
However like all e-commerce, I am aware that I should keep track of user transactions/payments in my application. This is where I am lost. I've checked the model table paypal_nvp in django-paypal, and there's no field that resembles a transaction-id with Paypal.
If so, how should I keep track of users' payments? Can I use the datetime + user as hash for my transaction id? How can I reference a particular transaction to a paypal transaction?
Anyone who used django-paypal or have experience with e-commerce in django please feel free to offer valuable suggestions.
In your database you should have a "paypal_ipn" table with the detailed transactions. You can use that table or you can create your own model for your transactions and link them together. There you will find the transaction-id under the name "txn_id". If you want to fire up a script when a transaction occurs you can use the #receiver(payment_was_successful) signal from djano-paypal. Hope this helps.
Today our website emails the user for every "event" who needs to be notified, but the number of "notifications" is becoming huge, annoying our users with tons of daily emails. Instead, I want to aggregate the notifications and send only one email every day.
I found this project, who seems to be exactly what I need: http://code.google.com/p/django-mailer/
A reusable Django app for queuing and throttling of email sending, scheduled sending, consolidation of multiple notifications into single emails and logging of mail failures.
Sample Use Cases:
(...)
a user doesn't want individual emails for each notification but wants them in digest form (e.g. a daily digest of new posts or a weekly update on friends who have joined)
(...)
NOTE: Now moved to http://github.com/jtauber/django-mailer/
Looks cool, but there are no code at all doing this at the Github repo and there are no more code at Google Code.
Do you know some alternative? (other than code it myself)
You'll need some service running in the background, otherwise what would trigger the email batch? I would use django celery email to do this. You'll need to set up celery first.