Sha256: 553cc235843aa607b44f89b8d8b126fa80583a11e674f6426faf70dfdb823de6
Contents?: true
Size: 1.83 KB
Versions: 25
Compression:
Stored size: 1.83 KB
Contents
require 'active_merchant/billing/gateways/paypal/paypal_common_api' require 'active_merchant/billing/gateways/paypal/paypal_express_response' require 'active_merchant/billing/gateways/paypal_express_common' module ActiveMerchant #:nodoc: module Billing #:nodoc: class PaypalDigitalGoodsGateway < PaypalExpressGateway self.test_redirect_url = 'https://www.sandbox.paypal.com/incontext' self.live_redirect_url = 'https://www.paypal.com/incontext' self.supported_countries = %w(AU CA CN FI GB ID IN IT MY NO NZ PH PL SE SG TH VN) self.homepage_url = 'https://www.x.com/community/ppx/xspaces/digital_goods' self.display_name = 'PayPal Express Checkout for Digital Goods' def redirect_url_for(token, options = {}) options[:review] ||= false super end # GATEWAY.setup_purchase(100, # :ip => "127.0.0.1", # :description => "Test Title", # :return_url => "http://return.url", # :cancel_return_url => "http://cancel.url", # :items => [ { :name => "Charge", # :number => "1", # :quantity => "1", # :amount => 100, # :description => "Description", # :category => "Digital" } ] ) def build_setup_request(action, money, options) requires!(options, :items) raise ArgumentError, 'Must include at least 1 Item' unless options[:items].length > 0 options[:items].each do |item| requires!(item, :name, :number, :quantity, :amount, :description, :category) raise ArgumentError, "Each of the items must have the category 'Digital'" unless item[:category] == 'Digital' end super end end end end
Version data entries
25 entries across 25 versions & 2 rubygems