CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Fri, 22 Aug 2025 11:12:28 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090530141506
location: https://web.archive.org/web/20090530141506/https://github.com/FooBarWidget/paypal/tree/
server-timing: captures_list;dur=0.708612, exclusion.robots;dur=0.028525, exclusion.robots.policy;dur=0.014538, esindex;dur=0.012508, cdx.remote;dur=18.504892, LoadShardBlock;dur=127.965827, PetaboxLoader3.datanode;dur=64.427722
x-app-server: wwwb-app222
x-ts: 302
x-tr: 192
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app222; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 301
server: nginx
date: Fri, 22 Aug 2025 11:12:29 GMT
content-type: text/html; charset=utf-8
content-length: 115
x-archive-orig-server: nginx/0.6.31
x-archive-orig-date: Sat, 30 May 2009 14:15:06 GMT
x-archive-orig-connection: close
x-archive-orig-status: 301 Moved Permanently
location: https://web.archive.org/web/20090530141506/https://github.com/FooBarWidget/paypal/tree/master
x-archive-orig-x-runtime: 25ms
x-archive-orig-cache-control: no-cache
x-archive-orig-content-length: 115
cache-control: max-age=1800
memento-datetime: Sat, 30 May 2009 14:15:06 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sat, 30 May 2009 14:15:02 GMT", ; rel="prev memento"; datetime="Sat, 30 May 2009 14:15:02 GMT", ; rel="memento"; datetime="Sat, 30 May 2009 14:15:06 GMT", ; rel="last memento"; datetime="Sat, 30 May 2009 14:15:06 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090530131437_crawl103-c/52_9_20090530141457_crawl101.arc.gz
server-timing: captures_list;dur=0.555882, exclusion.robots;dur=0.022298, exclusion.robots.policy;dur=0.010284, esindex;dur=0.011565, cdx.remote;dur=8.689417, LoadShardBlock;dur=148.235176, PetaboxLoader3.datanode;dur=197.051248, PetaboxLoader3.resolve;dur=217.097664, load_resource;dur=303.221278
x-app-server: wwwb-app222
x-ts: 301
x-tr: 494
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 302
server: nginx
date: Fri, 22 Aug 2025 11:12:29 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20090530141502
location: https://web.archive.org/web/20090530141502/https://github.com/FooBarWidget/paypal/tree/master
server-timing: captures_list;dur=0.474509, exclusion.robots;dur=0.018153, exclusion.robots.policy;dur=0.008378, esindex;dur=0.010371, cdx.remote;dur=30.127944, LoadShardBlock;dur=228.760680, PetaboxLoader3.datanode;dur=105.595492, PetaboxLoader3.resolve;dur=119.089575
x-app-server: wwwb-app222
x-ts: 302
x-tr: 283
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Fri, 22 Aug 2025 11:12:31 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.6.26
x-archive-orig-date: Sat, 30 May 2009 14:15:01 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-x-runtime: 518ms
x-archive-orig-etag: "545747af1d19d255bfb90f6d252cb423"
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-orig-content-length: 23701
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sat, 30 May 2009 14:15:02 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Fri, 30 Jan 2009 02:16:21 GMT", ; rel="prev memento"; datetime="Thu, 02 Apr 2009 11:09:14 GMT", ; rel="memento"; datetime="Sat, 30 May 2009 14:15:02 GMT", ; rel="last memento"; datetime="Sat, 30 May 2009 14:15:02 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: 52_9_20090530131437_crawl103-c/52_9_20090530141457_crawl101.arc.gz
server-timing: captures_list;dur=0.840429, exclusion.robots;dur=0.034953, exclusion.robots.policy;dur=0.017345, esindex;dur=0.015669, cdx.remote;dur=40.550245, LoadShardBlock;dur=349.733762, PetaboxLoader3.datanode;dur=92.973609, PetaboxLoader3.resolve;dur=384.420982, load_resource;dur=385.114608
x-app-server: wwwb-app222
x-ts: 200
x-tr: 864
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
FooBarWidget's paypal at master - GitHub
This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (

This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (

Description: | Paypal IPN handling library |
Clone URL: |
git://github.com/FooBarWidget/paypal.git
Give this clone URL to anyone.
git clone git://github.com/FooBarWidget/paypal.git
|

Hongli Lai (Phusion) (author)
Mon Nov 03 03:13:06 -0800 2008
paypal /
name | age | message | |
---|---|---|---|
![]() |
MIT-LICENSE | Fri Oct 31 06:12:34 -0700 2008 | Initial import of the Paypal library, version 2... [Hongli Lai (Phusion)] |
![]() |
README | Fri Oct 31 06:12:34 -0700 2008 | Initial import of the Paypal library, version 2... [Hongli Lai (Phusion)] |
![]() |
Rakefile | Fri Oct 31 06:12:34 -0700 2008 | Initial import of the Paypal library, version 2... [Hongli Lai (Phusion)] |
![]() |
init.rb | Fri Oct 31 06:12:34 -0700 2008 | Initial import of the Paypal library, version 2... [Hongli Lai (Phusion)] |
![]() |
lib/ | Mon Nov 03 03:13:06 -0800 2008 | Paypal::Notification#acknowledge: only set Net:... [Hongli Lai (Phusion)] |
![]() |
misc/ | Sat Nov 01 04:40:08 -0700 2008 | Update documentation, and make Paypal SSL certi... [Hongli Lai (Phusion)] |
![]() |
test/ | Fri Oct 31 09:04:56 -0700 2008 | Make tests pass with latest Rails. [Hongli Lai (Phusion)] |
== Welcome to Paypal/ruby This library is here to aid with integrating Paypal payments into ruby on rails applications or similar. To set this up you will need to log into your paypal business account and tell paypal where to send the IPN ( Instant payment notifications ). == Download * Preferred method of installation is using rubygems. gem install paypal --source https://dist.leetsoft.com * Alternatively you can get the library packaged at https://dist.leetsoft.com/pkg/ == Requirements * Ruby 1.8.2 (may work with previous versions) With OpenSSL support compiled in. * Valid paypal business account. * (optional) The money library from https://dist.leetsoft.com/api/money == Installation 1) Install the plugin using ./script/plugin install svn://vault.jadedpixel.com/paypal/trunk/paypal 2) Create a paypal_ipn ( or similar ) action like the one in the "Example rails controller" appendix. Within the new payment controller you can now create pages from which users can be sent to paypal. You always have to sent users to paypal using a HTTP Post so a standard link won't work (well OK but you need some javascript for that). The +Paypal::Helper+ namespace has some examples of how such a forward page may look. == Testing the integration Under https://developer.paypal.com/ you can signup for a paypal developer account. This allows you to set up "sandboxed" accounts which work and act like real accounts with the difference that no money is exchanged. Its a good idea to sign up for a sandbox account to use while the application is running in development mode. == Example rails controller class BackendController < ApplicationController # Simplification, please write better code then this... def paypal_ipn notify = Paypal::Notification.new(request.raw_post) if notify.acknowledge order = Order.find(notify.item_id) order.success = (notify.complete? and order.total == notify.amount) ? 'success' : 'failure' order.save end render :nothing => true end end == Example paypal forward page <%= paypal_form_tag %> <%= paypal_setup "Item 500", Money.us_dollar(50000), "bob@bigbusiness.com", :notify_url => url_for(:only_path => false, :action => 'paypal_ipn') %> Please press here to pay $500US using paypal. <br/> <%= submit_tag "Go to paypal >>" %> <% end_form_tag %> == Using encrypted form data Paypal supports encrypted form data to prevent tampering by third parties. You must have a verified paypal account to use this functionality. 1) Create a private key for yourself openssl genrsa -out business_key.prm 1024 2) Create a public certificate to share with Paypal openssl req -new -key business_key.pem -x509 -days 3650 -out business_cert.pem 3) Upload the public certificate to Paypal (under Profile -> Encrypted Payment Settings -> Your Public Certificates -> Add), and note the "Cert ID" that Paypal shows for the certificate. 4) Update your controller to include the details for your key and certificate. @business_key = File::read("business_key.pem") @business_cert = File::read("business_cert.pem") @business_certid = "certid from paypal" 5) Update your views to populate the :business_key, :business_cert and :business_certid options in 'paypal_setup' - the rest of the signature is the same. 6) When you're ready to go live, download the production Paypal certificate and override the default certificate. Paypal::Notification.paypal_cert = File::read("paypal_cert.pem") == Troubleshooting uninitalized constant Paypal - Make sure your ruby has openssl support == Changelog 2006-04-20 -- 2.0.0 * Uses paypal extended syntax. The plugin can now submit shipping and billing addresses using the paypal_address helper. 2006-04-20 -- 1.7.0 * Now a rails plugin 2006-02-10 -- 1.5.1 * added complete list of valid paypal options (Paul Hart) 2006-02-02 -- 1.5.0 * Now report an error when invalid option is passed to paypal_setup * Had to rename parameters cancel_url to cancel_return and return_url to return, please update your app * Improved the test coverage strategy for helper tests * Added support for encrypted form data (Paul Hart) 2005-09-16 -- 0.9.6 * Added readme note about the openssl requirement 2005-07-26 -- 0.9.5 * Added tax to the helper parameters * fixed bug when money class was used to pass in amount. Cents were always 00 (doh!) * Added invoice and custom optional parameters * Added charset = utf-8 to all paypal posts * Wrongly used undefined_quanitity parameter in 0.9.1, this caused users to be prompted for the quanitity on the paypal checkout page... fixed 2005-07-22 -- 0.9.1 * support for cancel_url as well as notify_url. This means you can now set the IPN callback address from the paypal_setup method and you don't have to do that in the paypal admin interface! * Removed the actual form tag from the paypal_setup generated code to conform better with docs
This feature is coming soon. Sit tight!