Method: ActiveMerchant::Billing::PaypalDigitalGoodsGateway#build_setup_request

Defined in:
lib/active_merchant/billing/gateways/paypal_digital_goods.rb

#build_setup_request(action, money, options) ⇒ Object

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" } ] )

Raises:

  • (ArgumentError)
[View source] [View on GitHub]

31
32
33
34
35
36
37
38
39
40
41
# File 'lib/active_merchant/billing/gateways/paypal_digital_goods.rb', line 31

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