Python SDKバージョン8.0.0とJava SDKバージョン23.0.0から、StripeClient
クラスが追加されました。
これにより、複数のAPIキーや設定を利用するシステムの構築や、ユニットテスト時のモック化などが行いやすくなります。
これまでの利用方法
これまでのPython・Java SDKでは、グローバルなstripe
モジュールを利用する形でした。
Python
import stripe
stripe.api_key = "sk_....";
cus = stripe.Customer.create(name="Jenny Rosen");
Java
Stripe.apiKey = "sk_...";
AccountCreateParams params = ...;
Account account = Account.create(params);
この方式では、APIキーなどの設定がグローバルモジュールに設定されるため、複数のAPIキーを利用する大規模なアプリケーションなどで、設定の管理が難しくなることがありました。また、テスト時にモック化することも難しく、ユニットテストを書く際に問題となることがありました。
StripeClient
クラスを利用して Stripe APIを利用する
StripeClient
クラスが導入されたことで、スレッドセーフで不変、かつモックなどもしやすい形で Stripe APIをPython / Javaから利用できるようになります。
Python
from stripe import StripeClient
client = StripeClient("sk_...")
client.customers.create({"name": "Jenny Rosen"});
Java
StripeClient client = new StripeClient("sk_...");
AccountCreateParams params = ...;
client.customers().update(...);
また、StripeClient
クラスを利用することで、IDEから利用したいリソースのメソッドなどが見つけやすくなります。
関連リソース
Stripe Java SDK
Stripe Python SDK