lib/alipay/service.rb in alipay-0.0.1 vs lib/alipay/service.rb in alipay-0.0.2
- old
+ new
@@ -7,83 +7,83 @@
CREATE_PARTNER_TRADE_BY_BUYER_REQUIRED_OPTIONS = %w( service partner _input_charset out_trade_no subject payment_type logistics_type logistics_fee logistics_payment seller_email price quantity )
# alipayescow
def self.create_partner_trade_by_buyer_url(options)
options = {
- :service => 'create_partner_trade_by_buyer',
- :_input_charset => 'utf-8',
- :partner => Alipay.pid,
- :seller_email => Alipay.seller_email,
- :payment_type => '1'
- }.merge(Utils.symbolize_keys(options))
+ 'service' => 'create_partner_trade_by_buyer',
+ '_input_charset' => 'utf-8',
+ 'partner' => Alipay.pid,
+ 'seller_email' => Alipay.seller_email,
+ 'payment_type' => '1'
+ }.merge(Utils.stringify_keys(options))
check_required_options(options, TRADE_CREATE_BY_BUYER_REQUIRED_OPTIONS)
"#{GATEWAY_URL}?#{query_string(options)}"
end
TRADE_CREATE_BY_BUYER_REQUIRED_OPTIONS = %w( service partner _input_charset out_trade_no subject payment_type logistics_type logistics_fee logistics_payment seller_email price quantity )
# alipaydualfun
def self.trade_create_by_buyer_url(options = {})
options = {
- :service => 'trade_create_by_buyer',
- :_input_charset => 'utf-8',
- :partner => Alipay.pid,
- :seller_email => Alipay.seller_email,
- :payment_type => '1'
- }.merge(Utils.symbolize_keys(options))
+ 'service' => 'trade_create_by_buyer',
+ '_input_charset' => 'utf-8',
+ 'partner' => Alipay.pid,
+ 'seller_email' => Alipay.seller_email,
+ 'payment_type' => '1'
+ }.merge(Utils.stringify_keys(options))
check_required_options(options, TRADE_CREATE_BY_BUYER_REQUIRED_OPTIONS)
"#{GATEWAY_URL}?#{query_string(options)}"
end
CREATE_DIRECT_PAY_BY_USER_REQUIRED_OPTIONS = %w( service partner _input_charset out_trade_no subject payment_type seller_email )
# direct
def self.create_direct_pay_by_user_url(options)
options = {
- :service => 'create_direct_pay_by_user',
- :_input_charset => 'utf-8',
- :partner => Alipay.pid,
- :seller_email => Alipay.seller_email,
- :payment_type => '1'
- }.merge(Utils.symbolize_keys(options))
+ 'service' => 'create_direct_pay_by_user',
+ '_input_charset' => 'utf-8',
+ 'partner' => Alipay.pid,
+ 'seller_email' => Alipay.seller_email,
+ 'payment_type' => '1'
+ }.merge(Utils.stringify_keys(options))
check_required_options(options, CREATE_DIRECT_PAY_BY_USER_REQUIRED_OPTIONS)
- if options[:total_fee].nil? and (options[:price].nil? || options[:quantity].nil?)
+ if options['total_fee'].nil? and (options['price'].nil? || options['quantity'].nil?)
warn("Ailpay Warn: total_fee or (price && quantiry) must have one")
end
"#{GATEWAY_URL}?#{query_string(options)}"
end
SEND_GOODS_CONFIRM_BY_PLATFORM_REQUIRED_OPTIONS = %w( service partner _input_charset trade_no logistics_name )
def self.send_goods_confirm_by_platform(options)
options = {
- :service => 'send_goods_confirm_by_platform',
- :partner => Alipay.pid,
- :_input_charset => 'utf-8'
- }.merge(Utils.symbolize_keys(options))
+ 'service' => 'send_goods_confirm_by_platform',
+ 'partner' => Alipay.pid,
+ '_input_charset' => 'utf-8'
+ }.merge(Utils.stringify_keys(options))
check_required_options(options, SEND_GOODS_CONFIRM_BY_PLATFORM_REQUIRED_OPTIONS)
- if options[:transport_type].nil? and options[:create_transport_type].nil?
+ if options['transport_type'].nil? and options['create_transport_type'].nil?
warn("Ailpay Warn: transport_type or create_transport_type must have one")
end
open("#{GATEWAY_URL}?#{query_string(options)}").read
end
def self.query_string(options)
- options.merge(:sign_type => 'MD5', :sign => Alipay::Sign.generate(options)).map do |key, value|
+ options.merge('sign_type' => 'MD5', 'sign' => Alipay::Sign.generate(options)).map do |key, value|
"#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}"
end.join('&')
end
def self.check_required_options(options, names)
names.each do |name|
- warn("Ailpay Warn: missing required option: #{name}") unless options.has_key?(name.to_sym)
+ warn("Ailpay Warn: missing required option: #{name}") unless options.has_key?(name)
end
end
end
end