alipay 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5d5f4d314f9fb4867e21f408875ef8e7a50e6579
4
- data.tar.gz: c1d5d4d2838f56161d45c3e658a7b1d36c7416ae
3
+ metadata.gz: cba89bf78148b68186fbd85be4e3a3706e9984e6
4
+ data.tar.gz: 73fb6cda8aeadaf9e2ae410f8f57ef0caa114a26
5
5
  SHA512:
6
- metadata.gz: 86934d7c497a1dd1878a77b8b631c412bbbf7ac75f136f2140887c729d7fe69b0854ca1e677600a065b889a88a5173479866eb9c93bc80cdf53810085e64df1c
7
- data.tar.gz: 11c4634fd023d90e2ec98b41f597b1ba18d81de9a54d430fffa7116d258017d700873afd73f0cb8295ea51947566ab9d6d61901ceec1788ba318302495142ede
6
+ metadata.gz: f42e34e9bc32e03aee68c35f9362ecca8b0301ca083ee154b8ce4fedda2144a93988a0fb19e5504e23458b2e962aa0938801158deb4068821652548da81adba6
7
+ data.tar.gz: 0f83397abf71b492a9882809dbf84adf697e15c7dea85be1257c17988b282493798e504f9790a3ff73503863f320d4e2bca6a974ac157257a3ed9f7f6422e924
data/CHANGELOG.md CHANGED
@@ -1,4 +1,10 @@
1
- ## v.0.6.0
1
+ ## v0.7.0 (2015-04-07)
2
+
3
+ - Remove Alipay.seller_email setting, it can be replaced by seller_id, than same with pid.
4
+ - Alipay::Wap::Service.trade_create_direct_token add a required params: seller_account_name.
5
+
6
+
7
+ ## v0.6.0 (2015-04-06)
2
8
 
3
9
  New API:
4
10
 
data/README.md CHANGED
@@ -9,7 +9,7 @@ Alipay official document: https://b.alipay.com/order/techService.htm .
9
9
  Add this line to your application's Gemfile:
10
10
 
11
11
  ```ruby
12
- gem 'alipay', '~> 0.6.0'
12
+ gem 'alipay', '~> 0.7.0'
13
13
  ```
14
14
 
15
15
  And then execute:
@@ -23,7 +23,6 @@ $ bundle
23
23
  ```ruby
24
24
  Alipay.pid = 'YOUR_PID'
25
25
  Alipay.key = 'YOUR_KEY'
26
- Alipay.seller_email = 'YOUR_SELLER_EMAIL'
27
26
 
28
27
  #Alipay.sign_type = 'MD5' # Available values: MD5, RSA. Default is MD5
29
28
  #Alipay.debug_mode = true # Enable parameter check. Default is true.
@@ -38,7 +37,6 @@ Service.create_partner_trade_by_buyer_url({
38
37
  }, {
39
38
  pid: 'ANOTHER_PID',
40
39
  key: 'ANOTHER_KEY',
41
- seller_email: 'ANOTHER_SELLER_EMAIL'
42
40
  })
43
41
  ```
44
42
 
@@ -445,6 +443,7 @@ Alipay::Wap::Service.trade_create_direct_token({ARGUMENTS}, {OPTIONS}}
445
443
  ```ruby
446
444
  token = Alipay::Wap::Service.trade_create_direct_token(
447
445
  req_data: {
446
+ seller_account_name: 'account@example.com',
448
447
  out_trade_no: '20150401000-0001',
449
448
  subject: 'Subject',
450
449
  total_fee: '10.0',
@@ -464,6 +463,7 @@ token = Alipay::Wap::Service.trade_create_direct_token(
464
463
 
465
464
  | Key | Requirement | Description |
466
465
  | --- | ----------- | ----------- |
466
+ | seller_account_name | required | Alipay seller account. |
467
467
  | out_order_no | required | Order id in your application. |
468
468
  | subject | required | Order subject. |
469
469
  | total_fee | required | Order total price. |
data/lib/alipay.rb CHANGED
@@ -17,7 +17,7 @@ module Alipay
17
17
  @sign_type = 'MD5'
18
18
 
19
19
  class << self
20
- attr_accessor :pid, :key, :seller_email, :sign_type, :debug_mode
20
+ attr_accessor :pid, :key, :sign_type, :debug_mode
21
21
 
22
22
  def debug_mode?
23
23
  !!@debug_mode
@@ -12,7 +12,7 @@ module Alipay
12
12
  'service' => 'create_partner_trade_by_buyer',
13
13
  '_input_charset' => 'utf-8',
14
14
  'partner' => options[:pid] || Alipay.pid,
15
- 'seller_email' => options[:seller_email] || Alipay.seller_email,
15
+ 'seller_id' => options[:pid] || Alipay.pid,
16
16
  'payment_type' => '1'
17
17
  }.merge(params)
18
18
 
@@ -29,7 +29,7 @@ module Alipay
29
29
  'service' => 'trade_create_by_buyer',
30
30
  '_input_charset' => 'utf-8',
31
31
  'partner' => options[:pid] || Alipay.pid,
32
- 'seller_email' => options[:seller_email] || Alipay.seller_email,
32
+ 'seller_id' => options[:pid] || Alipay.pid,
33
33
  'payment_type' => '1'
34
34
  }.merge(params)
35
35
 
@@ -50,7 +50,7 @@ module Alipay
50
50
  'service' => 'create_direct_pay_by_user',
51
51
  '_input_charset' => 'utf-8',
52
52
  'partner' => options[:pid] || Alipay.pid,
53
- 'seller_email' => options[:seller_email] || Alipay.seller_email,
53
+ 'seller_id' => options[:pid] || Alipay.pid,
54
54
  'payment_type' => '1'
55
55
  }.merge(params)
56
56
 
@@ -73,7 +73,7 @@ module Alipay
73
73
  'service' => 'refund_fastpay_by_platform_pwd', # 接口名称
74
74
  '_input_charset' => 'utf-8',
75
75
  'partner' => options[:pid] || Alipay.pid,
76
- 'seller_email' => options[:seller_email] || Alipay.seller_email,
76
+ 'seller_user_id' => options[:pid] || Alipay.pid,
77
77
  'refund_date' => Time.now.strftime('%Y-%m-%d %H:%M:%S'), # 申请退款时间
78
78
  'batch_num' => data.size, # 总笔数
79
79
  'detail_data' => detail_data # 转换后的单笔数据集字符串
@@ -129,7 +129,6 @@ module Alipay
129
129
  'service' => 'create_forex_trade',
130
130
  '_input_charset' => 'utf-8',
131
131
  'partner' => options[:pid] || Alipay.pid,
132
- 'seller_email' => options[:seller_email] || Alipay.seller_email
133
132
  }.merge(params)
134
133
 
135
134
  request_uri(params, options).to_s
@@ -171,11 +170,11 @@ module Alipay
171
170
  raise ArgumentError, "only support RSA sign_type" if sign_type != 'RSA'
172
171
 
173
172
  params = {
173
+ 'service' => 'mobile.securitypay.pay',
174
174
  '_input_charset' => 'utf-8',
175
175
  'partner' => options[:pid] || Alipay.pid,
176
- 'seller_id' => options[:seller_email] || Alipay.seller_email,
177
- 'payment_type' => '1',
178
- 'service' => 'mobile.securitypay.pay'
176
+ 'seller_id' => options[:pid] || Alipay.pid,
177
+ 'payment_type' => '1'
179
178
  }.merge(params)
180
179
 
181
180
  request_uri(params, options).to_s
@@ -1,3 +1,3 @@
1
1
  module Alipay
2
- VERSION = "0.6.0"
2
+ VERSION = "0.7.0"
3
3
  end
@@ -4,7 +4,7 @@ module Alipay
4
4
  GATEWAY_URL = 'https://wappaygw.alipay.com/service/rest.htm'
5
5
 
6
6
  TRADE_CREATE_DIRECT_TOKEN_REQUIRED_PARAMS = %w( req_data )
7
- REQ_DATA_REQUIRED_PARAMS = %w( subject out_trade_no total_fee call_back_url )
7
+ REQ_DATA_REQUIRED_PARAMS = %w( seller_account_name subject out_trade_no total_fee call_back_url )
8
8
  def self.trade_create_direct_token(params, options = {})
9
9
  params = Utils.stringify_keys(params)
10
10
  Alipay::Service.check_required_params(params, TRADE_CREATE_DIRECT_TOKEN_REQUIRED_PARAMS)
@@ -12,10 +12,6 @@ module Alipay
12
12
  req_data = Utils.stringify_keys(params.delete('req_data'))
13
13
  Alipay::Service.check_required_params(req_data, REQ_DATA_REQUIRED_PARAMS)
14
14
 
15
- req_data = {
16
- 'seller_account_name' => options[:seller_email] || Alipay.seller_email
17
- }.merge(req_data)
18
-
19
15
  xml = req_data.map {|k, v| "<#{k}>#{v.encode(:xml => :text)}</#{k}>" }.join
20
16
  req_data_xml = "<direct_trade_create_req>#{xml}</direct_trade_create_req>"
21
17
 
@@ -12,7 +12,7 @@ class Alipay::ServiceTest < Minitest::Test
12
12
  quantity: 1
13
13
  }
14
14
 
15
- assert_equal 'https://mapi.alipay.com/gateway.do?service=create_partner_trade_by_buyer&_input_charset=utf-8&partner=1000000000000000&seller_email=admin%40example.com&payment_type=1&out_trade_no=1&subject=test&logistics_type=POST&logistics_fee=0&logistics_payment=SELLER_PAY&price=0.01&quantity=1&sign_type=MD5&sign=09c5d8fd3d7eac18268fffa4cdffd19e', Alipay::Service.create_partner_trade_by_buyer_url(options)
15
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=create_partner_trade_by_buyer&_input_charset=utf-8&partner=1000000000000000&seller_id=1000000000000000&payment_type=1&out_trade_no=1&subject=test&logistics_type=POST&logistics_fee=0&logistics_payment=SELLER_PAY&price=0.01&quantity=1&sign_type=MD5&sign=b5d30863b44acd8514a49b0320fb2aa2', Alipay::Service.create_partner_trade_by_buyer_url(options)
16
16
  end
17
17
 
18
18
  def test_generate_trade_create_by_buyer_url
@@ -25,7 +25,7 @@ class Alipay::ServiceTest < Minitest::Test
25
25
  price: '0.01',
26
26
  quantity: 1
27
27
  }
28
- assert_equal 'https://mapi.alipay.com/gateway.do?service=trade_create_by_buyer&_input_charset=utf-8&partner=1000000000000000&seller_email=admin%40example.com&payment_type=1&out_trade_no=1&subject=test&logistics_type=POST&logistics_fee=0&logistics_payment=SELLER_PAY&price=0.01&quantity=1&sign_type=MD5&sign=62b029a767accbbd5f3b085da5959506', Alipay::Service.trade_create_by_buyer_url(options)
28
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=trade_create_by_buyer&_input_charset=utf-8&partner=1000000000000000&seller_id=1000000000000000&payment_type=1&out_trade_no=1&subject=test&logistics_type=POST&logistics_fee=0&logistics_payment=SELLER_PAY&price=0.01&quantity=1&sign_type=MD5&sign=2d296368fea70a127da939558c970bab', Alipay::Service.trade_create_by_buyer_url(options)
29
29
  end
30
30
 
31
31
  def test_generate_create_direct_pay_by_user_url
@@ -35,7 +35,7 @@ class Alipay::ServiceTest < Minitest::Test
35
35
  price: '0.01',
36
36
  quantity: 1
37
37
  }
38
- assert_equal 'https://mapi.alipay.com/gateway.do?service=create_direct_pay_by_user&_input_charset=utf-8&partner=1000000000000000&seller_email=admin%40example.com&payment_type=1&out_trade_no=1&subject=test&price=0.01&quantity=1&sign_type=MD5&sign=51c7f60e85eaff5136600d1942b2744c', Alipay::Service.create_direct_pay_by_user_url(options)
38
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=create_direct_pay_by_user&_input_charset=utf-8&partner=1000000000000000&seller_id=1000000000000000&payment_type=1&out_trade_no=1&subject=test&price=0.01&quantity=1&sign_type=MD5&sign=682ad02280fca7d4c0fd22678fdddeef', Alipay::Service.create_direct_pay_by_user_url(options)
39
39
  end
40
40
 
41
41
  def test_refund_fastpay_by_platform_pwd_url
@@ -50,7 +50,7 @@ class Alipay::ServiceTest < Minitest::Test
50
50
  notify_url: '/some_url',
51
51
  refund_date: '2015-01-01 00:00:00'
52
52
  }
53
- assert_equal "https://mapi.alipay.com/gateway.do?service=refund_fastpay_by_platform_pwd&_input_charset=utf-8&partner=1000000000000000&seller_email=admin%40example.com&refund_date=2015-01-01+00%3A00%3A00&batch_num=1&detail_data=1%5E0.01%5Etest&batch_no=123456789&notify_url=%2Fsome_url&sign_type=MD5&sign=3f5be5655b513334460a511e74a9ae57", Alipay::Service.refund_fastpay_by_platform_pwd_url(options)
53
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=refund_fastpay_by_platform_pwd&_input_charset=utf-8&partner=1000000000000000&seller_user_id=1000000000000000&refund_date=2015-01-01+00%3A00%3A00&batch_num=1&detail_data=1%5E0.01%5Etest&batch_no=123456789&notify_url=%2Fsome_url&sign_type=MD5&sign=def57a58e1ac21f70c45e41bd3697368', Alipay::Service.refund_fastpay_by_platform_pwd_url(options)
54
54
  end
55
55
 
56
56
  def test_forex_refund_url
@@ -73,7 +73,7 @@ class Alipay::ServiceTest < Minitest::Test
73
73
  currency: 'EUR',
74
74
  total_fee: '0.01',
75
75
  }
76
- assert_equal 'https://mapi.alipay.com/gateway.do?service=create_forex_trade&_input_charset=utf-8&partner=1000000000000000&seller_email=admin%40example.com&notify_url=https%3A%2F%2Fexample.com%2Fnotify&subject=test&out_trade_no=1&currency=EUR&total_fee=0.01&sign_type=MD5&sign=495a0e610134aa33f6ce021f8b8c6c8d', Alipay::Service.create_forex_trade_url(options)
76
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=create_forex_trade&_input_charset=utf-8&partner=1000000000000000&notify_url=https%3A%2F%2Fexample.com%2Fnotify&subject=test&out_trade_no=1&currency=EUR&total_fee=0.01&sign_type=MD5&sign=f24fd4d76acabf860263a40805138380', Alipay::Service.create_forex_trade_url(options)
77
77
  end
78
78
 
79
79
  def test_close_trade
@@ -167,7 +167,7 @@ class Alipay::ServiceTest < Minitest::Test
167
167
  end
168
168
 
169
169
  def test_mobile_security_pay_url
170
- assert_equal 'https://mapi.alipay.com/gateway.do?_input_charset=utf-8&partner=1000000000000000&seller_id=admin%40example.com&payment_type=1&service=mobile.securitypay.pay&out_trade_no=1&notify_url=%2Fsome_url&subject=subject&total_fee=0.01&body=test&sign_type=RSA&sign=cEpcxOIFtNJwkWL7fJx%2F%2BToy6raiLnVF3L9cBt81rUHmD9Im0pM%2FzTH57Y7v%0AXlKK8OfrM07pOLqD0mrLXsuCUU7C%2B%2BjfwUxcIixSdiwCLEsc36VsJf8Sgrt1%0Azx10SC7y2vd1Cvq0M822O86C%2FESMO1kpIdk%2BgiM%2FhjFCOKZEnLY%3D%0A', Alipay::Service.mobile_security_pay_url({
170
+ assert_equal 'https://mapi.alipay.com/gateway.do?service=mobile.securitypay.pay&_input_charset=utf-8&partner=1000000000000000&seller_id=1000000000000000&payment_type=1&out_trade_no=1&notify_url=%2Fsome_url&subject=subject&total_fee=0.01&body=test&sign_type=RSA&sign=EuHBKhLyXFBFM28s8nNM45r4gIWccPijVl8SHAmRaAC11wFNRiOfc3jEzJYJ%0A%2FADJNytARSNVSu3vXvRWhsNDHE9%2F%2BkFRckoXjjC10IApWa8bN7%2ByfHQk2w88%0AkDEVfv9Z%2F0t%2B8yHZD0Po4OBBHoEC9d%2FodPZYBElfcQvJ5vilQsc%3D%0A', Alipay::Service.mobile_security_pay_url({
171
171
  out_trade_no: '1',
172
172
  notify_url: '/some_url',
173
173
  subject: 'subject',
@@ -25,6 +25,7 @@ class Alipay::Wap::ServiceTest < Minitest::Test
25
25
 
26
26
  assert_equal token, Alipay::Wap::Service.trade_create_direct_token(
27
27
  req_data: {
28
+ seller_account_name: 'account@example.com',
28
29
  out_trade_no: '1',
29
30
  subject: 'subject',
30
31
  total_fee: '0.01',
data/test/test_helper.rb CHANGED
@@ -4,7 +4,6 @@ require 'fakeweb'
4
4
 
5
5
  Alipay.pid = '1000000000000000'
6
6
  Alipay.key = '10000000000000000000000000000000'
7
- Alipay.seller_email = 'admin@example.com'
8
7
 
9
8
  TEST_RSA_PUBLIC_KEY = <<EOF
10
9
  -----BEGIN PUBLIC KEY-----
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alipay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-06 00:00:00.000000000 Z
11
+ date: 2015-04-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler