payanyway 2.0.2 → 2.1.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: 006868d92b32837be741013f78c66cd9416310ea
4
- data.tar.gz: 817438c74c5995f52735f6b7232854d01802a4e7
3
+ metadata.gz: 01cb3c2c06e6d8fd8308a70d57ad554f2bbc8372
4
+ data.tar.gz: ddc79fad090341cf5bb6ac5f32d58600cb35c6da
5
5
  SHA512:
6
- metadata.gz: 7590e871af8f338c308a82760625576233d69526410fac95d8ba8cbd20eb9030d7db39462a87c540435c9436e6963945d8fdc642e35a384a077cb6a12bd9b574
7
- data.tar.gz: e4e21b77e8e8306b241eef8dd3123b69dcacba812dfc26a3ac13fb46aa147006e5cc797c5e45bd04deb319ed98baaac076c9d7cb58cbbc61da9b29d0c1068757
6
+ metadata.gz: 3414f4fedbd1341f29f1d9d9449799c1aecdf4307e1f50a1eacf93fb04e7e45b6a438fd25ab6309b9a1e6a9c23a6e9f736faf386bf31c1ca98ebc0bc983a2c48
7
+ data.tar.gz: efb6b8178bbfc14e4a9ba724faf2c1c0b748d11e0b09eb2e0e9e035239868890b5b62d555b924cd59caa68bcda01592904de0772bacc73fc1756d5169cd448ed
data/.travis.yml CHANGED
@@ -1,7 +1,6 @@
1
1
  language: ruby
2
2
 
3
3
  rvm:
4
- - 2.0.0
5
4
  - 2.1
6
5
  - 2.2.2
7
6
  - 2.3.3
@@ -15,8 +14,6 @@ matrix:
15
14
  exclude:
16
15
  - rvm: 2.1
17
16
  env: RAILS_VERSION=5.0.1
18
- - rvm: 2.0.0
19
- env: RAILS_VERSION=5.0.1
20
17
 
21
18
  script:
22
19
  - bundle exec rspec
