id指定リソースについて

PAY.JPで扱うほとんどのリソースは作成時にidが自動的に割り振られますが、 Customerなど一部のリソースは作成時にidを指定して作成できます。 現在idを指定して作成できるリソースには、Customer, Plan があります。

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を元に関連リソースを取得した場合に意図しないデータが取得される可能性がありますので、リソースのライフサイクルについてご注意ください。

Customerの関連リソース

  • Charge
    • Customer削除後であっても過去の決済について返金等の対応が必要になるケースがあるため、 Customer削除時には削除されません。
  • Card および Subscription
    • Customer削除時に同時に削除されます。
  • Event
    • 削除時刻等も含めて蓄積する情報のため、リソース本体削除時には削除されません。

Planの関連リソース

  • Event
    • 削除時刻等も含めて蓄積する情報のため、リソース本体削除時には削除されません。