pokepay_partner_ruby_sdk 0.3.2 → 0.3.6
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/.github/workflows/release-pr.yml +18 -0
- data/Gemfile.lock +1 -1
- data/docs/README.md +269 -0
- data/docs/account.md +159 -0
- data/docs/bank_pay.md +235 -0
- data/docs/bill.md +365 -0
- data/docs/bulk.md +121 -0
- data/docs/campaign.md +1749 -0
- data/docs/cashtray.md +318 -0
- data/docs/check.md +883 -0
- data/docs/coupon.md +724 -0
- data/docs/customer.md +1042 -0
- data/docs/error-response.csv +839 -0
- data/docs/event.md +308 -0
- data/docs/index.md +1279 -305
- data/docs/organization.md +292 -0
- data/docs/private_money.md +213 -0
- data/docs/responses.md +711 -0
- data/docs/shop.md +678 -0
- data/docs/transaction.md +2021 -0
- data/docs/transfer.md +686 -0
- data/docs/user.md +3 -0
- data/docs/user_device.md +134 -0
- data/docs/webhook.md +231 -0
- data/lib/pokepay_partner_ruby_sdk/request/activate_user_device.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/create_bank.rb +17 -0
- data/lib/pokepay_partner_ruby_sdk/request/create_bank_topup_transaction.rb +18 -0
- data/lib/pokepay_partner_ruby_sdk/request/create_coupon.rb +19 -0
- data/lib/pokepay_partner_ruby_sdk/request/create_external_transaction.rb +2 -2
- data/lib/pokepay_partner_ruby_sdk/request/create_transaction_with_cashtray.rb +16 -0
- data/lib/pokepay_partner_ruby_sdk/request/create_user_device.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/delete_webhook.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/get_check.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/get_coupon.rb +1 -1
- data/lib/pokepay_partner_ruby_sdk/request/get_external_transaction_by_request_id.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/get_user_device.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/list_banks.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/list_checks.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/list_organizations.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/refund_external_transaction.rb +2 -2
- data/lib/pokepay_partner_ruby_sdk/request/update_check.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/request/update_coupon.rb +15 -0
- data/lib/pokepay_partner_ruby_sdk/response/bank.rb +28 -0
- data/lib/pokepay_partner_ruby_sdk/response/bank_registering_info.rb +13 -0
- data/lib/pokepay_partner_ruby_sdk/response/banks.rb +13 -0
- data/lib/pokepay_partner_ruby_sdk/response/campaign.rb +6 -0
- data/lib/pokepay_partner_ruby_sdk/response/check.rb +2 -0
- data/lib/pokepay_partner_ruby_sdk/response/external_transaction_detail.rb +34 -0
- data/lib/pokepay_partner_ruby_sdk/response/organization_summary.rb +4 -0
- data/lib/pokepay_partner_ruby_sdk/response/paginated_checks.rb +16 -0
- data/lib/pokepay_partner_ruby_sdk/response/paginated_organizations.rb +16 -0
- data/lib/pokepay_partner_ruby_sdk/response/private_money_summary.rb +4 -0
- data/lib/pokepay_partner_ruby_sdk/response/product.rb +2 -0
- data/lib/pokepay_partner_ruby_sdk/response/user_device.rb +18 -0
- data/lib/pokepay_partner_ruby_sdk/version.rb +1 -1
- data/lib/pokepay_partner_ruby_sdk.rb +26 -4
- data/partner.yaml +1578 -216
- metadata +46 -2
data/docs/check.md
ADDED
@@ -0,0 +1,883 @@
|
|
1
|
+
# Check
|
2
|
+
店舗ユーザが発行し、エンドユーザーがポケペイアプリから読み取ることでチャージ取引が発生するQRコードです。
|
3
|
+
|
4
|
+
チャージQRコードを解析すると次のようなURLになります(URLは環境によって異なります)。
|
5
|
+
|
6
|
+
`https://www-sandbox.pokepay.jp/checks/xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx`
|
7
|
+
|
8
|
+
QRコードを読み取る方法以外にも、このURLリンクを直接スマートフォン(iOS/Android)上で開くことによりアプリが起動して取引が行われます。(注意: 上記URLはsandbox環境であるため、アプリもsandbox環境のものである必要があります) 上記URL中の `xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx` の部分がチャージQRコードのIDです。
|
9
|
+
|
10
|
+
|
11
|
+
<a name="list-checks"></a>
|
12
|
+
## ListChecks: チャージQRコード一覧の取得
|
13
|
+
|
14
|
+
```RUBY
|
15
|
+
response = $client.send(Pokepay::Request::ListChecks.new(
|
16
|
+
page: 4561, # ページ番号
|
17
|
+
per_page: 50, # 1ページの表示数
|
18
|
+
private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # マネーID
|
19
|
+
organization_code: "oWhsZ81p0D8THD4dpuhxNvhxjPfdLCM", # 組織コード
|
20
|
+
expires_from: "2021-06-04T07:32:54.000000Z", # 有効期限の期間によるフィルター(開始時点)
|
21
|
+
expires_to: "2022-05-22T18:27:54.000000Z", # 有効期限の期間によるフィルター(終了時点)
|
22
|
+
created_from: "2020-02-09T19:52:16.000000Z", # 作成日時の期間によるフィルター(開始時点)
|
23
|
+
created_to: "2024-03-20T18:36:22.000000Z", # 作成日時の期間によるフィルター(終了時点)
|
24
|
+
issuer_shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 発行店舗ID
|
25
|
+
description: "SOhV764t", # チャージQRコードの説明文
|
26
|
+
is_onetime: false, # ワンタイムのチャージQRコードかどうか
|
27
|
+
is_disabled: true # 無効化されたチャージQRコードかどうか
|
28
|
+
))
|
29
|
+
```
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
### Parameters
|
34
|
+
**`page`**
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
```json
|
39
|
+
{
|
40
|
+
"type": "integer",
|
41
|
+
"minimum": 1
|
42
|
+
}
|
43
|
+
```
|
44
|
+
|
45
|
+
**`per_page`**
|
46
|
+
|
47
|
+
|
48
|
+
1ページ当たり表示数です。デフォルト値は50です。
|
49
|
+
|
50
|
+
```json
|
51
|
+
{
|
52
|
+
"type": "integer",
|
53
|
+
"minimum": 1
|
54
|
+
}
|
55
|
+
```
|
56
|
+
|
57
|
+
**`private_money_id`**
|
58
|
+
|
59
|
+
|
60
|
+
チャージQRコードのチャージ対象のマネーIDで結果をフィルターします。
|
61
|
+
|
62
|
+
|
63
|
+
```json
|
64
|
+
{
|
65
|
+
"type": "string",
|
66
|
+
"format": "uuid"
|
67
|
+
}
|
68
|
+
```
|
69
|
+
|
70
|
+
**`organization_code`**
|
71
|
+
|
72
|
+
|
73
|
+
チャージQRコードの発行店舗の所属組織の組織コードで結果をフィルターします。
|
74
|
+
デフォルトでは未指定です。
|
75
|
+
|
76
|
+
```json
|
77
|
+
{
|
78
|
+
"type": "string",
|
79
|
+
"maxLength": 32
|
80
|
+
}
|
81
|
+
```
|
82
|
+
|
83
|
+
**`expires_from`**
|
84
|
+
|
85
|
+
|
86
|
+
有効期限の期間によるフィルターの開始時点のタイムスタンプです。
|
87
|
+
デフォルトでは未指定です。
|
88
|
+
|
89
|
+
|
90
|
+
```json
|
91
|
+
{
|
92
|
+
"type": "string",
|
93
|
+
"format": "date-time"
|
94
|
+
}
|
95
|
+
```
|
96
|
+
|
97
|
+
**`expires_to`**
|
98
|
+
|
99
|
+
|
100
|
+
有効期限の期間によるフィルターの終了時点のタイムスタンプです。
|
101
|
+
デフォルトでは未指定です。
|
102
|
+
|
103
|
+
|
104
|
+
```json
|
105
|
+
{
|
106
|
+
"type": "string",
|
107
|
+
"format": "date-time"
|
108
|
+
}
|
109
|
+
```
|
110
|
+
|
111
|
+
**`created_from`**
|
112
|
+
|
113
|
+
|
114
|
+
作成日時の期間によるフィルターの開始時点のタイムスタンプです。
|
115
|
+
デフォルトでは未指定です。
|
116
|
+
|
117
|
+
|
118
|
+
```json
|
119
|
+
{
|
120
|
+
"type": "string",
|
121
|
+
"format": "date-time"
|
122
|
+
}
|
123
|
+
```
|
124
|
+
|
125
|
+
**`created_to`**
|
126
|
+
|
127
|
+
|
128
|
+
作成日時の期間によるフィルターの終了時点のタイムスタンプです。
|
129
|
+
デフォルトでは未指定です。
|
130
|
+
|
131
|
+
|
132
|
+
```json
|
133
|
+
{
|
134
|
+
"type": "string",
|
135
|
+
"format": "date-time"
|
136
|
+
}
|
137
|
+
```
|
138
|
+
|
139
|
+
**`issuer_shop_id`**
|
140
|
+
|
141
|
+
|
142
|
+
チャージQRコードを発行した店舗IDによってフィルターします。
|
143
|
+
デフォルトでは未指定です。
|
144
|
+
|
145
|
+
|
146
|
+
```json
|
147
|
+
{
|
148
|
+
"type": "string",
|
149
|
+
"format": "uuid"
|
150
|
+
}
|
151
|
+
```
|
152
|
+
|
153
|
+
**`description`**
|
154
|
+
|
155
|
+
|
156
|
+
チャージQRコードの説明文(description)によってフィルターします。
|
157
|
+
部分一致(前方一致)したものを表示します。
|
158
|
+
デフォルトでは未指定です。
|
159
|
+
|
160
|
+
|
161
|
+
```json
|
162
|
+
{
|
163
|
+
"type": "string"
|
164
|
+
}
|
165
|
+
```
|
166
|
+
|
167
|
+
**`is_onetime`**
|
168
|
+
|
169
|
+
|
170
|
+
チャージQRコードがワンタイムに設定されているかどうかでフィルターします。
|
171
|
+
`true` の場合はワンタイムかどうかでフィルターし、`false`の場合はワンタイムでないものをフィルターします。
|
172
|
+
未指定の場合はフィルターしません。
|
173
|
+
デフォルトでは未指定です。
|
174
|
+
|
175
|
+
|
176
|
+
```json
|
177
|
+
{
|
178
|
+
"type": "boolean"
|
179
|
+
}
|
180
|
+
```
|
181
|
+
|
182
|
+
**`is_disabled`**
|
183
|
+
|
184
|
+
|
185
|
+
チャージQRコードが無効化されているかどうかでフィルターします。
|
186
|
+
`true` の場合は無効なものをフィルターし、`false`の場合は有効なものをフィルターします。
|
187
|
+
未指定の場合はフィルターしません。
|
188
|
+
デフォルトでは未指定です。
|
189
|
+
|
190
|
+
|
191
|
+
```json
|
192
|
+
{
|
193
|
+
"type": "boolean"
|
194
|
+
}
|
195
|
+
```
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
成功したときは
|
200
|
+
[PaginatedChecks](./responses.md#paginated-checks)
|
201
|
+
を返します
|
202
|
+
|
203
|
+
### Error Responses
|
204
|
+
|status|type|ja|en|
|
205
|
+
|---|---|---|---|
|
206
|
+
|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
|
207
|
+
|422|organization_not_found||Organization not found|
|
208
|
+
|422|private_money_not_found||Private money not found|
|
209
|
+
|
210
|
+
|
211
|
+
|
212
|
+
---
|
213
|
+
|
214
|
+
|
215
|
+
<a name="create-check"></a>
|
216
|
+
## CreateCheck: チャージQRコードの発行
|
217
|
+
|
218
|
+
```RUBY
|
219
|
+
response = $client.send(Pokepay::Request::CreateCheck.new(
|
220
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # account_id: 送金元の店舗アカウントID
|
221
|
+
money_amount: 7227.0, # 付与マネー額
|
222
|
+
point_amount: 2376.0, # 付与ポイント額
|
223
|
+
description: "test check", # 説明文(アプリ上で取引の説明文として表示される)
|
224
|
+
is_onetime: false, # ワンタイムかどうかのフラグ
|
225
|
+
usage_limit: 4143, # ワンタイムでない場合の最大読み取り回数
|
226
|
+
expires_at: "2022-06-25T23:11:28.000000Z", # チャージQRコード自体の失効日時
|
227
|
+
point_expires_at: "2020-07-19T01:57:02.000000Z", # チャージQRコードによって付与されるポイント残高の有効期限
|
228
|
+
point_expires_in_days: 60, # チャージQRコードによって付与されるポイント残高の有効期限(相対日数指定)
|
229
|
+
bear_point_account: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # ポイント額を負担する店舗のウォレットID
|
230
|
+
))
|
231
|
+
```
|
232
|
+
|
233
|
+
|
234
|
+
`money_amount`と`point_amount`の少なくとも一方は指定する必要があります。
|
235
|
+
|
236
|
+
|
237
|
+
|
238
|
+
### Parameters
|
239
|
+
**`money_amount`**
|
240
|
+
|
241
|
+
|
242
|
+
チャージQRコードによって付与されるマネー額です。
|
243
|
+
`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
|
244
|
+
|
245
|
+
|
246
|
+
```json
|
247
|
+
{
|
248
|
+
"type": "number",
|
249
|
+
"format": "decimal",
|
250
|
+
"minimum": 0
|
251
|
+
}
|
252
|
+
```
|
253
|
+
|
254
|
+
**`point_amount`**
|
255
|
+
|
256
|
+
|
257
|
+
チャージQRコードによって付与されるポイント額です。
|
258
|
+
`money_amount`と`point_amount`の少なくともどちらかは指定する必要があります。
|
259
|
+
|
260
|
+
|
261
|
+
```json
|
262
|
+
{
|
263
|
+
"type": "number",
|
264
|
+
"format": "decimal",
|
265
|
+
"minimum": 0
|
266
|
+
}
|
267
|
+
```
|
268
|
+
|
269
|
+
**`account_id`**
|
270
|
+
|
271
|
+
|
272
|
+
|
273
|
+
```json
|
274
|
+
{
|
275
|
+
"type": "string",
|
276
|
+
"format": "uuid"
|
277
|
+
}
|
278
|
+
```
|
279
|
+
|
280
|
+
**`description`**
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
```json
|
285
|
+
{
|
286
|
+
"type": "string",
|
287
|
+
"maxLength": 200
|
288
|
+
}
|
289
|
+
```
|
290
|
+
|
291
|
+
**`is_onetime`**
|
292
|
+
|
293
|
+
|
294
|
+
チャージQRコードが一度の読み取りで失効するときに`true`にします。デフォルト値は`true`です。
|
295
|
+
`false`の場合、複数ユーザによって読み取り可能なQRコードになります。
|
296
|
+
ただし、その場合も1ユーザにつき1回のみしか読み取れません。
|
297
|
+
|
298
|
+
|
299
|
+
```json
|
300
|
+
{
|
301
|
+
"type": "boolean"
|
302
|
+
}
|
303
|
+
```
|
304
|
+
|
305
|
+
**`usage_limit`**
|
306
|
+
|
307
|
+
|
308
|
+
複数ユーザによって読み取り可能なチャージQRコードの最大読み取り回数を指定します。
|
309
|
+
NULLに設定すると無制限に読み取り可能なチャージQRコードになります。
|
310
|
+
デフォルト値はNULLです。
|
311
|
+
ワンタイム指定(`is_onetime`)がされているときは、本パラメータはNULLである必要があります。
|
312
|
+
|
313
|
+
|
314
|
+
```json
|
315
|
+
{
|
316
|
+
"type": "integer"
|
317
|
+
}
|
318
|
+
```
|
319
|
+
|
320
|
+
**`expires_at`**
|
321
|
+
|
322
|
+
|
323
|
+
チャージQRコード自体の失効日時を指定します。この日時以降はチャージQRコードを読み取れなくなります。デフォルトでは作成日時から3ヶ月後になります。
|
324
|
+
|
325
|
+
チャージQRコード自体の失効日時であって、チャージQRコードによって付与されるマネー残高の有効期限とは異なることに注意してください。マネー残高の有効期限はマネー設定で指定されているものになります。
|
326
|
+
|
327
|
+
|
328
|
+
```json
|
329
|
+
{
|
330
|
+
"type": "string",
|
331
|
+
"format": "date-time"
|
332
|
+
}
|
333
|
+
```
|
334
|
+
|
335
|
+
**`point_expires_at`**
|
336
|
+
|
337
|
+
|
338
|
+
チャージQRコードによって付与されるポイント残高の有効起源を指定します。デフォルトではマネー残高の有効期限と同じものが指定されます。
|
339
|
+
|
340
|
+
チャージQRコードにより付与されるマネー残高の有効期限はQRコード毎には指定できませんが、ポイント残高の有効期限は本パラメータにより、QRコード毎に個別に指定することができます。
|
341
|
+
|
342
|
+
|
343
|
+
```json
|
344
|
+
{
|
345
|
+
"type": "string",
|
346
|
+
"format": "date-time"
|
347
|
+
}
|
348
|
+
```
|
349
|
+
|
350
|
+
**`point_expires_in_days`**
|
351
|
+
|
352
|
+
|
353
|
+
チャージQRコードによって付与されるポイント残高の有効期限を相対日数で指定します。
|
354
|
+
1を指定すると、チャージQRコード作成日の当日中に失効します(翌日0時に失効)。
|
355
|
+
`point_expires_at`と`point_expires_in_days`が両方指定されている場合は、チャージQRコードによるチャージ取引ができた時点からより近い方が採用されます。
|
356
|
+
|
357
|
+
|
358
|
+
```json
|
359
|
+
{
|
360
|
+
"type": "integer",
|
361
|
+
"minimum": 1
|
362
|
+
}
|
363
|
+
```
|
364
|
+
|
365
|
+
**`bear_point_account`**
|
366
|
+
|
367
|
+
|
368
|
+
ポイントチャージをする場合、ポイント額を負担する店舗のウォレットIDを指定することができます。
|
369
|
+
デフォルトではマネー発行体のデフォルト店舗(本店)がポイント負担先となります。
|
370
|
+
|
371
|
+
|
372
|
+
```json
|
373
|
+
{
|
374
|
+
"type": "string",
|
375
|
+
"format": "uuid"
|
376
|
+
}
|
377
|
+
```
|
378
|
+
|
379
|
+
|
380
|
+
|
381
|
+
成功したときは
|
382
|
+
[Check](./responses.md#check)
|
383
|
+
を返します
|
384
|
+
|
385
|
+
### Error Responses
|
386
|
+
|status|type|ja|en|
|
387
|
+
|---|---|---|---|
|
388
|
+
|400|invalid_parameter_both_point_and_money_are_zero||One of 'money_amount' or 'point_amount' must be a positive (>0) number|
|
389
|
+
|400|invalid_parameter_only_merchants_can_attach_points_to_check||Only merchants can attach points to check|
|
390
|
+
|400|invalid_parameter_bear_point_account_identification_item_not_unique|ポイントを負担する店舗アカウントを指定するリクエストパラメータには、アカウントID、またはユーザIDのどちらかを含めることができます|Request parameters include either bear_point_account or bear_point_shop_id.|
|
391
|
+
|400|invalid_parameter_combination_usage_limit_and_is_onetime||'usage_limit' can not be specified if 'is_onetime' is true.|
|
392
|
+
|400|invalid_parameters|項目が無効です|Invalid parameters|
|
393
|
+
|400|invalid_parameter_expires_at||'expires_at' must be in the future|
|
394
|
+
|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
|
395
|
+
|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
|
396
|
+
|422|account_private_money_is_not_issued_by_organization||The account's private money is not issued by this organization|
|
397
|
+
|422|shop_account_not_found||The shop account is not found|
|
398
|
+
|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
|
399
|
+
|422|bear_point_account_not_found|ポイントを負担する店舗アカウントが見つかりません|Bear point account not found.|
|
400
|
+
|
401
|
+
|
402
|
+
|
403
|
+
---
|
404
|
+
|
405
|
+
|
406
|
+
<a name="get-check"></a>
|
407
|
+
## GetCheck: チャージQRコードの表示
|
408
|
+
|
409
|
+
```RUBY
|
410
|
+
response = $client.send(Pokepay::Request::GetCheck.new(
|
411
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # check_id: チャージQRコードのID
|
412
|
+
))
|
413
|
+
```
|
414
|
+
|
415
|
+
|
416
|
+
|
417
|
+
### Parameters
|
418
|
+
**`check_id`**
|
419
|
+
|
420
|
+
|
421
|
+
表示対象のチャージQRコードのIDです。
|
422
|
+
|
423
|
+
```json
|
424
|
+
{
|
425
|
+
"type": "string",
|
426
|
+
"format": "uuid"
|
427
|
+
}
|
428
|
+
```
|
429
|
+
|
430
|
+
|
431
|
+
|
432
|
+
成功したときは
|
433
|
+
[Check](./responses.md#check)
|
434
|
+
を返します
|
435
|
+
|
436
|
+
|
437
|
+
|
438
|
+
---
|
439
|
+
|
440
|
+
|
441
|
+
<a name="update-check"></a>
|
442
|
+
## UpdateCheck: チャージQRコードの更新
|
443
|
+
|
444
|
+
```RUBY
|
445
|
+
response = $client.send(Pokepay::Request::UpdateCheck.new(
|
446
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # check_id: チャージQRコードのID
|
447
|
+
money_amount: 6096.0, # 付与マネー額
|
448
|
+
point_amount: 8933.0, # 付与ポイント額
|
449
|
+
description: "test check", # チャージQRコードの説明文
|
450
|
+
is_onetime: false, # ワンタイムかどうかのフラグ
|
451
|
+
usage_limit: 1926, # ワンタイムでない場合の最大読み取り回数
|
452
|
+
expires_at: "2020-10-03T18:38:41.000000Z", # チャージQRコード自体の失効日時
|
453
|
+
point_expires_at: "2022-04-09T15:16:41.000000Z", # チャージQRコードによって付与されるポイント残高の有効期限
|
454
|
+
point_expires_in_days: 60, # チャージQRコードによって付与されるポイント残高の有効期限(相対日数指定)
|
455
|
+
bear_point_account: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # ポイント額を負担する店舗のウォレットID
|
456
|
+
is_disabled: true # 無効化されているかどうかのフラグ
|
457
|
+
))
|
458
|
+
```
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
### Parameters
|
463
|
+
**`check_id`**
|
464
|
+
|
465
|
+
|
466
|
+
更新対象のチャージQRコードのIDです。
|
467
|
+
|
468
|
+
```json
|
469
|
+
{
|
470
|
+
"type": "string",
|
471
|
+
"format": "uuid"
|
472
|
+
}
|
473
|
+
```
|
474
|
+
|
475
|
+
**`money_amount`**
|
476
|
+
|
477
|
+
|
478
|
+
チャージQRコードによって付与されるマネー額です。
|
479
|
+
`money_amount`と`point_amount`が両方0になるような更新リクエストはエラーになります。
|
480
|
+
|
481
|
+
|
482
|
+
```json
|
483
|
+
{
|
484
|
+
"type": "number",
|
485
|
+
"format": "decimal",
|
486
|
+
"minimum": 0
|
487
|
+
}
|
488
|
+
```
|
489
|
+
|
490
|
+
**`point_amount`**
|
491
|
+
|
492
|
+
|
493
|
+
チャージQRコードによって付与されるポイント額です。
|
494
|
+
`money_amount`と`point_amount`が両方0になるような更新リクエストはエラーになります。
|
495
|
+
|
496
|
+
|
497
|
+
```json
|
498
|
+
{
|
499
|
+
"type": "number",
|
500
|
+
"format": "decimal",
|
501
|
+
"minimum": 0
|
502
|
+
}
|
503
|
+
```
|
504
|
+
|
505
|
+
**`description`**
|
506
|
+
|
507
|
+
|
508
|
+
チャージQRコードの説明文です。
|
509
|
+
チャージ取引後は、取引の説明文に転記され、取引履歴などに表示されます。
|
510
|
+
|
511
|
+
|
512
|
+
```json
|
513
|
+
{
|
514
|
+
"type": "string",
|
515
|
+
"maxLength": 200
|
516
|
+
}
|
517
|
+
```
|
518
|
+
|
519
|
+
**`is_onetime`**
|
520
|
+
|
521
|
+
|
522
|
+
チャージQRコードが一度の読み取りで失効するときに`true`にします。
|
523
|
+
`false`の場合、複数ユーザによって読み取り可能なQRコードになります。
|
524
|
+
ただし、その場合も1ユーザにつき1回のみしか読み取れません。
|
525
|
+
|
526
|
+
|
527
|
+
```json
|
528
|
+
{
|
529
|
+
"type": "boolean"
|
530
|
+
}
|
531
|
+
```
|
532
|
+
|
533
|
+
**`usage_limit`**
|
534
|
+
|
535
|
+
|
536
|
+
複数ユーザによって読み取り可能なチャージQRコードの最大読み取り回数を指定します。
|
537
|
+
NULLに設定すると無制限に読み取り可能なチャージQRコードになります。
|
538
|
+
ワンタイム指定(`is_onetime`)がされているときは、本パラメータはNULLである必要があります。
|
539
|
+
|
540
|
+
|
541
|
+
```json
|
542
|
+
{
|
543
|
+
"type": "integer"
|
544
|
+
}
|
545
|
+
```
|
546
|
+
|
547
|
+
**`expires_at`**
|
548
|
+
|
549
|
+
|
550
|
+
チャージQRコード自体の失効日時を指定します。この日時以降はチャージQRコードを読み取れなくなります。
|
551
|
+
|
552
|
+
チャージQRコード自体の失効日時であって、チャージQRコードによって付与されるマネー残高の有効期限とは異なることに注意してください。マネー残高の有効期限はマネー設定で指定されているものになります。
|
553
|
+
|
554
|
+
|
555
|
+
```json
|
556
|
+
{
|
557
|
+
"type": "string",
|
558
|
+
"format": "date-time"
|
559
|
+
}
|
560
|
+
```
|
561
|
+
|
562
|
+
**`point_expires_at`**
|
563
|
+
|
564
|
+
|
565
|
+
チャージQRコードによって付与されるポイント残高の有効起源を指定します。
|
566
|
+
|
567
|
+
チャージQRコードにより付与されるマネー残高の有効期限はQRコード毎には指定できませんが、ポイント残高の有効期限は本パラメータにより、QRコード毎に個別に指定することができます。
|
568
|
+
|
569
|
+
|
570
|
+
```json
|
571
|
+
{
|
572
|
+
"type": "string",
|
573
|
+
"format": "date-time"
|
574
|
+
}
|
575
|
+
```
|
576
|
+
|
577
|
+
**`point_expires_in_days`**
|
578
|
+
|
579
|
+
|
580
|
+
チャージQRコードによって付与されるポイント残高の有効期限を相対日数で指定します。
|
581
|
+
1を指定すると、チャージQRコード作成日の当日中に失効します(翌日0時に失効)。
|
582
|
+
`point_expires_at`と`point_expires_in_days`が両方指定されている場合は、チャージQRコードによるチャージ取引ができた時点からより近い方が採用されます。
|
583
|
+
`point_expires_at`と`point_expires_in_days`が両方NULLに設定されている場合は、マネーに設定されている残高の有効期限と同じになります。
|
584
|
+
|
585
|
+
|
586
|
+
```json
|
587
|
+
{
|
588
|
+
"type": "integer",
|
589
|
+
"minimum": 1
|
590
|
+
}
|
591
|
+
```
|
592
|
+
|
593
|
+
**`bear_point_account`**
|
594
|
+
|
595
|
+
|
596
|
+
ポイントチャージをする場合、ポイント額を負担する店舗のウォレットIDを指定することができます。
|
597
|
+
|
598
|
+
|
599
|
+
```json
|
600
|
+
{
|
601
|
+
"type": "string",
|
602
|
+
"format": "uuid"
|
603
|
+
}
|
604
|
+
```
|
605
|
+
|
606
|
+
**`is_disabled`**
|
607
|
+
|
608
|
+
|
609
|
+
チャージQRコードを無効化するときに`true`にします。
|
610
|
+
`false`の場合は無効化されているチャージQRコードを再有効化します。
|
611
|
+
|
612
|
+
|
613
|
+
```json
|
614
|
+
{
|
615
|
+
"type": "boolean"
|
616
|
+
}
|
617
|
+
```
|
618
|
+
|
619
|
+
|
620
|
+
|
621
|
+
成功したときは
|
622
|
+
[Check](./responses.md#check)
|
623
|
+
を返します
|
624
|
+
|
625
|
+
|
626
|
+
|
627
|
+
---
|
628
|
+
|
629
|
+
|
630
|
+
<a name="create-topup-transaction-with-check"></a>
|
631
|
+
## CreateTopupTransactionWithCheck: チャージQRコードを読み取ることでチャージする
|
632
|
+
通常チャージQRコードはエンドユーザーのアプリによって読み取られ、アプリとポケペイサーバとの直接通信によって取引が作られます。 もしエンドユーザーとの通信をパートナーのサーバのみに限定したい場合、パートナーのサーバがチャージQRの情報をエンドユーザーから代理受けして、サーバ間連携APIによって実際のチャージ取引をリクエストすることになります。
|
633
|
+
|
634
|
+
エンドユーザーから受け取ったチャージ用QRコードのIDをエンドユーザーIDと共に渡すことでチャージ取引が作られます。
|
635
|
+
|
636
|
+
|
637
|
+
```RUBY
|
638
|
+
response = $client.send(Pokepay::Request::CreateTopupTransactionWithCheck.new(
|
639
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # check_id: チャージ用QRコードのID
|
640
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # customer_id: エンドユーザーのID
|
641
|
+
request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
|
642
|
+
))
|
643
|
+
```
|
644
|
+
|
645
|
+
|
646
|
+
|
647
|
+
### Parameters
|
648
|
+
**`check_id`**
|
649
|
+
|
650
|
+
|
651
|
+
チャージ用QRコードのIDです。
|
652
|
+
|
653
|
+
QRコード生成時に送金元店舗のウォレット情報や、送金額などが登録されています。
|
654
|
+
|
655
|
+
```json
|
656
|
+
{
|
657
|
+
"type": "string",
|
658
|
+
"format": "uuid"
|
659
|
+
}
|
660
|
+
```
|
661
|
+
|
662
|
+
**`customer_id`**
|
663
|
+
|
664
|
+
|
665
|
+
エンドユーザーIDです。
|
666
|
+
|
667
|
+
送金先のエンドユーザーを指定します。
|
668
|
+
|
669
|
+
```json
|
670
|
+
{
|
671
|
+
"type": "string",
|
672
|
+
"format": "uuid"
|
673
|
+
}
|
674
|
+
```
|
675
|
+
|
676
|
+
**`request_id`**
|
677
|
+
|
678
|
+
|
679
|
+
取引作成APIの羃等性を担保するためのリクエスト固有のIDです。
|
680
|
+
|
681
|
+
取引作成APIで結果が受け取れなかったなどの理由で再試行する際に、二重に取引が作られてしまうことを防ぐために、クライアント側から指定されます。指定は任意で、UUID V4フォーマットでランダム生成した文字列です。リクエストIDは一定期間で削除されます。
|
682
|
+
|
683
|
+
リクエストIDを指定したとき、まだそのリクエストIDに対する取引がない場合、新規に取引が作られレスポンスとして返されます。もしそのリクエストIDに対する取引が既にある場合、既存の取引がレスポンスとして返されます。
|
684
|
+
|
685
|
+
```json
|
686
|
+
{
|
687
|
+
"type": "string",
|
688
|
+
"format": "uuid"
|
689
|
+
}
|
690
|
+
```
|
691
|
+
|
692
|
+
|
693
|
+
|
694
|
+
成功したときは
|
695
|
+
[TransactionDetail](./responses.md#transaction-detail)
|
696
|
+
を返します
|
697
|
+
|
698
|
+
### Error Responses
|
699
|
+
|status|type|ja|en|
|
700
|
+
|---|---|---|---|
|
701
|
+
|400|invalid_parameters|項目が無効です|Invalid parameters|
|
702
|
+
|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
|
703
|
+
|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
|
704
|
+
|422|customer_user_not_found||The customer user is not found|
|
705
|
+
|422|check_not_found|これはチャージQRコードではありません|This is not a topup QR code|
|
706
|
+
|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
|
707
|
+
|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
|
708
|
+
|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
|
709
|
+
|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
|
710
|
+
|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
|
711
|
+
|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
|
712
|
+
|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
|
713
|
+
|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
|
714
|
+
|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
|
715
|
+
|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
|
716
|
+
|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
|
717
|
+
|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
|
718
|
+
|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
|
719
|
+
|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
|
720
|
+
|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
|
721
|
+
|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
|
722
|
+
|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
|
723
|
+
|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
|
724
|
+
|422|account_suspended|アカウントは停止されています|The account is suspended|
|
725
|
+
|422|account_closed|アカウントは退会しています|The account is closed|
|
726
|
+
|422|customer_account_not_found||The customer account is not found|
|
727
|
+
|422|shop_account_not_found||The shop account is not found|
|
728
|
+
|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
|
729
|
+
|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
|
730
|
+
|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
|
731
|
+
|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
|
732
|
+
|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
|
733
|
+
|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
|
734
|
+
|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
|
735
|
+
|422|check_already_received|このチャージQRコードは既に受取済みの為、チャージ出来ませんでした|Check is already received|
|
736
|
+
|422|check_unavailable|このチャージQRコードは利用できません|The topup QR code is not available|
|
737
|
+
|503|temporarily_unavailable||Service Unavailable|
|
738
|
+
|
739
|
+
|
740
|
+
|
741
|
+
---
|
742
|
+
|
743
|
+
|
744
|
+
<a name="create-transaction-with-cashtray"></a>
|
745
|
+
## CreateTransactionWithCashtray: CashtrayQRコードを読み取ることで取引する
|
746
|
+
エンドユーザーから受け取ったCashtray用QRコードのIDをエンドユーザーIDと共に渡すことで支払いあるいはチャージ取引が作られます。
|
747
|
+
|
748
|
+
通常CashtrayQRコードはエンドユーザーのアプリによって読み取られ、アプリとポケペイサーバとの直接通信によって取引が作られます。
|
749
|
+
もしエンドユーザーとの通信をパートナーのサーバのみに限定したい場合、パートナーのサーバがCashtrayQRの情報をエンドユーザーから代理受けして、サーバ間連携APIによって実際のチャージ取引をリクエストすることになります。
|
750
|
+
|
751
|
+
|
752
|
+
```RUBY
|
753
|
+
response = $client.send(Pokepay::Request::CreateTransactionWithCashtray.new(
|
754
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # cashtray_id: Cashtray用QRコードのID
|
755
|
+
"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # customer_id: エンドユーザーのID
|
756
|
+
strategy: "money-only", # 支払い時の残高消費方式
|
757
|
+
request_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # リクエストID
|
758
|
+
))
|
759
|
+
```
|
760
|
+
|
761
|
+
|
762
|
+
|
763
|
+
### Parameters
|
764
|
+
**`cashtray_id`**
|
765
|
+
|
766
|
+
|
767
|
+
Cashtray用QRコードのIDです。
|
768
|
+
|
769
|
+
QRコード生成時に送金元店舗のウォレット情報や、金額などが登録されています。
|
770
|
+
|
771
|
+
```json
|
772
|
+
{
|
773
|
+
"type": "string",
|
774
|
+
"format": "uuid"
|
775
|
+
}
|
776
|
+
```
|
777
|
+
|
778
|
+
**`customer_id`**
|
779
|
+
|
780
|
+
|
781
|
+
エンドユーザーIDです。
|
782
|
+
|
783
|
+
```json
|
784
|
+
{
|
785
|
+
"type": "string",
|
786
|
+
"format": "uuid"
|
787
|
+
}
|
788
|
+
```
|
789
|
+
|
790
|
+
**`strategy`**
|
791
|
+
|
792
|
+
|
793
|
+
支払い時に残高がどのように消費されるかを指定します。
|
794
|
+
チャージの場合は無効です。
|
795
|
+
デフォルトでは point-preferred (ポイント優先)が採用されます。
|
796
|
+
|
797
|
+
- point-preferred: ポイント残高が優先的に消費され、ポイントがなくなり次第マネー残高から消費されていきます(デフォルト動作)
|
798
|
+
- money-only: マネー残高のみから消費され、ポイント残高は使われません
|
799
|
+
|
800
|
+
マネー設定でポイント残高のみの利用に設定されている場合(display_money_and_point が point-only の場合)、 strategy の指定に関わらずポイント優先になります。
|
801
|
+
|
802
|
+
```json
|
803
|
+
{
|
804
|
+
"type": "string",
|
805
|
+
"enum": [
|
806
|
+
"point-preferred",
|
807
|
+
"money-only"
|
808
|
+
]
|
809
|
+
}
|
810
|
+
```
|
811
|
+
|
812
|
+
**`request_id`**
|
813
|
+
|
814
|
+
|
815
|
+
取引作成APIの羃等性を担保するためのリクエスト固有のIDです。
|
816
|
+
|
817
|
+
取引作成APIで結果が受け取れなかったなどの理由で再試行する際に、二重に取引が作られてしまうことを防ぐために、クライアント側から指定されます。
|
818
|
+
指定は任意で、UUID V4フォーマットでランダム生成した文字列です。リクエストIDは一定期間で削除されます。
|
819
|
+
|
820
|
+
リクエストIDを指定したとき、まだそのリクエストIDに対する取引がない場合、新規に取引が作られレスポンスとして返されます。
|
821
|
+
もしそのリクエストIDに対する取引が既にある場合、既存の取引がレスポンスとして返されます。
|
822
|
+
|
823
|
+
```json
|
824
|
+
{
|
825
|
+
"type": "string",
|
826
|
+
"format": "uuid"
|
827
|
+
}
|
828
|
+
```
|
829
|
+
|
830
|
+
|
831
|
+
|
832
|
+
成功したときは
|
833
|
+
[TransactionDetail](./responses.md#transaction-detail)
|
834
|
+
を返します
|
835
|
+
|
836
|
+
### Error Responses
|
837
|
+
|status|type|ja|en|
|
838
|
+
|---|---|---|---|
|
839
|
+
|400|invalid_parameters|項目が無効です|Invalid parameters|
|
840
|
+
|403|unpermitted_admin_user|この管理ユーザには権限がありません|Admin does not have permission|
|
841
|
+
|410|transaction_canceled|取引がキャンセルされました|Transaction was canceled|
|
842
|
+
|422|account_not_found|アカウントが見つかりません|The account is not found|
|
843
|
+
|422|cashtray_not_found|決済QRコードが見つかりません|Cashtray is not found|
|
844
|
+
|422|invalid_metadata|メタデータの形式が不正です|Invalid metadata format|
|
845
|
+
|422|account_can_not_topup|この店舗からはチャージできません|account can not topup|
|
846
|
+
|422|transaction_has_done|取引は完了しており、キャンセルすることはできません|Transaction has been copmpleted and cannot be canceled|
|
847
|
+
|422|account_restricted|特定のアカウントの支払いに制限されています|The account is restricted to pay for a specific account|
|
848
|
+
|422|account_balance_not_enough|口座残高が不足してます|The account balance is not enough|
|
849
|
+
|422|c2c_transfer_not_allowed|このマネーではユーザ間マネー譲渡は利用できません|Customer to customer transfer is not available for this money|
|
850
|
+
|422|account_transfer_limit_exceeded|取引金額が上限を超えました|Too much amount to transfer|
|
851
|
+
|422|account_balance_exceeded|口座残高が上限を超えました|The account balance exceeded the limit|
|
852
|
+
|422|account_money_topup_transfer_limit_exceeded|マネーチャージ金額が上限を超えました|Too much amount to money topup transfer|
|
853
|
+
|422|account_total_topup_limit_range|期間内での合計チャージ額上限に達しました|Entire period topup limit reached|
|
854
|
+
|422|account_total_topup_limit_entire_period|全期間での合計チャージ額上限に達しました|Entire period topup limit reached|
|
855
|
+
|422|coupon_unavailable_shop|このクーポンはこの店舗では使用できません。|This coupon is unavailable for this shop.|
|
856
|
+
|422|coupon_already_used|このクーポンは既に使用済みです。|This coupon is already used.|
|
857
|
+
|422|coupon_not_received|このクーポンは受け取られていません。|This coupon is not received.|
|
858
|
+
|422|coupon_not_sent|このウォレットに対して配信されていないクーポンです。|This coupon is not sent to this account yet.|
|
859
|
+
|422|coupon_amount_not_enough|このクーポンを使用するには支払い額が足りません。|The payment amount not enough to use this coupon.|
|
860
|
+
|422|coupon_not_payment|クーポンは支払いにのみ使用できます。|Coupons can only be used for payment.|
|
861
|
+
|422|coupon_unavailable|このクーポンは使用できません。|This coupon is unavailable.|
|
862
|
+
|422|account_suspended|アカウントは停止されています|The account is suspended|
|
863
|
+
|422|account_closed|アカウントは退会しています|The account is closed|
|
864
|
+
|422|customer_account_not_found||The customer account is not found|
|
865
|
+
|422|shop_account_not_found||The shop account is not found|
|
866
|
+
|422|account_currency_mismatch|アカウント間で通貨が異なっています|Currency mismatch between accounts|
|
867
|
+
|422|account_pre_closed|アカウントは退会準備中です|The account is pre-closed|
|
868
|
+
|422|account_not_accessible|アカウントにアクセスできません|The account is not accessible by this user|
|
869
|
+
|422|terminal_is_invalidated|端末は無効化されています|The terminal is already invalidated|
|
870
|
+
|422|same_account_transaction|同じアカウントに送信しています|Sending to the same account|
|
871
|
+
|422|transaction_invalid_done_at|取引完了日が無効です|Transaction completion date is invalid|
|
872
|
+
|422|transaction_invalid_amount|取引金額が数値ではないか、受け入れられない桁数です|Transaction amount is not a number or cannot be accepted for this currency|
|
873
|
+
|422|cashtray_already_proceed|この決済QRコードは既に処理されています|Cashtray is already proceed|
|
874
|
+
|422|cashtray_expired|この決済QRコードは有効期限が切れています|Cashtray is expired|
|
875
|
+
|422|cashtray_already_canceled|この決済QRコードは既に無効化されています|Cashtray is already canceled|
|
876
|
+
|503|temporarily_unavailable||Service Unavailable|
|
877
|
+
|
878
|
+
|
879
|
+
|
880
|
+
---
|
881
|
+
|
882
|
+
|
883
|
+
|