data/README.md CHANGED
@@ -17,7 +17,7 @@
17
17
  - [Check URL](#check_url)
18
18
  - [Return URL и InProgress URL](#return_url)
19
19
  - [Расшифровка параметров](#params)
20
- - [Параметры, отвечающие за выбор платежной системы](#payment_ids)
20
+ - [Автоматическое прохождение MONETA.Assistant](#auto_assistant)
21
21
 
22
22
  ##<a name="installation"></a> Установка
23
23
 
@@ -95,13 +95,18 @@ production: <<: *config
95
95
  ###<a name="payment_url"></a> Запрос на оплату
96
96
 
97
97
  Чтобы получить ссылку на платежный шлюз для оплаты заказа пользователем,
98
- используйте `Payanyway::Gateway.payment_url(params, use_signature = true)`, где `params[ KEY ]` такой, что `KEY` ∈
99
- `[:transaction_id, :amount, :test_mode, :description, :subscriber_id, :custom1, :custom2, :custom3, :locale, :payment_system_unit_id, :payment_system_limit_ids]`
98
+ используйте хелпер
100
99
 
101
- Если в настройках счета в системе **moneta.ru** выставлен флаг «Можно переопределять настройки в URL», то можно так же передавать
100
+ ```ruby
101
+ Payanyway::Gateway.payment_url(params, use_signature = true)
102
+ ```
103
+
104
+ Описание всех возможных параметров запроса (ключей params) находится [здесь](#params).
105
+
106
+ Если в настройках счета в системе **moneta.ru** выставлен флаг «Можно переопределять настройки в URL», то можно так же передавать
102
107
  `[:success_url, :in_progress_url, :fail_url, :return_url]`.
103
108
 
104
- Пример минимальной ссылки:
109
+ Пример минимальной ссылки для оплаты:
105
110
 
106
111
  ```ruby
107
112
  class Order < ActiveRecord::Base; end
@@ -134,7 +139,7 @@ class PayanywayController
134
139
  # params[ KEY ], где KEY ∈ [ :moneta_id, :transaction_id, :operation_id,
135
140
  # :amount, :currency, :subscriber_id, :test_mode, :user, :corraccount,
136
141
  # :custom1, :custom2, :custom3, :payment_system_unit_id ]
137
-
142
+
138
143
  # ВНИМАНИЕ: при отправке корректного ответа со стороны магазина,
139
144
  # необходимо вернуть в методе параметры для генерации статус-кода.
140
145
  # { amount: AMOUNT, state: STATE, description: DESCRIPTION,
@@ -175,7 +180,7 @@ end
175
180
  `:paid` | Заказ оплачен. Уведомление об оплате магазину доставлено.
176
181
  `:in_progress` | Заказ находится в обработке. Точный статус оплаты заказа определить невозможно. (например, если пользователя отправило на InProgress URL, но уведомления на Pay URL от шлюза еще не поступало)
177
182
  `:unpaid` | Заказ создан и готов к оплате. Уведомление об оплате магазину не доставлено.
178
- `:canceled` | Заказ не является актуальным в магазине (например, заказ отменен).
183
+ `:canceled` | Заказ не является актуальным в магазине (например, заказ отменен).
179
184
 
180
185
  ####<a name="return_url"></a> Return URL и InProgress URL
181
186
 
@@ -202,7 +207,7 @@ class PayanywayController
202
207
  end
203
208
  ```
204
209
 
205
- ###<a name="params"></a> Расшифровка параметров, используемых в gem'e
210
+ ###<a name="params"></a> Расшифровка параметров
206
211
 
207
212
  params[ KEY ], где KEY | В документации | Описание
208
213
  ---------------------------|:-------------------------|:-----------------------------------------
@@ -223,14 +228,16 @@ end
223
228
  `:fail_url` | `MNT_FAIL_URL` | URL страницы магазина, куда должен попасть покупатель после отмененной или неуспешной оплаты.
224
229
  `:return_url` | `MNT_RETURN_URL` | URL страницы магазина, куда должен вернуться покупатель при добровольном отказе от оплаты.
225
230
  `:attributes` | `MNT_ATTRIBUTES` | Содержит произвольные параметры, которые будут сохранены в операции.
226
-
227
- ####<a name="payment_ids"></a> Параметры, отвечающие за выбор платежной системы:
228
-
229
- params[ KEY ], где KEY | В документации | Описание
230
- ---------------------------|:-------------------------|:-----------------------------------------
231
- `:payment_system_unit_id` | `paymentSystem.unitId` | Конкретная [платежная система](https://www.moneta.ru/viewPaymentMethods.htm)
232
231
  `:payment_system_limit_ids`| `paymentSystem.limitIds` | Список (разделенный запятыми) идентификаторов платежных систем.
233
232
 
233
+ ####<a name="auto_assistant"></a> Автоматическое прохождение MONETA.Assistant
234
+
235
+ params[ KEY ], где KEY | В документации | Описание
236
+ -----------------------------|:--------------------------|:-----------------------------------------
237
+ `:followup` | `followup` | Пройти весь MONETA.Assistant с предустановленными значениями. Для этого необходимо выбрать платежную систему и заполнить параметры платежной системы (если они есть).
238
+ `:payment_system_unit_id` | `paymentSystem.unitId` | (1015 – МОНЕТА.РУ, 1020 – Яндекс.Деньги, 1017 – WebMoney и т.п.) Предварительный выбор платежной системы. Полный список способов оплаты можно посмотреть: https://www.moneta.ru/viewPaymentMethods.htm
239
+ `:javascript_enabled` | `javascriptEnabled` | (true\|false) Признак возможности использовать javascript для автоматической обработки форм.
240
+ `:payment_system_account_id` | `paymentSystem.accountId` | Номер счета платежной системы. Например, тип кошелька WebMoney, 2 – WMR, 3 – WMZ, 4 – WME.
234
241
 
235
242
  ## Contributing
236
243
 
@@ -2,27 +2,32 @@ module Payanyway
2
2
  module Factories
3
3
  class PaymentUrlFactory
4
4
  PARAMS = {
5
- 'MNT_ID' => :moneta_id,
6
- 'MNT_TEST_MODE' => :test_mode,
7
- 'MNT_CURRENCY_CODE' => :currency,
8
-
9
- 'MNT_TRANSACTION_ID' => :transaction_id,
10
- 'MNT_AMOUNT' => :amount,
11
- 'MNT_DESCRIPTION' => :description,
12
- 'MNT_SUBSCRIBER_ID' => :subscriber_id,
13
-
14
- 'MNT_SUCCESS_URL' => :success_url,
15
- 'MNT_INPROGRESS_URL' => :in_progress_url,
16
- 'MNT_FAIL_URL' => :fail_url,
17
- 'MNT_RETURN_URL' => :return_url,
18
-
19
- 'MNT_CUSTOM1' => :custom1,
20
- 'MNT_CUSTOM2' => :custom2,
21
- 'MNT_CUSTOM3' => :custom3,
22
-
23
- 'moneta.locale' => :locale,
24
- 'paymentSystem.unitId' => :payment_system_unit_id,
25
- 'paymentSystem.limitIds' => :payment_system_limit_ids
5
+ 'MNT_ID' => :moneta_id,
6
+ 'MNT_TEST_MODE' => :test_mode,
7
+ 'MNT_CURRENCY_CODE' => :currency,
8
+
9
+ 'MNT_TRANSACTION_ID' => :transaction_id,
10
+ 'MNT_AMOUNT' => :amount,
11
+ 'MNT_DESCRIPTION' => :description,
12
+ 'MNT_SUBSCRIBER_ID' => :subscriber_id,
13
+
14
+ 'MNT_SUCCESS_URL' => :success_url,
15
+ 'MNT_INPROGRESS_URL' => :in_progress_url,
16
+ 'MNT_FAIL_URL' => :fail_url,
17
+ 'MNT_RETURN_URL' => :return_url,
18
+
19
+ 'MNT_CUSTOM1' => :custom1,
20
+ 'MNT_CUSTOM2' => :custom2,
21
+ 'MNT_CUSTOM3' => :custom3,
22
+
23
+ 'moneta.locale' => :locale,
24
+ 'paymentSystem.limitIds' => :payment_system_limit_ids,
25
+
26
+ # Дополнительные параметры запроса на оплату
27
+ 'followup' => :followup,
28
+ 'paymentSystem.unitId' => :payment_system_unit_id,
29
+ 'javascriptEnabled' => :javascript_enabled,
30
+ 'paymentSystem.accountId' => :payment_system_account_id
26
31
  # 'MNT_SIGNATURE' => добавляется при use_signature == true
27
32
  }.to_settings
28
33
 
@@ -51,4 +56,4 @@ module Payanyway
51
56
  end
52
57
  end
53
58
  end
54
- end
59
+ end
@@ -1,3 +1,3 @@
1
1
  module Payanyway
2
- VERSION = '2.0.2'
2
+ VERSION = '2.1.0'
3
3
  end
@@ -31,13 +31,27 @@ describe Payanyway::Factories::PaymentUrlFactory do
31
31
  amount: '120.25',
32
32
  transaction_id: 'FF790ABCD',
33
33
  locale: 'ru',
34
- payment_system_unit_id: '1015',
35
34
  payment_system_limit_ids: '1015,1017'
36
35
  }
37
36
  }
38
37
 
39
38
  its(['moneta.locale']) { is_expected.to eq('ru') }
40
- its(['paymentSystem.unitId']) { is_expected.to eq('1015') }
41
39
  its(['paymentSystem.limitIds']) { is_expected.to eq('1015,1017') }
42
40
  end
43
- end
41
+
42
+ context 'when set additional params (for automatic MONETA.Assistant process)' do
43
+ let(:params) {
44
+ {
45
+ followup: true,
46
+ payment_system_unit_id: '1017',# (1015 – МОНЕТА.РУ, 1020 – Яндекс.Деньги, 1017 – WebMoney и т.п.)
47
+ javascript_enabled: true,
48
+ payment_system_account_id: 2 # 2 – WMR, 3 – WMZ, 4 – WME.
49
+ }
50
+ }
51
+
52
+ its(['followup']) { is_expected.to eq('true') }
53
+ its(['paymentSystem.unitId']) { is_expected.to eq('1017') }
54
+ its(['javascriptEnabled']) { is_expected.to eq('true') }
55
+ its(['paymentSystem.accountId']) { is_expected.to eq('2') }
56
+ end
57
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: payanyway
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ssnikolay
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-23 00:00:00.000000000 Z
11
+ date: 2017-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails