def create_payment(options={})
      raise Zaypay::Error.new(:locale_not_set, "locale was not set for your price setting") if @locale.nil?
      raise Zaypay::Error.new(:payment_method_id_not_set, "payment_method_id was not set for your price setting") if @payment_method_id.nil?
      query = {:payment_method_id => payment_method_id}
      query.merge!(options)
      amount = query.delete(:amount)
      post "/#{amount}/#{@locale}/pay/#{price_setting_id}/payments", query do |data|
        payment_hash data
      end
    end
def create_payment(options={})
      raise Zaypay::Error.new(:locale_not_set, "locale was not set for your price setting") if @locale.nil?
      raise Zaypay::Error.new(:payment_method_id_not_set, "payment_method_id was not set for your price setting") if @payment_method_id.nil?
      query = {:payment_method_id => payment_method_id}
      query.merge!(options)
      amount = query.delete(:amount)
      post "/#{amount}/#{@locale}/pay/#{price_setting_id}/payments", query do |data|
        payment_hash data
      end
    end
Creates a payment on the Zaypay platform.

 You can provide an options-hash, which will add additional data to your payment. The following keys have special functionalities:

   :amount        # Enables dynamic pricing. It must be an integer representing the price in cents.
   :payalogue_id  # Adds the URL of the payalogue specified to your payment as :payalogue_url.

 Any other keys will be added to a key named :your_variables, which can be used for your future reference. Please check the {file:/README.rdoc README} for the structure of the payment returned.

 = Example:
    @price_setting.create_payment(:payalogue_id => payalogue_id, :amount => optional_amount, :my_variable_1 => "value_1", :my_variable_2 => "value_2")

 @param [Hash] options an options-hash that can take an *:amount*, *:payalogue_id* as options, and any other keys can be used as your custom variables for your own reference
 @return [Hash] a hash containing data of the payment you just created
 @raise [Zaypay::Error] in case you call this method before setting a *locale* or a *payment_method_id*