Button Manager SDK
The PayPal Button Manager SDK provides Ruby APIs to create, and manage PayPal Payments Standard buttons programmatically.
Installation
Add this line to your application's Gemfile:
gem 'paypal-sdk-buttonmanager-rails'
And then execute:
$ bundle
Or install it yourself as:
$ gem install paypal-sdk-buttonmanager-rails
Configuration
For Rails application:
rails g paypal:sdk:install
For other ruby application, create a configuration file(config/paypal.yml
):
development: &default
username: jb-us-seller_api1.paypal.com
password: WX4WTU3S8MY44S7F
signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
app_id: APP-80W284485P519543T
http_timeout: 30
mode: sandbox
sandbox_email_address: Platform.sdk.seller@gmail.com
test:
<<: *default
production:
<<: *default
mode: live
Load Configurations from specified file:
PayPal::SDK::Core::Config.load('config/paypal.yml', ENV['RACK_ENV'] || 'development')
Example
require 'paypal-sdk-buttonmanager-rails'
@api = PayPal::SDK::ButtonManagerRails::API.new(
:mode => "sandbox",
:app_id => "APP-80W284485P519543T",
:username => "jb-us-seller_api1.paypal.com",
:password => "WX4WTU3S8MY44S7F",
:signature => "AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy" )
@bm_create_button = @api.build_bm_create_button({
:ButtonType => "BUYNOW",
:ButtonCode => "HOSTED",
:ButtonVar => ["item_name=Testing","amount=5","return=http://localhost:3000/samples/button_manager/bm_create_button","notify_url=http://localhost:3000/samples/button_manager/ipn_notify"] })
@bm_create_button_response = @api.bm_create_button(@bm_create_button)
if @bm_create_button_response.success?
@bm_create_button_response.Website
@bm_create_button_response.Email
@bm_create_button_response.HostedButtonID
else
@bm_create_button_response.Errors
end