PAY.JP で扱うほとんどのリソースは、作成時に ID が自動的に割り振られます。しかし、Customer や Plan など一部のリソースでは、作成時に id を指定できます。
IDの指定方法
以下は、Customer を作成する際のリクエスト例です。id パラメーターを渡すことで、指定した ID を持つ Customer が作成されます。
curl https://api.pay.jp/v1/customers \
-u sk_test_c62fade9d045b54cd76d7036: \
-d id=一意の顧客ID
ID を指定してリソースを作成する際は、指定する ID が一意であることを利用者側で確認する必要があります。もし、すでに存在している別のリソースと同じ ID を指定した場合は、already_exist_id
のエラーが発生します。
ID指定リソースと関連データのライフサイクル
ID 指定リソースは、一度削除したあとでも同一の ID を指定して再作成できます。ただし、関連するリソースのライフサイクルは、本体とは異なる場合があります。そのため、ID 指定リソースを削除・再作成した際に、ID を元に関連リソースを取得すると、意図しないデータが取得される可能性があります。
以下に、各 ID 指定リソースの関連リソースとそのライフサイクルについて説明します。
Customerの関連リソース
- Charge
- Customer 削除後であっても過去の決済について返金等の対応が必要になるケースがあるため、 Customer 削除時には削除されません。
- Card および Subscription
- Customer 削除時に同時に削除されます。
- Event
- 削除時刻等も含めて蓄積する情報のため、リソース本体削除時には削除されません。
Planの関連リソース
- Event
- 削除時刻等も含めて蓄積する情報のため、リソース本体削除時には削除されません。