privat24_api 0.3.0 → 0.4.1
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 +4 -4
- data/lib/privat24_api/card/card.rb +0 -4
- data/lib/privat24_api/configure.rb +5 -5
- data/lib/privat24_api/request/info/info_request.rb +2 -2
- data/lib/privat24_api/request/payment/payment_request.rb +8 -8
- data/lib/privat24_api/request/public/public_request.rb +17 -100
- data/lib/privat24_api/request/request.rb +13 -10
- data/lib/privat24_api/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: abce1d097e78c5a39fa4debf7542fb92c5cfe8ec262b2c6d12a055d0d87fafdc
|
4
|
+
data.tar.gz: 760c0df0ce188e4f47a82e594112ac74adca14754669c14e93b9a1ed662158f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d43174dcae07822e85e437689222a3348c45e467623b47dfb16b5f06d19f0edce67e031e53c0611755552dd15cd4447fc0afab909e909667e90f2b19cfacec0
|
7
|
+
data.tar.gz: 12e37e4e370a93bdbe4c72eff28d791931d3c865f332fec9a3eda5c206bd44b676b66c99e0799ba96bf3d52febbd8cf2480f9b57b3173d216dd9739431e19f19
|
@@ -35,13 +35,13 @@ module Privat24Api
|
|
35
35
|
'send_sms' => 'sendsms'
|
36
36
|
},
|
37
37
|
'public' => {
|
38
|
-
'exchange_cash' => 'pubinfo
|
39
|
-
'exchange_non_cash' => 'pubinfo
|
40
|
-
'exchange' => 'pubinfo
|
38
|
+
'exchange_cash' => 'pubinfo',
|
39
|
+
'exchange_non_cash' => 'pubinfo',
|
40
|
+
'exchange' => 'pubinfo',
|
41
41
|
'exchange_archive' => 'exchange_rates',
|
42
42
|
'list_privat_offices' => 'pboffice',
|
43
|
-
'atm' => '
|
44
|
-
'tso' => '
|
43
|
+
'atm' => 'infrastructure',
|
44
|
+
'tso' => 'infrastructure'
|
45
45
|
}
|
46
46
|
}
|
47
47
|
end
|
@@ -12,7 +12,7 @@ module Privat24Api
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def balance
|
15
|
-
Request.new(card_args).send_data_for(
|
15
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
16
16
|
data.oper('cmt')
|
17
17
|
data.wait('0')
|
18
18
|
data.payment(id: '')
|
@@ -22,7 +22,7 @@ module Privat24Api
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def transaction_details(date_from, date_to)
|
25
|
-
Request.new(card_args).send_data_for(
|
25
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
26
26
|
data.oper('cmt')
|
27
27
|
data.wait('0')
|
28
28
|
data.test('0')
|
@@ -13,7 +13,7 @@ module Privat24Api
|
|
13
13
|
|
14
14
|
# payment_id - order id of your shop
|
15
15
|
def pay_on_privat_card(payment_id, card, amount, details, currency='UAH')
|
16
|
-
Request.new(card_args).send_data_for(
|
16
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
17
17
|
data.oper('cmt')
|
18
18
|
data.wait('0')
|
19
19
|
data.test('0')
|
@@ -28,7 +28,7 @@ module Privat24Api
|
|
28
28
|
|
29
29
|
# payment_id - order id of your shop
|
30
30
|
def pay_on_ua_card(payment_id, card, amount, b_name, b_crf, b_bic, details, currency='UAH')
|
31
|
-
Request.new(card_args).send_data_for(
|
31
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
32
32
|
data.oper('cmt')
|
33
33
|
data.wait('0')
|
34
34
|
data.test('0')
|
@@ -46,7 +46,7 @@ module Privat24Api
|
|
46
46
|
|
47
47
|
# payment_id - order id of your shop
|
48
48
|
def pay_on_visa_card(payment_id, card, amount, b_name, details, currency='UAH')
|
49
|
-
Request.new(card_args).send_data_for(
|
49
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
50
50
|
data.oper('cmt')
|
51
51
|
data.wait('30')
|
52
52
|
data.test('0')
|
@@ -61,7 +61,7 @@ module Privat24Api
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def check_status_pay(id, ref)
|
64
|
-
Request.new(card_args).send_data_for(
|
64
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
65
65
|
data.oper('cmt')
|
66
66
|
data.wait('0')
|
67
67
|
data.test('0')
|
@@ -73,7 +73,7 @@ module Privat24Api
|
|
73
73
|
end
|
74
74
|
|
75
75
|
def pay_on_mobile(phone, amount)
|
76
|
-
Request.new(card_args).send_data_for(
|
76
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
77
77
|
data.oper('cmt')
|
78
78
|
data.wait('0')
|
79
79
|
data.test('0')
|
@@ -85,7 +85,7 @@ module Privat24Api
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def pay_on_mobile_multiple(phones)
|
88
|
-
Request.new(card_args).send_data_for(
|
88
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
89
89
|
data.oper('cmt')
|
90
90
|
data.wait('0')
|
91
91
|
data.test('0')
|
@@ -99,7 +99,7 @@ module Privat24Api
|
|
99
99
|
end
|
100
100
|
|
101
101
|
def check_status_mobile(id)
|
102
|
-
Request.new(card_args).send_data_for(
|
102
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
103
103
|
data.oper('cmt')
|
104
104
|
data.wait('0')
|
105
105
|
data.test('0')
|
@@ -110,7 +110,7 @@ module Privat24Api
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def send_sms(phone_from, phone_to, message)
|
113
|
-
Request.new(card_args).send_data_for(
|
113
|
+
Request.new(card_args).send_data_for(MOD, __method__.to_s) do |data|
|
114
114
|
data.oper('cmt')
|
115
115
|
data.wait('0')
|
116
116
|
data.test('0')
|
@@ -5,121 +5,38 @@ module Privat24Api
|
|
5
5
|
|
6
6
|
MOD = 'public'
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
def initialize(**card_args)
|
11
|
-
@card_args = card_args
|
8
|
+
def exchange_cash(url_attr='?exchange&coursid=5')
|
9
|
+
request(__method__.to_s, url_attr)
|
12
10
|
end
|
13
11
|
|
14
|
-
|
15
|
-
|
16
|
-
Request.new(card_args).send_data_for(:get, MOD, __method__.to_s) do |data|
|
17
|
-
data.oper('cmt')
|
18
|
-
data.wait('0')
|
19
|
-
data.test('0')
|
20
|
-
data.payment(id: payment_id) do
|
21
|
-
data.prop(name: 'b_card_or_acc', value: card)
|
22
|
-
data.prop(name: 'amt', value: amount)
|
23
|
-
data.prop(name: 'ccy', value: currency)
|
24
|
-
data.prop(name: 'details', value: details)
|
25
|
-
end
|
26
|
-
end
|
12
|
+
def exchange_non_cash(url_attr='?exchange&coursid=11')
|
13
|
+
request(__method__.to_s, url_attr)
|
27
14
|
end
|
28
15
|
|
29
|
-
|
30
|
-
|
31
|
-
Request.new(card_args).send_data_for(:post, MOD, __method__.to_s) do |data|
|
32
|
-
data.oper('cmt')
|
33
|
-
data.wait('0')
|
34
|
-
data.test('0')
|
35
|
-
data.payment(id: payment_id) do
|
36
|
-
data.prop(name: 'b_card_or_acc', value: card)
|
37
|
-
data.prop(name: 'amt', value: amount)
|
38
|
-
data.prop(name: 'ccy', value: currency)
|
39
|
-
data.prop(name: 'b_name', value: b_name)
|
40
|
-
data.prop(name: 'b_crf', value: b_crf)
|
41
|
-
data.prop(name: 'b_bic', value: b_bic)
|
42
|
-
data.prop(name: 'details', value: details)
|
43
|
-
end
|
44
|
-
end
|
16
|
+
def exchange(url_attr='?exchange&coursid=3')
|
17
|
+
request(__method__.to_s, url_attr)
|
45
18
|
end
|
46
19
|
|
47
|
-
|
48
|
-
|
49
|
-
Request.new(card_args).send_data_for(:post, MOD, __method__.to_s) do |data|
|
50
|
-
data.oper('cmt')
|
51
|
-
data.wait('30')
|
52
|
-
data.test('0')
|
53
|
-
data.payment(id: payment_id) do
|
54
|
-
data.prop(name: 'b_card_or_acc', value: card)
|
55
|
-
data.prop(name: 'amt', value: amount)
|
56
|
-
data.prop(name: 'ccy', value: currency)
|
57
|
-
data.prop(name: 'b_name', value: b_name)
|
58
|
-
data.prop(name: 'details', value: details)
|
59
|
-
end
|
60
|
-
end
|
20
|
+
def exchange_archive(url_attr)
|
21
|
+
request(__method__.to_s, url_attr)
|
61
22
|
end
|
62
23
|
|
63
|
-
def
|
64
|
-
|
65
|
-
data.oper('cmt')
|
66
|
-
data.wait('0')
|
67
|
-
data.test('0')
|
68
|
-
data.payment do
|
69
|
-
data.prop(name: 'id', value: card)
|
70
|
-
data.prop(name: 'ref', value: amount)
|
71
|
-
end
|
72
|
-
end
|
24
|
+
def list_privat_offices(url_attr=nil)
|
25
|
+
request(__method__.to_s, url_attr)
|
73
26
|
end
|
74
27
|
|
75
|
-
def
|
76
|
-
|
77
|
-
data.oper('cmt')
|
78
|
-
data.wait('0')
|
79
|
-
data.test('0')
|
80
|
-
data.payment(id: '') do
|
81
|
-
data.prop(name: 'phone', value: phone)
|
82
|
-
data.prop(name: 'amt', value: amount)
|
83
|
-
end
|
84
|
-
end
|
28
|
+
def atm(url_attr='?atm')
|
29
|
+
request(__method__.to_s, url_attr)
|
85
30
|
end
|
86
31
|
|
87
|
-
def
|
88
|
-
|
89
|
-
data.oper('cmt')
|
90
|
-
data.wait('0')
|
91
|
-
data.test('0')
|
92
|
-
phones.each_with_index do |phone, index|
|
93
|
-
data.payment(id: index) do
|
94
|
-
data.prop(name: 'phone', value: phone[:number])
|
95
|
-
data.prop(name: 'amt', value: phone[:amount])
|
96
|
-
end
|
97
|
-
end
|
98
|
-
end
|
32
|
+
def tso(url_attr='?tso')
|
33
|
+
request(__method__.to_s, url_attr)
|
99
34
|
end
|
100
35
|
|
101
|
-
|
102
|
-
Request.new(card_args).send_data_for(:post, MOD, __method__.to_s) do |data|
|
103
|
-
data.oper('cmt')
|
104
|
-
data.wait('0')
|
105
|
-
data.test('0')
|
106
|
-
data.payment do
|
107
|
-
data.prop(name: 'id', value: id)
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
36
|
+
private
|
111
37
|
|
112
|
-
def
|
113
|
-
Request.new
|
114
|
-
data.oper('cmt')
|
115
|
-
data.wait('0')
|
116
|
-
data.test('0')
|
117
|
-
data.payment(id: '') do
|
118
|
-
data.prop(name: 'phone', value: phone_from)
|
119
|
-
data.prop(name: 'phoneto', value: phone_to)
|
120
|
-
data.prop(name: 'text', value: message)
|
121
|
-
end
|
122
|
-
end
|
38
|
+
def request(met, url_attr)
|
39
|
+
Request.new.get_public_data_for(MOD, met, url_attr)
|
123
40
|
end
|
124
41
|
end
|
125
42
|
end
|
@@ -12,7 +12,7 @@ module Privat24Api
|
|
12
12
|
@merchant_password = card_args[:merchant_password]
|
13
13
|
end
|
14
14
|
|
15
|
-
def send_data_for(
|
15
|
+
def send_data_for(mod, met)
|
16
16
|
builder = Nokogiri::XML::DocumentFragment.parse ""
|
17
17
|
Nokogiri::XML::Builder.with(builder) do |xml|
|
18
18
|
yield xml
|
@@ -20,22 +20,25 @@ module Privat24Api
|
|
20
20
|
|
21
21
|
@data_value = builder.to_xml
|
22
22
|
|
23
|
-
Response.new(
|
23
|
+
Response.new(
|
24
|
+
RestClient.post(default_url(mod, met), unescape_xml(make_xml), {content_type: 'text/xml'}).body
|
25
|
+
)
|
24
26
|
end
|
25
27
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
RestClient.method(type).call(url, unescape_xml(make_xml), {content_type: 'text/xml'}).body
|
28
|
+
def get_public_data_for(mod, met, url_attr=nil)
|
29
|
+
Response.new(
|
30
|
+
RestClient.get(make_url(mod, met, url_attr), {content_type: 'application/x-www-form-urlencoded'}).body
|
31
|
+
)
|
31
32
|
end
|
32
33
|
|
34
|
+
private
|
35
|
+
|
33
36
|
def default_url(mod, met)
|
34
|
-
"#{Privat24Api.base_url}#{Privat24Api.end_points[mod][met]}"
|
37
|
+
URI::encode("#{Privat24Api.base_url}#{Privat24Api.end_points[mod][met]}")
|
35
38
|
end
|
36
39
|
|
37
|
-
def make_url(url_attr)
|
38
|
-
|
40
|
+
def make_url(mod, met, url_attr)
|
41
|
+
URI::encode(default_url(mod, met) << url_attr.to_s)
|
39
42
|
end
|
40
43
|
|
41
44
|
def unescape_xml(xml)
|
data/lib/privat24_api/version.rb
CHANGED