pokepay_partner_ruby_sdk 0.1.4 → 0.1.5

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
  SHA256:
3
- metadata.gz: ef55822676f9f2e427fd76e1434e510c90491a72d57ce38d0be9c6f9f271936b
4
- data.tar.gz: a48fb9effd3ae012dc51d9efc19021088d8d01e6c3eab08745beb5b6e6fbef6d
3
+ metadata.gz: 5354d8343e918d7d6918a30d5616d3d3af32dfb225a63430a87b439b992bb591
4
+ data.tar.gz: 11287914f04797d6efb7f32b00b8a231063eb072c690690a354e79cc49e75750
5
5
  SHA512:
6
- metadata.gz: dce0a61b071729c5b85af8035d7e1cc767d5eb99b55da16a0126c344aba7b8fee5a17a70994d8284bc3fe02910cceda320ff646dcba3aea2230c908a57906cdb
7
- data.tar.gz: 2f4f017ff5a6fa72c2dcce10155ec211f9db9f4ca00f8f8f28914502fb85a4721564c014c27efee938889aeeffc3de999e6e4f4bf0bd6e72cd854a05f7c07919
6
+ metadata.gz: 79786b8b53e12dd1d064e018a17d12ea973b01428520a751f4632fb0babcc40ff234799204a524b2eb41804345b6d2c3726e4cbb0272806a161c9bebd95bd1f5
7
+ data.tar.gz: 7ec5ccca95604a37fdd5cc71b40d5d9297d1deb0ef8786768ec5993edc42ce8e60b72356352374883e45e0be06b80dd9fb8c46f624b597557a20e3219151e5d7
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- pokepay_partner_ruby_sdk (0.1.4)
4
+ pokepay_partner_ruby_sdk (0.1.5)
5
5
  inifile (~> 3.0.0)
6
6
  json (~> 2.3.0)
7
7
  openssl (~> 2.1.2)
@@ -1,5 +1,4 @@
1
1
  # Partner API SDK for Ruby
2
-
3
2
  ## Installation
4
3
 
5
4
  rubygemsからインストールすることができます。
@@ -140,287 +139,627 @@ response.code
140
139
  response.body
141
140
  # => {"type"=>"invalid_parameters", "message"=>"Invalid parameters", "errors"=>{"invalid"=>["message"]}}
142
141
  ```
143
-
144
142
  <a name="api-operations"></a>
145
143
  ## API Operations
146
144
 
147
145
  ### Transaction
148
146
 
149
- <a name="get-transaction"></a>
150
147
  #### 取引情報を取得する
151
-
148
+ 取引を取得します。
152
149
  ```ruby
153
- response = client.send(Pokepay::Request::GetTransaction.new(
154
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 取引ID
155
- ))
156
-
150
+ response = $client.send(Pokepay::Request::GetTransaction.new(
151
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // transaction_id: 取引ID
152
+ ))
157
153
  ```
158
154
 
159
- 成功したときは以下のプロパティを含む `Pokepay::Response::Transaction` オブジェクトをレスポンスとして返します。
160
-
161
- - id (String): 取引ID
162
- - type (String): 取引種別 (チャージ=topup, 支払い=payment)
163
- - is_modified (真理値): 返金された取引かどうか
164
- - sender (Pokepay::Response::User): 送金者情報
165
- - receiver (Pokepay::Response::User): 受取者情報
166
- - sender_account (Pokepay::Response::Account): 送金口座情報
167
- - receiver_account (Pokepay::Response::Account): 受取口座情報
168
- - amount (Numeric): 決済総額 (マネー額 + ポイント額)
169
- - money_amount (Numeric): 決済マネー額
170
- - point_amount (Numeric): 決済ポイント額
171
- - done_at (Time): 取引日時
172
- - description (String): 取引説明文
173
-
174
- `sender` と `receiver` は `Pokepay::Response::User` のオブジェクトです。 以下にプロパティを示します。
175
-
176
- - id (String): ユーザー (または店舗) ID
177
- - name (String): ユーザー (または店舗) 名
178
- - is_merchant (真理値): 店舗ユーザーかどうか
179
-
180
- `senderAccount` と `receiverAccount` は `Pokepay::Response::Account` のオブジェクトです。以下にプロパティを示します。
181
-
182
- - id (String): 口座ID
183
- - name (String): 口座名
184
- - is_suspended (真理値): 口座が凍結されているかどうか
185
- - private_money (Pokepay::Response::PrivateMoney): 設定マネー情報
186
-
187
- `privateMoney` は `Pokepay::Response::PrivateMoney` のオブジェクトです。以下にプロパティを示します。
188
-
189
- - id (String): マネーID
190
- - name (String): マネー名
191
- - unit (String): マネー単位 (例: 円)
192
- - is_exclusive (真理値): 会員制のマネーかどうか
193
- - description (String): マネー説明文
194
- - max_balance (Numeric): 口座の上限金額
195
- - transfer_limit (Numeric): マネーの取引上限額
196
- - type (String): マネー種別 (自家型=own, 第三者型=third-party)
197
- - expiration_type (String): 有効期限種別 (チャージ日時起算=static, 最終利用日時起算=last-update)
155
+ ---
156
+ `transaction_id`
157
+ 取引IDです。
198
158
 
199
- #### チャージする
159
+ フィルターとして使われ、指定した取引IDの取引を取得します。
160
+
161
+ ---
162
+ 成功したときは[Transaction](#transaction)オブジェクトを返します
200
163
 
164
+ #### チャージする
165
+ チャージ取引を作成します。
201
166
  ```ruby
202
- response = client.send(Pokepay::Request::CreateTopupTransaction.new(
203
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
204
- "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", # エンドユーザーのID
205
- "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", # 送るマネーのID
206
- {
207
- "money_amount" => 100, # チャージマネー額
208
- "point_amount" => 200, # チャージするポイント額 (任意)
209
- "description" => "チャージテスト" # 取引履歴に表示する説明文 (任意)
210
- }))
167
+ response = $client.send(Pokepay::Request::CreateTopupTransaction.new(
168
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // shop_id: 店舗ID
169
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // customer_id: エンドユーザーのID
170
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // private_money_id: マネーID
171
+ bear_point_shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // ポイント支払時の負担店舗ID
172
+ money_amount: 8555, // マネー額
173
+ point_amount: 2302, // ポイント額
174
+ description: "初夏のチャージキャンペーン" // 取引履歴に表示する説明文
175
+ ))
211
176
  ```
212
177
 
213
- 成功したときは `Pokepay::Response::Transaction` を持つレスポンスオブジェクトを返します。
214
- プロパティは [取引情報を取得する](#get-transaction) を参照してください。
178
+ ---
179
+ `shop_id`
180
+ 店舗IDです。
181
+
182
+ 送金元の店舗を指定します。
183
+
184
+ ---
185
+ `customer_id`
186
+ エンドユーザーIDです。
187
+
188
+ 送金先のエンドユーザーを指定します。
189
+
190
+ ---
191
+ `private_money_id`
192
+ マネーIDです。
193
+
194
+ マネーを指定します。
195
+
196
+ ---
197
+ `bear_point_shop_id`
198
+ ポイント支払時の負担店舗IDです。
199
+
200
+ ポイント支払い時に実際お金を負担する店舗を指定します。
201
+
202
+ ---
203
+ `money_amount`
204
+ マネー額です。
205
+
206
+ 送金するマネー額を指定します。
207
+
208
+ ---
209
+ `point_amount`
210
+ ポイント額です。
211
+
212
+ 送金するポイント額を指定します。
213
+
214
+ ---
215
+ `description`
216
+ 取引説明文です。
217
+
218
+ 任意入力で、取引履歴に表示される説明文です。
219
+
220
+ ---
221
+ 成功したときは[Transaction](#transaction)オブジェクトを返します
215
222
 
216
223
  #### 支払いする
224
+ 支払取引を作成します。
225
+ 支払い時には、エンドユーザーの残高のうち、ポイント残高から優先的に消費されます。
217
226
 
218
227
  ```ruby
219
- response = client.send(Pokepay::Request::CreatePaymentTransaction.new(
220
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 店舗ID
221
- "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy", # エンドユーザーのID
222
- "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", # 支払うマネーのID
223
- 100, # 支払い額
224
- {
225
- "description" => "たい焼き(小倉)" # 取引履歴に表示する説明文 (任意)
226
- }))
228
+ response = $client.send(Pokepay::Request::CreatePaymentTransaction.new(
229
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // shop_id: 店舗ID
230
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // customer_id: エンドユーザーID
231
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // private_money_id: マネーID
232
+ 6077, // amount: 支払い額
233
+ description: "たい焼き(小倉)" // 取引履歴に表示する説明文
234
+ ))
227
235
  ```
228
236
 
229
- 成功したときは `Pokepay::Response::Transaction` オブジェクトをレスポンスとして返します。
230
- プロパティは [取引情報を取得する](#get-transaction) を参照してください。
237
+ ---
238
+ `shop_id`
239
+ 店舗IDです。
231
240
 
232
- #### チャージ用QRコードを読み取ることでチャージする
241
+ 送金先の店舗を指定します。
233
242
 
234
- チャージ用QRコードを解析すると次のようなURLになります(URLは環境によって異なります)。
243
+ ---
244
+ `customer_id`
245
+ エンドユーザーIDです。
235
246
 
236
- `https://www-sandbox.pokepay.jp/checks/xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx`
247
+ 送金元のエンドユーザーを指定します。
248
+
249
+ ---
250
+ `private_money_id`
251
+ マネーIDです。
252
+
253
+ マネーを指定します。
237
254
 
238
- この `xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx` の部分がチャージ用QRコードのIDです。
239
- これを以下のようにエンドユーザIDと共に渡すことでチャージ取引が作られます。
255
+ ---
256
+ `amount`
257
+ マネー額です。
240
258
 
