コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
バージョン管理
変更ログ
API バージョンのアップグレード
SDK バージョンをアップグレードする
Essentials
SDK
    概要
    サーバー側 SDK
    ウェブ
    ES Module Stripe.js
    React Stripe.js
    Stripe.js テストアシスタント
    モバイル
    iOS SDK
    Android SDK
    React Native SDK
    Migrate to iOS SDK 25
    Migrate to Android SDK 22
    Terminal
    iOS SDK
    Android SDK
    React Native SDK
    コミュニティー
    コミュニティ SDK
API
テスト
Stripe CLI
サンプルプロジェクト
ツール
Stripe ダッシュボード
ワークベンチ
開発者ダッシュボード
Stripe Shell
Visual Studio Code をご利用の場合
機能
ワークフロー
イベントの送信先
Stripe 健全性アラートファイルのアップロード
AI ソリューション
エージェントツールキット
モデルコンテキストプロトコルエージェントを使用した AI SaaS 請求ワークフローの構築
セキュリティとプライバシー
セキュリティ
Stripebot ウェブクローラー
プライバシー
Stripe を拡張する
Stripe Appsを構築する
Stripe アプリを使用する
パートナー
Partner Ecosystem
パートナー認定
アメリカ
日本語
ホーム開発者向けリソースSDKs

注

このページはまだ日本語ではご利用いただけません。より多くの言語で文書が閲覧できるように現在取り組んでいます。準備が整い次第、翻訳版を提供いたしますので、もう少しお待ちください。

Migrate to Stripe iOS SDK 25

Swift と Objective-C のアプリを最新の iOS SDK メジャーバージョンに移行します。

This migration guide helps you update your iOS app to use the latest Stripe SDK. It’s especially helpful if you’re coming from old (pre v21) SDK versions.

要件

  • The latest SDK requires Xcode 15 or later. The minimum deployment target is iOS 13.

v25

Migration instructions can be found here.

v24

PaymentSheet

PaymentSheet は、決済手段を縦または横のレイアウトで表示します。このメジャーバージョン以前のバージョンでは、PaymentSheet はデフォルトで横型レイアウトに設定されていました。現在、Stripe はレイアウトを自動で最適化しています。特定のレイアウトを設定したい場合は、PaymentSheet.Configuration.paymentMethodLayout プロパティを .horizontal または .vertical に設定します。

このサンプルコードは、レイアウトを以前のデフォルトである横型に戻します。

var configuration = PaymentSheet.Configuration() configuration.paymentMethodLayout = .horizontal

基礎実装

クレジットカードおよびウォレットでの支払いの回収に使用されていたレガシーの基礎実装はサポートされなくなりました。

アプリが以下のいずれかの API に依存している場合は、基礎実装が使用されます。移行ガイドの手順に従って、Mobile Payment Element に移行してください。

  • STPCustomerContext
  • STPPaymentContext
  • STPPaymentOptionsViewController
  • STPAddCardViewController
  • STPShippingAddressViewController

v23

モジュール

SDK は別々のモジュールに分割されるようになりました。必要なモジュールのみを含めることで、アプリのバンドルサイズを小さくすることができます。

モジュール機能圧縮サイズ
StripePaymentSheetStripe の構築済みの支払い UI。2.7MB
Stripe以下のすべてのフレームワークに加えて、Issuing と基本的な実装が含まれます。2.2MB
StripePaymentsStripe Payments API のバインディング。1.1MB
StripePaymentsUIStripe 支払い API、STPPaymentCardTextField、STPCardFormView、その他の UI エレメントのバインディング。1.7MB
StripeApplePaySTPApplePayContext を含む、Apple Pay のサポート。0.4MB

モジュールのインストール

選択したモジュール (「StripePaymentSheet」など) をアプリのターゲットに追加します。

PaymentSheet

PaymentSheet を使用するには、StripePaymentSheet モジュールを明示的にインポートする必要があります。

前
後
import Stripe
import StripePaymentSheet

カードフィールド

SDK 23 では、STPPaymentCardTextField の .cardParams パラメーターが .paymentMethodParams に置き換えられているため、顧客の郵便番号を簡単に収集できるようになります。

ほとんどの状況で、cardTextField.paymentMethodParams を Stripe API に直接渡すことができるようになりました。

前
後
var cardTextField: STPPaymentCardTextField // Collect card details let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) let cardParams = cardTextField.cardParams let paymentMethodParams = STPPaymentMethodParams(card: cardParams, billingDetails: nil, metadata: nil) paymentIntentParams.paymentMethodParams = paymentMethodParams
var cardTextField: STPPaymentCardTextField // Collect card details let paymentIntentParams = STPPaymentIntentParams(clientSecret: paymentIntentClientSecret) paymentIntentParams.paymentMethodParams = cardTextField.paymentMethodParams

高度なカードフィールドの使用法

STPPaymentMethodCardParams に直接アクセスするには、.paymentMethodParams.card を使用します。

前
後
var cardTextField: STPPaymentCardTextField let cardParams = cardTextField.cardParams
var cardTextField: STPPaymentCardTextField // STPPaymentCardTextField will never return a nil .card let cardParams = cardTextField.paymentMethodParams.card!

cardTextField.paymentMethodParams はコピーを返します。cardTextField.paymentMethodParams.card は直接設定しないでください。カード情報を設定する必要がある場合は、cardTextField.paymentMethodParams を STPPaymentMethodParams の新しいインスタンスに設定してください。

前
後
var cardTextField: STPPaymentCardTextField cardTextField.cardParams = myCardParams
var cardTextField: STPPaymentCardTextField let paymentMethodParams = STPPaymentMethodParams(card: myCardParams, billingDetails: nil, metadata: nil) cardTextField.paymentMethodParams = paymentMethodParams

v22

The minimum iOS deployment target was changed to iOS 12 in this version.

v21

The SDK was re-written in Swift, and some manual changes are required.

  • Cocoapods のユーザーは、Cocoapods 1.10 以降に更新する必要があります。

Stripe クラス

Stripe クラスが StripeAPI という名前になりました。

前
後
Stripe.setDefaultPublishableKey(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) Stripe.additionalEnabledApplePayNetworks = [.JCB] func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { return Stripe.handleURLCallback(with: url) }
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
StripeAPI.additionalEnabledApplePayNetworks = [.JCB] func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool { return StripeAPI.handleURLCallback(with: url) }

プロパティー

一部の setX() 関数が、Swift のプロパティになりました。

前
後
Stripe.setDefaultPublishableKey(
"pk_test_TYooMQauvdEDq54NiTphI7jx"
)
StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"

STPPaymentConfiguration

STPPaymentConfiguration の additionalPaymentOptions 設定が、applePayEnabled と fpxEnabled の 2 つの Bool になりました。

前
後
STPPaymentConfiguration.shared.additionalPaymentOptions = [.fpx]
STPPaymentConfiguration.shared.applePayEnabled = false STPPaymentConfiguration.shared.fpxEnabled = true

エラー処理

グローバルの STPError 定数は、STPError クラスになりました。

前
後
if (error.userInfo[STPCardErrorCodeKey] == STPInvalidNumber) { return "Invalid card number" }
if (error.userInfo[STPError.cardErrorCodeKey] == STPCardErrorCode.invalidNumber) { return "Invalid card number" }

STPTheme

STPTheme.default() が STPTheme.defaultTheme になりました。

前
後
STPTheme.default().primaryForegroundColor = .systemRed
STPTheme.defaultTheme.primaryForegroundColor = .systemRed
このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc