alipay 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
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