コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    仮想通貨
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
    クレジットトランスファー (Sources)
    後払い
    リアルタイム決済
    店舗支払い
    ウォレット
      Alipay
      Amazon Pay
      Apple Pay
      Cash App Pay
        決済を受け付ける
        支払い情報の保存
      Google Pay
      GrabPay
      Link
      MB WAY
      MobilePay
      PayPal
      PayPay
      Revolut Pay
      Satispay
      Secure Remote Commerce
      Vipps
      WeChat Pay
    国ごとに現地の支払い方法を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
ホーム支払いAdd payment methodsWalletsCash App Pay

注

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

将来の Cash App Pay による支払いを設定する

Cash App Pay の詳細を保存し、後で顧客に請求する方法をご紹介します。

Setup Intents API を使用して事前に決済手段の詳細を収集し、後から最終的な金額や支払い日を決定できます。次の場合に使用します。

  • 支払い方法をウォレットに保存して、以降の購入を効率化する
  • サービスの提供後に追加料金を回収する
  • サブスクリプションの無料トライアルを開始する

このガイドでは、最初に Setup Intents API を使用して支払い方法の詳細を保存し、Payment Intents API を使用して保存した支払い方法に後で請求する方法を説明します。

Stripe を設定する
サーバ側
クライアント側

まず、Stripe アカウントが必要です。今すぐ登録してください。

サーバ側

この組み込みには、サーバ上に Stripe API と通信するエンドポイントが必要です。サーバから Stripe API にアクセスするには、Stripe の公式ライブラリを使用します。

Command Line
Ruby
# Available as a gem sudo gem install stripe
Gemfile
Ruby
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

クライアント側

Stripe iOS SDK はオープンソースです。詳細なドキュメントが提供されており、iOS 13 以降をサポートするアプリと互換性があります。

SDK をインストールするには、以下のステップに従います。

  1. Xcode で、File (ファイル) > Add Package Dependencies… (パッケージ依存関係を追加) を選択し、リポジトリー URL として https://github.com/stripe/stripe-ios-spm を入力します。
  2. リリースページから最新のバージョン番号を選択します。
  3. StripePaymentsUI 製品をアプリのターゲットに追加します。

注

SDK の最新リリースおよび過去バージョンの詳細については、GitHub の Releases (リリース) ページをご覧ください。リポジトリのリリースをウォッチして、新しいリリースの公開時に通知を受け取ることも可能です。

アプリの起動時に Stripe 公開可能キーを使用して SDK を設定します。これにより、アプリが Stripe API にリクエストを送信できるようになります。

AppDelegate.swift
Swift
import UIKit import StripePaymentsUI @main class AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { StripeAPI.defaultPublishableKey =
"pk_test_TYooMQauvdEDq54NiTphI7jx"
// do any other necessary launch configuration return true } }

注

テストおよび開発時にはテストキーを使用し、アプリの公開時には本番環境キーを使用します。

Customer を作成または取得する
サーバー側

今後の支払いに備えて Cash App Pay の支払い方法を保存するには、これを Customer に関連付ける必要があります。

お客様のビジネスで顧客がアカウントを作成するときに、Customer オブジェクトを作成します。この Customer オブジェクトの ID を、顧客を表す独自の内部表記と関連付けてください。あるいは、Customer オブジェクトを作成してから、今後の支払いのために支払い方法を保存することもできます。

新しい Customer を作成するには、サーバー側で以下のコードを含めます。

Command Line
cURL
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode description="My First Test Customer (created for API docs)"

SetupIntent を作成する
サーバー側

SetupIntent は、将来の支払いに備えて顧客の決済手段を設定する意図を示すオブジェクトです。SetupIntent は、この設定プロセスの手順を追跡します。payment_method_types を cashapp に設定してサーバーで SetupIntent を作成し、Customer の ID と usage=off_session または usage=on_session を指定します。

Command Line
cURL
curl https://api.stripe.com/v1/setup_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=cashapp \ -d "payment_method_data[type]"=cashapp \ -d usage=off_session \ -d customer={{CUSTOMER_ID}}

決済フォームに承認に関する条件を提示する
クライアント側

将来のオフセッションの支払いに備え、顧客の Cash App Pay の認証情報 ($Cashtag) を保存してアカウントに請求できるようにします。PaymentIntent や SetupIntent を確定する前に、カスタムの決済フォームに書面による承認の通知を表示する必要があります。

承認に関する条件は、顧客の $Cashtag を初めて保存するときにのみ表示する必要があります。

カスタムの決済フォームでは以下のテキストを使用することをお勧めします。

続行すると、Rocket Rides の利用規約に従って、この許可が取り消されない限り、お客様は今回の支払いおよび今後の支払いを、Cash App のアカウントから引き落とすことを Rocket Rides に許可したものとみなされます。これは、Cash App の設定でいつでも変更できます。

支払い方法の詳細を収集する
クライアント側

Swift
// Cash App Pay does not require additional parameters so we only need to pass the initialized // STPPaymentMethodCashAppParams instance to STPPaymentMethodParams let cashApp = STPPaymentMethodCashAppParams() let paymentMethodParams = STPPaymentMethodParams(cashApp: cashApp, billingDetails: nil, metadata: nil)

Stripe に支払いを送信する
クライアント側

作成した SetupIntent から client secret を取得し、STPPaymentHandler confirmSetupIntent を呼び出します。これにより WebView が表示され、顧客はそこから Cash App で支払いを完了できます。その後、支払い結果とともに、完了ブロックが呼び出されます。

Swift
let setupIntentParams = STPSetupIntentConfirmParams(clientSecret: setupIntentClientSecret) setupIntentParams.paymentMethodParams = paymentMethodParams setupIntentParams.returnURL = "payments-example://stripe-redirect" STPPaymentHandler.shared().confirmSetupIntent(withParams: setupIntentParams, authenticationContext: self) { (handlerStatus, setupIntent, error) in switch handlerStatus { case .succeeded: // Setup succeeded case .canceled: // Setup was canceled case .failed: // Setup failed @unknown default: fatalError() } }

保存された支払い方法を使用して PaymentIntent を作成する
サーバー側

PaymentMethod を作成した後、PaymentIntent を作成して確定すると、それ以降 Cash App Pay による決済を受け付けられるようになります。PaymentIntent を確定する際は、以前の SetupIntent オブジェクトまたは PaymentIntent オブジェクトと同じ決済手段 ID を使用します。顧客がこの PaymentIntent の決済フロー内にいない場合は、off_session 値も true に設定する必要があります。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=cashapp \ -d payment_method={{PAYMENT_METHOD_ID}} \ -d amount=1000 \ -d currency=usd \ -d customer={{CUSTOMER_ID}} \ -d statement_descriptor=test_statement \ -d capture_method=automatic \ -d confirm=true \ -d off_session=true

再利用可能な決済手段の取り消しを処理する

再使用可能な決済手段を取り消すには、以下の 2 つの方法があります。

  • 顧客は、Cash App モバイルアプリで再利用可能な決済手段を無効にすることができます。この場合、Stripe は mandate.updated イベントを送信します。Webhook イベントに登録し、detach PaymentMethod を呼び出して無効化します。
  • 顧客は、再利用可能な決済手段に対応している場合、UI で無効にすることもできます。この場合、サーバーは detach PaymentMethod を呼び出して無効化することができます。

いずれのケースでも、detach PaymentMethod を呼び出した後、payment_method.detached イベントが送信されます。

このページはお役に立ちましたか。
はいいいえ
  • お困りのことがございましたら 、サポートにお問い合わせください。
  • 早期アクセスプログラムにご参加ください。
  • 変更ログをご覧ください。
  • ご不明な点がございましたら、お問い合わせください。
  • LLM ですか?llms.txt を読んでください。
  • Powered by Markdoc