Module: AlipayGlobal::Service

Defined in:
lib/alipay_global/service.rb,
lib/alipay_global/service/trade.rb,
lib/alipay_global/service/exchange.rb,
lib/alipay_global/service/settlement.rb,
lib/alipay_global/service/notification.rb,
lib/alipay_global/service/reconciliation.rb

Defined Under Namespace

Modules: Exchange, Notification, Reconciliation, Settlement, Trade

Class Method Summary collapse

Class Method Details

.check_optional_params(params, names) ⇒ Object



29
30
31
32
33
# 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) ⇒ Object



21
22
23
24
25
26
27
# 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_urlObject



3
4
5
# 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) ⇒ Object



7
8
9
10
11
12
# 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) ⇒ Object



14
15
16
17
18
19
# 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