Sha256: 52689b8750249ff23be74c8867e58bfe0250ea66916218d14b91594a7162f581

Contents?: true

Size: 1.53 KB

Versions: 1

Compression:

Stored size: 1.53 KB

Contents

module PayPal::AdaptivePayments
  class Request < PayPal::Common::Request

    METHODS = {
      :cancel_preapproval   => 'CancelPreapproval',
      :convert_currency     => 'ConvertCurrency',
      :execute_payment      => 'ExecutePayment',
      :funding_plans        => 'GetFundingPlans',
      :get_payment_options  => 'GetPaymentOptions',
      :shipping_addresses   => 'GetShippingAddresses',
      :pay                  => 'Pay',
      :payment_details      => 'PaymentDetails',
      :preapproval          => 'Preapproval',
      :preapproval_details  => 'PreapprovalDetails',
      :refund               => 'Refund',
      :set_payment_options  => 'SetPaymentOptions'
    }

    ACTION_TYPES = {
      :pay          => 'PAY',
      :create       => 'CREATE',
      :pay_primary  => 'PAY_PRIMARY'
    }

    PAYMENT_TYPES = {
      :goods                    => 'GOODS',
      :service                  => 'SERVICE',
      :personal                 => 'PERSONAL',
      :cash_advance             => 'CASHADVANCE',
      :digital_goods            => 'DIGITALGOODS',
      :bank_managed_withdrawal  => 'BANK_MANAGED_WITHDRAWAL'
    }

    FEE_PAYERS = {
      :sender           => 'SENDER',
      :primary_receiver => 'PRIMARYRECEIVER',
      :each_receiver    => 'EACHRECEIVER',
      :secondary_only   => 'SECONDARYONLY'
    }

    def api
      PayPal::AdaptivePayments::Api
    end

    # Returns the actual api endpoint base on method
    #
    def method_endpoint(method)
      "#{api.api_endpoint}/#{METHODS.fetch(method, method.to_s)}"
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paypal-payment-0.1.2 lib/paypal/adaptive_payments/request.rb