259
+ 送金するマネー額を指定します。
260
+
261
+ ---
262
+ `description`
263
+ 取引説明文です。
264
+
265
+ 任意入力で、取引履歴に表示される説明文です。
266
+
267
+ ---
268
+ 成功したときは[Transaction](#transaction)オブジェクトを返します
269
+
270
+ #### 取引履歴を取得する
271
+ 取引一覧を返します。
241
272
  ```ruby
242
- response = client.send(Pokepay::Request::CreateTopupTransactionWithCheck.new(
243
- "xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx", # チャージ用QRコードのID
244
- "yyyyyyyy-yyyy-yyyyyyyyy-yyyyyyyyyyyy" # エンドユーザーのID
245
- ))
273
+ response = $client.send(Pokepay::Request::ListTransactions.new(
274
+ from: "2021-04-20T20:55:06.000000+09:00", // 開始日時
275
+ to: "2021-12-08T08:10:34.000000+09:00", // 終了日時
276
+ page: 1, // ページ番号
277
+ per_page: 50, // 1ページ分の取引数
278
+ shop_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 店舗ID
279
+ customer_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // エンドユーザーID
280
+ customer_name: "太郎", // エンドユーザー名
281
+ terminal_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 端末ID
282
+ transaction_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // 取引ID
283
+ organization_code: "pocketchange", // 組織コード
284
+ private_money_id: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // マネーID
285
+ is_modified: true, // キャンセルフラグ
286
+ types: ["topup", "payment"] // 取引種別 (複数指定可)、チャージ=topup、支払い=payment
287
+ ))
246
288
  ```
247
289
 
248
- 成功したときは `Pokepay::Response::Transaction` オブジェクトをレスポンスとして返します。
249
- プロパティは [取引情報を取得する](#get-transaction) を参照してください。
290
+ ---
291
+ `from`
292
+ 抽出期間の開始日時です。
250
293
 
251
- #### 取引履歴を取得する
294
+ フィルターとして使われ、開始日時以降に発生した取引のみ一覧に表示されます。
295
+
296
+ ---
297
+ `to`
298
+ 抽出期間の終了日時です。
299
+
300
+ フィルターとして使われ、終了日時以前に発生した取引のみ一覧に表示されます。
301
+
302
+ ---
303
+ `page`
304
+ 取得したいページ番号です。
305
+
306
+ ---
307
+ `per_page`
308
+ 1ページ分の取引数です。
309
+
310
+ ---
311
+ `shop_id`
312
+ 店舗IDです。
313
+
314
+ フィルターとして使われ、指定された店舗での取引のみ一覧に表示されます。
315
+
316
+ ---
317
+ `customer_id`
318
+ エンドユーザーIDです。
319
+
320
+ フィルターとして使われ、指定されたエンドユーザーでの取引のみ一覧に表示されます。
321
+
322
+ ---
323
+ `customer_name`
324
+ エンドユーザー名です。
325
+
326
+ フィルターとして使われ、入力された名前に部分一致するエンドユーザーでの取引のみ一覧に表示されます。
327
+
328
+ ---
329
+ `terminal_id`
330
+ 端末IDです。
331
+
332
+ フィルターとして使われ、指定された端末での取引のみ一覧に表示されます。
333
+
334
+ ---
335
+ `transaction_id`
336
+ 取引IDです。
337
+
338
+ フィルターとして使われ、指定された取引のみ一覧に表示されます。
339
+
340
+ ---
341
+ `organization_code`
342
+ 組織コードです。
343
+
344
+ フィルターとして使われ、指定された組織での取引のみ一覧に表示されます。
345
+
346
+ ---
347
+ `private_money_id`
348
+ マネーIDです。
252
349
 
350
+ フィルターとして使われ、指定したマネーでの取引のみ一覧に表示されます。
351
+
352
+ ---
353
+ `is_modified`
354
+ キャンセルフラグです。
355
+
356
+ これにtrueを指定するとキャンセルされた取引のみ一覧に表示されます。
357
+ デフォルト値はfalseで、キャンセルの有無にかかわらず一覧に表示されます。
358
+
359
+ ---
360
+ `types`
361
+ 取引の種類でフィルターします。
362
+
363
+ 以下の種類を指定できます。
364
+
365
+ 1. topup
366
+ 店舗からエンドユーザーへの送金取引(チャージ)
367
+
368
+ 2. payment
369
+ エンドユーザーから店舗への送金取引(支払い)
370
+
371
+ 3. exchange-outflow
372
+   他マネーへの流出
373
+
374
+ 4. exchange-inflow
375
+ 他マネーからの流入
376
+
377
+ ---
378
+ 成功したときは[PaginatedTransaction](#paginated-transaction)オブジェクトを返します
379
+
380
+ #### 返金する
253
381
  ```ruby
254
- response = client.send(Pokepay::Request::ListTransactions.new(
255
- {
256
- # ページング
257
- "page" => 1,
258
- "per_page" => 50,
259
-
260
- # フィルタオプション (すべて任意)
261
- # 期間指定 (ISO8601形式の文字列)
262
- "from" => "2019-01-01T00:00:00+09:00",
263
- "to" => "2019-07-30T18:13:39+09:00",
264
-
265
- # 検索オプション
266
- "customer_id" => "xxxxxxxxxxxxxxxxx", # エンドユーザーID
267
- "customer_name" => "福沢", # エンドユーザー名
268
- "transaction_id" => "24bba30c......", # 取引ID
269
- "shop_id" => "456a820b......", # 店舗ID
270
- "terminal_id" => "d8023185......", # 端末ID
271
- "organization" => "pocketchange", # 組織コード
272
- "private_money_id" => "9ff644fc......", # マネーID
273
- "is_modified" => true, # キャンセルされた取引のみ検索するか
274
- # 取引種別 (複数指定可)、チャージ=topup、支払い=payment
275
- "types" => ["topup", "payment"],
276
- }))
382
+ response = $client.send(Pokepay::Request::RefundTransaction.new(
383
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // transaction_id: 取引ID
384
+ description: "返品対応のため" // 取引履歴に表示する返金事由
385
+ ))
277
386
  ```
387
+ 成功したときは[Transfer](#transfer)オブジェクトを返します
278
388
 
279
- 成功したときは `Pokepay::Response::Transaction` を `rows` に含むページングオブジェクトを返します。
280
- 詳細は [ページング](#paging) を参照してください。
389
+ ### チャージQRコード
281
390
 
282
- ### Customer
391
+ 店舗ユーザが発行し、エンドユーザがポケペイアプリから読み取ることでチャージ取引が発生するQRコードです。
283
392
 
284
- #### 新規エンドユーザー口座を追加する
393
+ チャージQRコードを解析すると次のようなURLになります(URLは環境によって異なります)。
285
394
 
395
+ `https://www-sandbox.pokepay.jp/checks/xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx`
396
+
397
+ QRコードを読み取る方法以外にも、このURLリンクを直接スマートフォン(iOS/Android)上で開くことによりアプリが起動して取引が行われます。(注意: 上記URLはsandbox環境であるため、アプリもsandbox環境のものである必要があります) 上記URL中の `xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx` の部分がチャージQRコードのIDです。
398
+
399
+ #### チャージQRコードの発行
286
400
  ```ruby
287
- response = client.send(Pokepay::Request::CreateCustomerAccount.new(
288
- "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", # マネーのID
289
- {
290
- "user_name" => "ポケペイ太郎", # ユーザー名 (任意)
291
- "account_name" => "ポケペイ太郎のアカウント" # アカウント名 (任意)
292
- }))
401
+ response = $client.send(Pokepay::Request::CreateCheck.new(
402
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // account_id: 送金元の店舗アカウントID
403
+ money_amount: 5032, // 付与マネー額
404
+ point_amount: 1995, // 付与ポイント額
405
+ description: "test check", // 説明文(アプリ上で取引の説明文として表示される)
406
+ is_onetime: false, // ワンタイムかどうか。真の場合1度読み込まれた時点でそのチャージQRは失効する(デフォルト値は真)
407
+ usage_limit: 219, // ワンタイムでない場合、複数ユーザから読み取られ得る。その場合の最大読み取り回数
408
+ expires_at: "2024-10-18T00:20:49.000000+09:00", // チャージQR自体の失効日時
409
+ point_expires_at: "2019-07-04T01:50:46.000000+09:00", // チャージQRによって付与されるポイントの失効日時
410
+ point_expires_in_days: 60, // チャージQRによって付与されるポイントの有効期限(相対指定、単位は日)
411
+ bear_point_account: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // ポイント額を負担する店舗アカウントのID
412
+ ))
293
413
  ```
414
+ `money_amount`と`point_amount`の少なくとも一方は指定する必要があります。
415
+
416
+
417
+ ---
418
+ `is_onetime`
419
+ チャージQRコードが一度の読み取りで失効するときに`true`にします。デフォルト値は`true`です。
420
+ `false`の場合、そのチャージQRコードは1ユーザについては1回きりですが、複数ユーザによって読み取り可能なQRコードになります。
421
+
422
+
423
+ ---
424
+ `usage_limit`
425
+ 複数ユーザによって読み取り可能なチャージQRコードの読み取り回数に制限をつけるために指定します。
426
+ 省略すると無制限に読み取り可能なチャージQRコードになります。
427
+ チャージQRコードは管理画面からいつでも無効化(有効化)することができます。
294
428
 
295
- 成功したときは以下のプロパティを持つ `Pokepay::Response::AccountWithUser` のオブジェクトをレスポンスとして返します。
296
429
 
297
- - id (string): 口座ID
298
- - name (string): 口座名
299
- - isSuspended (bool): 口座が凍結されているかどうか
300
- - privateMoney (Response\PrivateMoney): 設定マネー情報
301
- - user (Response\User): ユーザーIDなどを含むユーザー情報
430
+ ---
431
+ 成功したときは[Check](#check)オブジェクトを返します
302
432
 
303
- #### エンドユーザーの口座情報を表示する
433
+ #### チャージQRコードを読み取ることでチャージする
434
+ 通常チャージQRコードはエンドユーザのアプリによって読み取られ、アプリとポケペイサーバとの直接通信によって取引が作られます。 もしエンドユーザとの通信をパートナーのサーバのみに限定したい場合、パートナーのサーバがチャージQRの情報をエンドユーザから代理受けして、サーバ間連携APIによって実際のチャージ取引をリクエストすることになります。
435
+
436
+ エンドユーザから受け取ったチャージ用QRコードのIDをエンドユーザIDと共に渡すことでチャージ取引が作られます。
304
437
 
305
438
  ```ruby
306
- response = client.send(Pokepay::Request::GetAccount.new(
307
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" # 口座ID
308
- ))
439
+ response = $client.send(Pokepay::Request::CreateTopupTransactionWithCheck.new(
440
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // check_id: チャージ用QRコードのID
441
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // customer_id: エンドユーザーのID
442
+ ))
309
443
  ```
310
444
 
311
- 成功したときは以下のプロパティを持つ `Pokepay::Response::AccountDetail` のオブジェクトをレスポンスとして返します。
445
+ ---
446
+ `check_id`
447
+ チャージ用QRコードのIDです。
312
448
 
313
- - id (string): 口座ID
314
- - name (string): 口座名
315
- - isSuspended (bool): 口座が凍結されているかどうか
316
- - balance (double): 総残高
317
- - moneyBalance (double): 総マネー残高
318
- - pointBalance (double): 総ポイント残高
319
- - privateMoney (Response\PrivateMoney): 設定マネー情報
449
+ QRコード生成時に送金元店舗のウォレット情報や、送金額などが登録されています。
320
450
 
321
- #### エンドユーザーの残高内訳を表示する
451
+ ---
452
+ `customer_id`
453
+ エンドユーザーIDです。
322
454
 
323
- エンドユーザーの残高は有効期限別のリストとして取得できます。
455
+ 送金先のエンドユーザーを指定します。
456
+
457
+ ---
458
+ 成功したときは[Transaction](#transaction)オブジェクトを返します
459
+
460
+ ### Customer
324
461
 
462
+ #### 新規エンドユーザーウォレットを追加する
463
+ 指定したマネーのウォレットを作成し、同時にそのウォレットを保有するユーザも作成します。
325
464
  ```ruby
326
- response = client.send(Pokepay::Request::ListAccountBalances.new(
327
- "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", # 口座ID
328
- ))
465
+ response = $client.send(Pokepay::Request::CreateCustomerAccount.new(
466
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // private_money_id: マネーID
467
+ user_name: "ポケペイ太郎", // ユーザー名
468
+ account_name: "ポケペイ太郎のアカウント" // アカウント名
469
+ ))
329
470
  ```
330
471
 
331
- 成功したときは `Pokepay::Response::AccountBalance` を `rows` に含むページングオブジェクトを返します。
332
- 詳細は [ページング](#paging) を参照してください。
472
+ ---
473
+ `private_money_id`
474
+ マネーIDです。
333
475
 
334
- `Pokepay::Response::AccountBalance` のプロパティは以下の通りです。
476
+ これによって作成するウォレットのマネーを指定します。
335
477
 
336
- - expiresAt (DateTime): 失効日時
337
- - moneyAmount (double): マネー額
338
- - pointAmount (double): ポイント額
478
+ ---
479
+ `user_name`
480
+ ウォレットと共に作成するユーザ名です。省略した場合は空文字となります。
339
481
 
340
- ### Organization
482
+ ---
483
+ `account_name`
484
+ 作成するウォレット名です。省略した場合は空文字となります。
341
485
 
342
- #### 新規加盟店組織を追加する
486
+ ---
487
+ 成功したときは[AccountWithUser](#account-with-user)オブジェクトを返します
343
488
 
489
+ #### エンドユーザーのウォレット情報を表示する
490
+ ウォレットを取得します。
344
491
  ```ruby
345
- response = client.send(Pokepay::Request::CreateOrganization.new(
346
- "ox_supermarket", # 新規組織コード
347
- "oxスーパー", # 新規組織名
348
- "pay@xx-issuer-company.jp", # 発行体担当者メールアドレス
349
- "admin+pokepay@ox-supermarket.com", # 新規組織担当者メールアドレス
350
- {
351
- # 追加データ (すべて任意)
352
- "bank_name" => "XYZ銀行", # 銀行名
353
- "bank_code" => "999X", # 銀行金融機関コード
354
- "bank_branch_name" => "ABC支店", # 銀行支店名
355
- "bank_banch_code" => "99X", # 銀行支店コード
356
- "bank_account_type" => "saving", # 銀行口座種別 (普通=saving, 当座=current, その他=other)
357
- "bank_account" => "9999999", # 銀行口座番号
358
- "bank_account_holder_name" => "フクザワユキチ", # 口座名義人名
359
- }))
492
+ response = $client.send(Pokepay::Request::GetAccount.new(
493
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" // account_id: ウォレットID
494
+ ))
360
495
  ```
361
496
 
362
- 成功したときには以下のプロパティを持つ `Pokepay::Response::Organization` のオブジェクトをレスポンスとして返します。
497
+ ---
498
+ `account_id`
499
+ ウォレットIDです。
363
500
 
364
- - code (string): 組織コード
365
- - name (string): 組織名
501
+ フィルターとして使われ、指定したウォレットIDのウォレットを取得します。
366
502
 
367
- ### Shop
368
-
369
- #### 新規店舗を追加する
503
+ ---
504
+ 成功したときは[AccountDetail](#account-detail)オブジェクトを返します
370
505
 
506
+ #### エンドユーザーの残高内訳を表示する
507
+ エンドユーザーの残高は有効期限別のリストとして取得できます。
371
508
  ```ruby
372
- response = client.send(Pokepay::Request::CreateShop.new(
373
- "OXスーパー三田店", # 店舗名
374
- {
375
- # 追加データ (すべて任意)
376
- "shop_postal_code" => "108-0014", # 店舗の郵便番号
377
- "shop_address" => "東京都港区芝...", # 店舗の住所
378
- "shop_tel" => "03-xxxx...", # 店舗の電話番号
379
- "shop_email" => "mita@ox-supermarket.com", # 店舗のメールアドレス
380
- "shop_external_id" => "mita0309", # 店舗の外部ID
381
- }))
509
+ response = $client.send(Pokepay::Request::ListAccountBalances.new(
510
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // account_id: ウォレットID
511
+ page: 8855, // ページ番号
512
+ per_page: 14 // 1ページ分の取引数
513
+ ))
382
514
  ```
383
515
 
384
- 成功したときは以下のプロパティを持つ `Pokepay::Response::User` のオブジェクトをレスポンスとして返します。
516
+ ---
517
+ `account_id`
518
+ ウォレットIDです。
385
519
 
386
- - id (string): 店舗ID
387
- - name (string): 店舗名
388
- - isMerchant (bool): 店舗かどうかのフラグ (この場合は常に真)
520
+ フィルターとして使われ、指定したウォレットIDのウォレット残高を取得します。
389
521
 
390
- ### Private Money
522
+ ---
523
+ `page`
524
+ 取得したいページ番号です。
391
525
 
392
- #### 決済加盟店の取引サマリを取得する
526
+ ---
527
+ `per_page`
528
+ 1ページ分のウォレット残高数です。
529
+
530
+ ---
531
+ 成功したときは[PaginatedAccountBalance](#paginated-account-balance)オブジェクトを返します
393
532
 
533
+ ### Organization
534
+
535
+ #### 新規加盟店組織を追加する
394
536
  ```ruby
395
- response = client.send(Pokepay::Request::GetPrivateMoneyOrganizationSummaries.new(
396
- "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz", # マネーのID
397
- {
398
- # フィルタオプション (すべて任意)
399
- # 期間指定 (ISO8601形式の文字列、またはDateTimeオブジェクト)
400
- # fromとtoを指定する場合は同時に指定する必要あり。
401
- # デフォルトではfromは昨日0時、toは当日0時。
402
- "from" => "2019-01-01T00:00:00+09:00",
403
- "to" => "2019-07-31T18:13:39+09:00",
404
-
405
- # ページングオプション
406
- "page" => 1,
407
- "per_page" => 50
408
- }))
537
+ response = $client.send(Pokepay::Request::CreateOrganization.new(
538
+ "ox_supermarket", // code: 新規組織コード
539
+ "oxスーパー", // name: 新規組織名
540
+ ["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"], // private_money_ids: 加盟店組織で有効にするマネーIDの配列
541
+ "Rrnkhmqvwf@VE2D.com", // issuer_admin_user_email: 発行体担当者メールアドレス
542
+ "1nKhvBTC3o@f9gR.com", // member_admin_user_email: 新規組織担当者メールアドレス
543
+ bank_name: "XYZ銀行", // 銀行名
544
+ bank_code: "99X", // 銀行金融機関コード
545
+ bank_branch_name: "ABC支店", // 銀行支店名
546
+ bank_branch_code: "99X", // 銀行支店コード
547
+ bank_account_type: "saving", // 銀行口座種別 (普通=saving, 当座=current, その他=other)
548
+ bank_account: 9999999, // 銀行口座番号
549
+ bank_account_holder_name: "フクザワユキチ", // 口座名義人名
550
+ contact_name: "佐藤清" // 担当者名
551
+ ))
409
552
  ```
553
+ 成功したときは[Organization](#organization)オブジェクトを返します
410
554
 
411
- 成功したときは `Pokepay::Response::PrivateMoneyOrganizationSummary` を `rows` に含むページングオブジェクトを返します。
412
- 以下にプロパティを示します。
413
-
414
- - organizationCode (string): 組織コード
415
- - topup (Response::OrganizationSummary): チャージのサマリ情報
416
- - payment (Response::OrganizationSummary): 支払いのサマリ情報
555
+ ### Shop
417
556
 
418
- `Pokepay::Response::OrganizationSummary` のプロパティを以下に示します。
557
+ #### 新規店舗を追加する
558
+ ```ruby
559
+ response = $client.send(Pokepay::Request::CreateShop.new(
560
+ "oxスーパー三田店", // shop_name: 店舗名
561
+ shop_postal_code: "7374764", // 店舗の郵便番号
562
+ shop_address: "東京都港区芝...", // 店舗の住所
563
+ shop_tel: "0550-6127", // 店舗の電話番号
564
+ shop_email: "nrkqiF5U2g@QPDC.com", // 店舗のメールアドレス
565
+ shop_external_id: "3BmwEo", // 店舗の外部ID
566
+ organization_code: "ox-supermarket" // 組織コード
567
+ ))
568
+ ```
569
+ 成功したときは[User](#user)オブジェクトを返します
419
570
 
420
- - count (integer): 取引数
421
- - moneyAmount (double): 取引マネー総額
422
- - moneyCount (integer): マネー取引数
423
- - pointAmount (double): 取引ポイント総額
424
- - pointCount (integer): ポイント取引数
571
+ ### Private Money
425
572
 
426
- ページングについての詳細は [ページング](#paging) を参照してください。
573
+ #### 決済加盟店の取引サマリを取得する
574
+ ```ruby
575
+ response = $client.send(Pokepay::Request::GetPrivateMoneyOrganizationSummaries.new(
576
+ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", // private_money_id: マネーID
577
+ from: "2024-08-10T12:22:25.000000+09:00", // 開始日時(toと同時に指定する必要有)
578
+ to: "2024-07-28T01:26:08.000000+09:00", // 終了日時(fromと同時に指定する必要有)
579
+ page: 1, // ページ番号
580
+ per_page: 50 // 1ページ分の取引数
581
+ ))
582
+ ```
583
+ `from`と`to`は同時に指定する必要があります。
584
+
585
+ 成功したときは[PaginatedPrivateMoneyOrganizationSummaries](#paginated-private-money-organization-summaries)オブジェクトを返します
586
+
587
+ ## Responses
588
+
589
+ <a name="account-with-user"></a>
590
+ ## AccountWithUser
591
+ * `id (string)`:
592
+ * `name (string)`:
593
+ * `is_suspended (boolean)`:
594
+ * `private_money (PrivateMoney)`:
595
+ * `user (User)`:
596
+
597
+ `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
598
+
599
+ `user`は [User](#user) オブジェクトを返します。
600
+
601
+ <a name="account-detail"></a>
602
+ ## AccountDetail
603
+ * `id (string)`:
604
+ * `name (string)`:
605
+ * `is_suspended (boolean)`:
606
+ * `balance (double)`:
607
+ * `money_balance (double)`:
608
+ * `point_balance (double)`:
609
+ * `private_money (PrivateMoney)`:
610
+
611
+ `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
612
+
613
+ <a name="check"></a>
614
+ ## Check
615
+ * `id (string)`: チャージQRコードのID
616
+ * `amount (double)`: チャージマネー額 (deprecated)
617
+ * `money_amount (double)`: チャージマネー額
618
+ * `point_amount (double)`: チャージポイント額
619
+ * `description (string)`: チャージQRコードの説明文(アプリ上で取引の説明文として表示される)
620
+ * `user (User)`: 送金元ユーザ情報
621
+ * `is_onetime (boolean)`: 使用回数が一回限りかどうか
622
+ * `is_disabled (boolean)`: 無効化されているかどうか
623
+ * `expires_at (string)`: チャージQRコード自体の失効日時
624
+ * `private_money (PrivateMoney)`: 対象マネー情報
625
+ * `usage_limit (integer)`: 一回限りでない場合の最大読み取り回数
626
+ * `usage_count (double)`: 一回限りでない場合の現在までに読み取られた回数
627
+ * `token (string)`: チャージQRコードを解析したときに出てくるURL
628
+
629
+ `user`は [User](#user) オブジェクトを返します。
630
+
631
+ `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
632
+
633
+ <a name="user"></a>
634
+ ## User
635
+ * `id (string)`: ユーザー (または店舗) ID
636
+ * `name (string)`: ユーザー (または店舗) 名
637
+ * `is_merchant (boolean)`: 店舗ユーザーかどうか
638
+
639
+ <a name="organization"></a>
640
+ ## Organization
641
+ * `code (string)`: 組織コード
642
+ * `name (string)`: 組織名
643
+
644
+ <a name="transaction"></a>
645
+ ## Transaction
646
+ * `id (string)`: 取引ID
647
+ * `type (string)`: 取引種別 (チャージ=topup, 支払い=payment)
648
+ * `is_modified (boolean)`: 返金された取引かどうか
649
+ * `sender (User)`: 送金者情報
650
+ * `sender_account (Account)`: 送金ウォレット情報
651
+ * `receiver (User)`: 受取者情報
652
+ * `receiver_account (Account)`: 受取ウォレット情報
653
+ * `amount (double)`: 決済総額 (マネー額 + ポイント額)
654
+ * `money_amount (double)`: 決済マネー額
655
+ * `point_amount (double)`: 決済ポイント額
656
+ * `done_at (string)`: 取引日時
657
+ * `description (string)`: 取引説明文
658
+
659
+ `receiver`と`sender`は [User](#user) オブジェクトを返します。
660
+
661
+ `receiver_account`と`sender_account`は [Account](#account) オブジェクトを返します。
662
+
663
+ <a name="transfer"></a>
664
+ ## Transfer
665
+ * `id (string)`:
666
+ * `sender_account (AccountWithoutPrivateMoneyDetail)`:
667
+ * `receiver_account (AccountWithoutPrivateMoneyDetail)`:
668
+ * `amount (double)`:
669
+ * `money_amount (double)`:
670
+ * `point_amount (double)`:
671
+ * `done_at (string)`:
672
+ * `type (string)`:
673
+ * `description (string)`:
674
+ * `transaction_id (string)`:
675
+
676
+ `receiver_account`と`sender_account`は [AccountWithoutPrivateMoneyDetail](#account-without-private-money-detail) オブジェクトを返します。
677
+
678
+ <a name="paginated-private-money-organization-summaries"></a>
679
+ ## PaginatedPrivateMoneyOrganizationSummaries
680
+ * `rows (array of PrivateMoneyOrganizationSummaries)`:
681
+ * `count (integer)`:
682
+ * `pagination (Pagination)`:
683
+
684
+ `rows`は [PrivateMoneyOrganizationSummary](#private-money-organization-summary) オブジェクトの配列を返します。
685
+
686
+ `pagination`は [Pagination](#pagination) オブジェクトを返します。
687
+
688
+ <a name="paginated-transaction"></a>
689
+ ## PaginatedTransaction
690
+ * `rows (array of Transactions)`:
691
+ * `count (integer)`:
692
+ * `pagination (Pagination)`:
693
+
694
+ `rows`は [Transaction](#transaction) オブジェクトの配列を返します。
695
+
696
+ `pagination`は [Pagination](#pagination) オブジェクトを返します。
697
+
698
+ <a name="paginated-account-balance"></a>
699
+ ## PaginatedAccountBalance
700
+ * `rows (array of AccountBalances)`:
701
+ * `count (integer)`:
702
+ * `pagination (Pagination)`:
703
+
704
+ `rows`は [AccountBalance](#account-balance) オブジェクトの配列を返します。
705
+
706
+ `pagination`は [Pagination](#pagination) オブジェクトを返します。
707
+
708
+ <a name="private-money"></a>
709
+ ## PrivateMoney
710
+ * `id (string)`: マネーID
711
+ * `name (string)`: マネー名
712
+ * `unit (string)`: マネー単位 (例: 円)
713
+ * `is_exclusive (boolean)`: 会員制のマネーかどうか
714
+ * `description (string)`: マネー説明文
715
+ * `oneline_message (string)`: マネーの要約
716
+ * `organization (Organization)`: マネーを発行した組織
717
+ * `max_balance (double)`: ウォレットの上限金額
718
+ * `transfer_limit (double)`: マネーの取引上限額
719
+ * `type (string)`: マネー種別 (自家型=own, 第三者型=third-party)
720
+ * `expiration_type (string)`: 有効期限種別 (チャージ日起算=static, 最終利用日起算=last-update, 最終チャージ日起算=last-topup-update)
721
+ * `enable_topup_by_member (boolean)`: 加盟店によるチャージが有効かどうか
722
+ * `account_image (string)`: マネーの画像URL
723
+
724
+ `organization`は [Organization](#organization) オブジェクトを返します。
725
+
726
+ <a name="account"></a>
727
+ ## Account
728
+ * `id (string)`: ウォレットID
729
+ * `name (string)`: ウォレット名
730
+ * `is_suspended (boolean)`: ウォレットが凍結されているかどうか
731
+ * `private_money (PrivateMoney)`: 設定マネー情報
732
+
733
+ `private_money`は [PrivateMoney](#private-money) オブジェクトを返します。
734
+
735
+ <a name="account-without-private-money-detail"></a>
736
+ ## AccountWithoutPrivateMoneyDetail
737
+ * `id (string)`:
738
+ * `name (string)`:
739
+ * `is_suspended (boolean)`:
740
+ * `private_money_id (string)`:
741
+ * `user (User)`:
742
+
743
+ `user`は [User](#user) オブジェクトを返します。
744
+
745
+ <a name="private-money-organization-summary"></a>
746
+ ## PrivateMoneyOrganizationSummary
747
+ * `organization_code (string)`:
748
+ * `topup (OrganizationSummary)`:
749
+ * `payment (OrganizationSummary)`:
750
+
751
+ `payment`と`topup`は [OrganizationSummary](#organization-summary) オブジェクトを返します。
752
+
753
+ <a name="pagination"></a>
754
+ ## Pagination
755
+ * `current (integer)`:
756
+ * `per_page (integer)`:
757
+ * `max_page (integer)`:
758
+ * `has_prev (boolean)`:
759
+ * `has_next (boolean)`:
760
+
761
+ <a name="account-balance"></a>
762
+ ## AccountBalance
763
+ * `expires_at (string)`:
764
+ * `money_amount (double)`:
765
+ * `point_amount (double)`: