module AlipayGlobal::Service

Public Class Methods

check_optional_params(params, names) click to toggle source
# File lib/alipay_global/service.rb, line 29
def self.check_optional_params(params, names)
  return if !AlipayGlobal.debug_mode?

  warn("AlipayGlobal Warn: must specify either #{names.join(' or ')}") if names.all? {|name| params[name].nil? }
end
check_required_params(params, names) click to toggle source
# File lib/alipay_global/service.rb, line 21
def self.check_required_params(params, names)
  return if !AlipayGlobal.debug_mode?

  names.each do |name|
    warn("AlipayGlobal Warn: missing required option: #{name}") unless params.has_key?(name)
  end
end
gateway_url() click to toggle source
# File lib/alipay_global/service.rb, line 3
def self.gateway_url
  AlipayGlobal.environment == "PRODUCTION" ? "https://mapi.alipay.com/gateway.do?" : "https://openapi.alipaydev.com/gateway.do?"
end
request_uri(params, sign = true) click to toggle source
# File lib/alipay_global/service.rb, line 7
def self.request_uri(params, sign = true)
  uri = URI(gateway_url)
  processed_params = sign ? sign_params(params) : params
  uri.query = URI.encode_www_form(AlipayGlobal::Utils.stringify_keys(processed_params))
  uri
end
sign_params(params) click to toggle source
# File lib/alipay_global/service.rb, line 14
def self.sign_params(params)
  params.merge(
    'sign_type' => AlipayGlobal.sign_type.upcase,
    'sign'      => AlipayGlobal::Sign.generate(params)
  )
end