
Security News
Astral Launches pyx: A Python-Native Package Registry
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
A simple ruby wrapper for paypal.
Currently paypal supports the following:
Paypal.setup do |config|
config.environment = "sandbox" # replace with "live" in production
config.api_username = "Replace me with your api username"
config.api_password = "Replace me with your api password"
config.api_signature = "Replace me with your api signature"
end
class PaypalIpn
include Paypal::Ipn
attr_accessor :params
end
Note: Your class must respond to params
and return a hash of paypal ipn parameters
payment_completed?
payment_status
txn_id
verify
Verifies the IPN with paypal and returns true or falsereceiver_email
self.txn_type(params)
self.masspay_transaction?(params)
class BuyerPaypalIpn
include Paypal::Ipn::Buyer
attr_accessor :params
end
customer_address
Convienence method. e.g.
John Smith,
5 Some Street,
Some City,
Some State,
Australia 1234customer_address_name
customer_address_street
customer_address_city
customer_address_state
customer_address_zip
customer_address_country
class ItemPaypalIpn
include Paypal::Ipn::Item
attr_accessor :params
end
item_name(index = nil)
If index is supplied it will return item_name#index otherwise simply item_nameitem_number(index = nil)
item_quantity(index = nil)
number_of_cart_items
class MasspayPaypalIpn
include Paypal::Ipn::Masspay
attr_accessor :params
end
Note: Currently Masspay IPN's only support a single transaction
payment_status
Returns the payment status for the 1st transactiontxn_id
Returns the transaction id for the 1st transactionpayment_unclaimed?
Returns whether the payment status for the 1st transaction was unclaimed or notunique_id
Returns the unique_id for the 1st transactionclass Masspay
include Paypal::Masspay
attr_accessor :payment_response
end
Note: Your class must respond to payment_response
and return the payment response as a hash
successful_payment?
Returns whether the masspay request was successful or not. Note: This only tells you if the request was successful or not. You should wait for an IPN to verify the receiver has been paid.masspay(payer_email, receiver_email, amount, currency, note, unique_id)
Sends a mass pay request from payer_email to receiver_email for amount in currency. The note will appear on the receivers paypal account and the unique_id will be passed back in the Paypal IPN. Returns the response from paypal.
payment_error_type
Returns :unauthorized or :insufficient_funds for these types of errors otherwise returns :unknown
payment_error_message
Returns the paypal long error message
Note: Currently Masspay payments only support a single recipient
class Permissions
include Paypal::Permissions
end
Make a call to set_paypal_permissions_url
setting the return_url to your application's callback url and with your required_permissions
Redirect the user to that url
When Paypal redirects the user back to your application at return_url make a call to get_paypal_permissions
with the token parameter
See below for further details:
set_paypal_permissions_url(return_url, required_permissions = {})
Returns a url where the user can sign in to Paypal and authorize the requested permissions. Paypal will then redirect the user to the return_url. Specify required_permissions by supplying a hash in the following format:
{
:mass_pay => true,
:refund_transaction => true,
:get_transaction_details => true
}
First name, Last name and email are always required permissions so you never have to specify these manually.
get_paypal_permissions(token)
Returns a hash of user information and permission details for the given token in the following format:
{
:email => "joe@example.com",
:first_name => "Joe",
:last_name => "Bloggs",
:payer_id => "VK7XZU4BDY79",
:permissions => {
:mass_pay => true,
:refund_transaction => true,
:get_transaction_details => true
}
}
gem install paypal-ipn
Place the following in your Gemfile:
gem 'paypal-ipn', :require => 'paypal'
To generate a stub initializer under config/initializers run:
rails g paypal:initializer
Copyright (c) 2010 David Wilkie, released under the MIT license
FAQs
Unknown package
We found that paypal-ipn demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Astral unveils pyx, a Python-native package registry in beta, designed to speed installs, enhance security, and integrate deeply with uv.
Security News
The Latio podcast explores how static and runtime reachability help teams prioritize exploitable vulnerabilities and streamline AppSec workflows.
Security News
The latest Opengrep releases add Apex scanning, precision rule tuning, and performance gains for open source static code analysis.