alipay_dualfun 0.3 → 0.4
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 +8 -8
- data/README.md +13 -2
- data/alipay_dualfun.gemspec +1 -1
- data/lib/alipay_dualfun.rb +16 -4
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
YjJkNDQyMDFkMjI3YzI4ZGNkZjI2ZGM4YzYwODE4OGExYjU4OWUwZA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
Y2I5MDVmMGJmNWNkZjM4MTMyYzFjODY4ZTBlYzhhOGIyNjM1MDRkMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MmExNzA2ZDQ3YjZlMDMyODY3MDQ4NDcwNzlmNmU4MDhmOWM0YzI0ZDI0YWNl
|
10
|
+
OWI1YjkxZDhlNmRmODE0OTI3ZmJkNThjYzI5ZWQzZWQ5Y2NiZTE1MDgxMjUx
|
11
|
+
ZTc4MzZmYTA5YmUxMTNkZDI3MDJjM2EwOGNlNzIxMzYyZDlhNDc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
MzY2ZTE5M2JiODllMWRjM2QwNmI2Y2ExOGRjNzVmOTc0OWJmZjJmYTZhMzVi
|
14
|
+
NDIzYTRmNTc2OTUxYTU3NTFkMzlmMDVlODc3NWM3MDBkMDU4YWZmZWFmZDQ2
|
15
|
+
MjgwMDQ2NTAyYjM0N2QzOGM0MjJlZjBlZmI4MDMwNmRlNmM3ZGM=
|
data/README.md
CHANGED
@@ -23,8 +23,8 @@ And then execute:
|
|
23
23
|
|
24
24
|
### Thanks
|
25
25
|
|
26
|
-
- <https://github.com/chloerei/alipay>
|
27
|
-
- <https://github.com/daqing/china_pay>
|
26
|
+
- <https://github.com/chloerei/alipay> lots of code token from here
|
27
|
+
- <https://github.com/daqing/china_pay> for the initial idea
|
28
28
|
|
29
29
|
|
30
30
|
Generate payment url
|
@@ -45,3 +45,14 @@ Generate payment url
|
|
45
45
|
# => 'https://mapi.alipay.com/gateway.do?out_trade_no=...'
|
46
46
|
|
47
47
|
以上除了标注`可选项`的内容之外,其他选项都是 Gem 要求的必填项,缺一不可。用户还可以根据自身特定需求添加可选项,具体可以参考支付宝官方资料包中的 pdf 文件。
|
48
|
+
|
49
|
+
Send Goods
|
50
|
+
|
51
|
+
options = {
|
52
|
+
:partner => 'PID',
|
53
|
+
:trade_no => 'TRADE_NO',
|
54
|
+
:logistics_name => 'haoqicat course'
|
55
|
+
}
|
56
|
+
|
57
|
+
Alipay::Service.send_goods_confirm_by_platform(options)
|
58
|
+
# => '<!xml version="1.0" encoding="utf-8"?><alipay><is_success>T</is_success></alipay>'
|
data/alipay_dualfun.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |gem|
|
6
6
|
gem.name = "alipay_dualfun"
|
7
|
-
gem.version = "0.
|
7
|
+
gem.version = "0.4"
|
8
8
|
gem.authors = ["happypeter"]
|
9
9
|
gem.email = ["happypeter1983@gmail.com"]
|
10
10
|
gem.description = %q{This gem can help you integrate Alipay Dual-function Payment.}
|
data/lib/alipay_dualfun.rb
CHANGED
@@ -4,10 +4,10 @@ require 'open-uri'
|
|
4
4
|
require 'digest/md5'
|
5
5
|
|
6
6
|
module AlipayDualfun
|
7
|
+
GATEWAY_URL = 'https://mapi.alipay.com/gateway.do'
|
7
8
|
|
9
|
+
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 )
|
8
10
|
def self.trade_create_by_buyer_url(options = {})
|
9
|
-
gateway_url = 'https://mapi.alipay.com/gateway.do'
|
10
|
-
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 )
|
11
11
|
options = {
|
12
12
|
'service' => 'trade_create_by_buyer',
|
13
13
|
'_input_charset' => 'utf-8',
|
@@ -21,9 +21,9 @@ module AlipayDualfun
|
|
21
21
|
@partner = options['partner']
|
22
22
|
options.delete('key')
|
23
23
|
|
24
|
-
check_required_options(options,
|
24
|
+
check_required_options(options, TRADE_CREATE_BY_BUYER_REQUIRED_OPTIONS)
|
25
25
|
|
26
|
-
"#{
|
26
|
+
"#{GATEWAY_URL}?#{query_string(options)}"
|
27
27
|
end
|
28
28
|
|
29
29
|
def self.check_required_options(options, names)
|
@@ -70,4 +70,16 @@ module AlipayDualfun
|
|
70
70
|
false
|
71
71
|
end
|
72
72
|
end
|
73
|
+
|
74
|
+
SEND_GOODS_CONFIRM_BY_PLATFORM_REQUIRED_OPTIONS = %w( service partner _input_charset trade_no logistics_name )
|
75
|
+
def self.send_goods_confirm_by_platform(options)
|
76
|
+
options = {
|
77
|
+
'service' => 'send_goods_confirm_by_platform',
|
78
|
+
'transport_type' => 'DIRECT',
|
79
|
+
'_input_charset' => 'utf-8'
|
80
|
+
}.merge(stringify_keys(options))
|
81
|
+
|
82
|
+
check_required_options(options, SEND_GOODS_CONFIRM_BY_PLATFORM_REQUIRED_OPTIONS)
|
83
|
+
open("#{GATEWAY_URL}?#{query_string(options)}").read
|
84
|
+
end
|
73
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alipay_dualfun
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: '0.
|
4
|
+
version: '0.4'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- happypeter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: This gem can help you integrate Alipay Dual-function Payment.
|
14
14
|
email:
|