Malbec
To experiment with that code, run bin/console
for an interactive prompt.
IPN Overview
PayPal Instant Payment Notification is a call back system that will get initiated once a transaction is completed(eg: When ExpressCheckout completed successfully). You will receive the transaction related IPN variables on your IPN url that you have specified in your request. You have to send these IPN variables back to PayPal system for verification. Upon verification, PayPal will send a response string with "VERIFIED" or "INVALID". If your server fails to respond with a successful HTTP response, PayPal will resend this IPN either until a success is received or up to 16 times.
How to Use this Micro Gem
You can find a sample Rails IPN Listener app here: [LINK GOES HERE.... TODO] Deploy IPN Listener Rails app in Cloud environment or you can expose your server port using any third party LocalTunneling software, so that you can receive PayPal IPN call back. Make a PayPal API call (eg: DoDirect Payment request), setting the IpnNotificationUrl field of the API request class to the url of deployed IPN Listener script. You will receive IPN call back from PayPal.
Installation
Add this line to your application's Gemfile:
gem 'malbec'
And then execute:
$ bundle
Or install it yourself as:
$ gem install malbec
Usage
TODO : Link to sample Rails app that uses this gem.
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake test
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://bitbucket.org/bparanj/malbec.
License
The gem is available as open source under the terms of the MIT License.