コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
売上
プラットフォームおよびマーケットプレイス
資金管理
開発者向けリソース
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるUse Managed Payments
Payment Links を使用する
構築済みの決済ページを使用する
Build a custom integration with Elements
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    仮想通貨
    銀行口座引き落とし
    銀行へのリダイレクト
    銀行振込
    クレジットトランスファー (Sources)
    後払い
      Affirm
      Afterpay/Clearpay
        決済を受け付ける
        サイトメッセージ
      Alma
      Billie
      Capchase Pay
      Klarna
      Kriya
      Mondu
      請求書支払い
      Scalapay
      SeQura
      Sunbit
      Zip
    リアルタイム決済
    店舗支払い
    ウォレット
    国ごとに現地の支払い方法を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内決済
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
決済にとどまらない機能
会社を設立する
仮想通貨
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
ホーム支払いAdd payment methodsBuy now, pay laterAfterpay / Clearpay

注

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

Afterpay または Clearpay の支払いを受け付ける

アメリカ、カナダ、イギリス、オーストラリア、ニュージーランドで、Afterpay (イギリスでは Clearpay とも呼ばれている) による支払い方法を受け付ける方法をご紹介します。

アプリで Afterpay を受け付けるには、顧客が支払いを認証するための Webview を表示します。その後、顧客はアプリに戻り、お客様は支払いが成功したか失敗したかをすぐに確認できます。

注

連携を始める前に、決済手段の設定に移動して、アカウントが Afterpay の対象であることを確認してください。

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

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

サーバ側

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

Command Line
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# Available as a gem sudo gem install stripe
Gemfile
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
# If you use bundler, you can add this line to your Gemfile gem 'stripe'

クライアント側

Stripe Android SDK はオープンソースであり、詳細なドキュメントが提供されています。

SDK をインストールするには、app/build.gradle ファイルの dependencies ブロックに stripe-android を追加します。

build.gradle.kts
Kotlin
Groovy
No results
plugins { id("com.android.application") } android { ... } dependencies { // ... // Stripe Android SDK implementation("com.stripe:stripe-android:21.27.0") // Include the financial connections SDK to support US bank account as a payment method implementation("com.stripe:financial-connections:21.27.0") }

注

SDK の最新リリースおよび過去バージョンの詳細については、GitHub の Releases ページをご覧ください。新しいリリースの公開時に通知を受け取るには、リポジトリのリリースを確認してください。

Stripe の公開可能キーを使用して SDK を設定し、 Application サブクラスなどで、Stripe API へのリクエストを実行できるようにします。

Kotlin
Java
No results
import com.stripe.android.PaymentConfiguration class MyApp : Application() { override fun onCreate() { super.onCreate() PaymentConfiguration.init( applicationContext,
"pk_test_TYooMQauvdEDq54NiTphI7jx"
) } }

注

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

Stripe サンプルでは、サーバへの HTTP リクエストの作成に、OkHttp および GSON も使用します。

PaymentIntent を作成する
サーバ側
クライアント側

PaymentIntent は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスのライフサイクルをステージごとに追跡します。

サーバ側

まず、サーバーで PaymentIntent を作成し、回収する金額と通貨を指定します。Payment Intents API を使用した組み込みをすでにお持ちの場合には、afterpay_clearpay を PaymentIntent の決済手段タイプのリストに追加します。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay"

その他の支払い方法オプション

決済手段オプションで、支払いの内部的な注文 ID を設定する PaymentIntent でオプションの reference パラメーターを指定できます。これは通常、企業にも消費者にも表示されませんが、Afterpay の社内サポートチームは手動サポートリクエストの際にアクセスできます。ID は 128 文字に制限され、文字、数字、アンダースコア、バックスラッシュ、ダッシュのみを使用できます。

Command Line
curl
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/payment_intents \ -u
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:
\ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay" \ -d "payment_method_options[afterpay_clearpay][reference]"="order_123"

クライアント側

返される PaymentIntent には client secret が含まれ、これを使用することでクライアント側は、PaymentIntent オブジェクト全体を渡すことなく安全に決済プロセスを完了できます。クライアントで、サーバの PaymentIntent をリクエストし、その client secret を保存します。

Kotlin
Java
No results
class AfterpayPaymentActivity: AppCompatActivity() { private lateinit var paymentIntentClientSecret: String override fun onCreate(savedInstanceState: Bundle?) { // ... startCheckout() } private fun startCheckout() { // Request a PaymentIntent from your server and store its client secret } }

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

Afterpay で支払いを成功させるには請求先情報が提示されている必要があります。アプリで、必要な請求先情報を顧客から収集します。

  • 氏名 (姓と名)
  • メールアドレス
  • 請求先住所

これらの詳細を使用して、PaymentMethodCreateParams を作成します。

また、配送先情報は必須ではありませんが、認証率の向上に役立ちます。配送先情報を収集するには、以下を顧客から収集します。

  • 氏名
  • 詳細な配送先住所

これらの詳細を使用して、ConfirmPaymentIntentParams.Shipping を作成します。

Kotlin
Java
No results
val billingDetails = PaymentMethod.BillingDetails( name = "Jenny Rosen", email = "jenny@rosen.com", address = Address.Builder() .setLine1("1234 Market St") .setCity("San Francisco") .setState("CA") .setCountry("US") .setPostalCode("94111") .build() ) val paymentMethodCreateParams = PaymentMethodCreateParams.createAfterpayClearpay(billingDetails) // Shipping details are optional but recommended to pass in. val shippingDetails = ConfirmPaymentIntentParams.Shipping( name = "Jenny Rosen", address = Address.Builder() .setLine1("1234 Market St") .setCity("San Francisco") .setState("CA") .setCountry("US") .setPostalCode("94111") .build() )

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

ステップ 2 で作成した PaymentIntent から client secret を取得し、PaymentLauncher confirm メソッドを呼び出します。これにより、Webview が表示され、顧客は銀行のウェブサイトまたはアプリで支払いを完了できます。完了後、支払い結果とともに、onActivityResult が呼び出されます。

Kotlin
Java
No results
class AfterpayPaymentActivity : AppCompatActivity() { // ... private lateinit var paymentIntentClientSecret: String private val paymentLauncher: PaymentLauncher by lazy { val paymentConfiguration = PaymentConfiguration.getInstance(applicationContext) PaymentLauncher.Companion.create( this, paymentConfiguration.publishableKey, paymentConfiguration.stripeAccountId, ::onPaymentResult ) } private fun startCheckout() { // ... // Shipping details are optional but recommended to pass in. val confirmParams = ConfirmPaymentIntentParams .createWithPaymentMethodCreateParams( paymentMethodCreateParams = paymentMethodCreateParams, clientSecret = paymentIntentClientSecret, shipping = shippingDetails ) paymentLauncher.confirm(confirmParams) } private fun onPaymentResult(paymentResult: PaymentResult) { when (paymentResult) { is PaymentResult.Completed -> { // show success UI } is PaymentResult.Canceled -> { // handle cancel flow } is PaymentResult.Failed -> { // handle failures // (for example, the customer may need to choose a new payment // method) } } } }

オプションPaymentIntent にラインアイテムを追加する

オプションで、ラインアイテムデータを受け入れて、Afterpay により多くのリスク警告を提供できます。この機能は現在、プライベートベータです。アクセスをリクエストする場合は、お問い合わせください。

オプションオーソリとキャプチャの分離

カード支払いでのオーソリとキャプチャーの分離とは異なり、Afterpay ではオーソリ時点で分割払いの初回の金額を顧客に請求します。その後、オーソリから最長 13 日間以内であれば、残りの支払いをキャプチャーすることができます。この期間に支払いがキャプチャーされない場合、初回分の分割払いが顧客に返金され、それ以降の分割払いは請求されません。この場合、Stripe は PaymentIntent もキャンセルし、payment_intent.canceled イベントを送信します。

支払いをキャプチャーできないと分かっている場合は、13 日間が経過するのを待つのではなく PaymentIntent をキャンセルすることをお勧めします。先を見越して PaymentIntent をキャンセルすると、すぐに最初の分割払いが顧客に返金され、顧客の明細書上の支払いに関して混乱が生じるのを避けられます。

  • オーソリのみ行うように Stripe に指示する
  • オーソリとキャプチャーを分離することを指定するには、PaymentIntent の作成時に、capture_method を manual に設定します。このパラメーターは、顧客の Afterpay アカウントの金額のみをオーソリするよう Stripe に指示します。

    Command Line
    curl
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents \ -u
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :
    \ -d "amount"=1099 \ -d "currency"="usd" \ -d "payment_method_types[]"="afterpay_clearpay" \ -d "capture_method"="manual" \ -d "shipping[name]"="Jenny Rosen" \ -d "shipping[address][line1]"="1234 Main Street" \ -d "shipping[address][city]"="San Francisco" \ -d "shipping[address][state]"="CA" \ -d "shipping[address][country]"="US" \ -d "shipping[address][postal_code]"=94111

    オーソリが成功すると、Stripe は payment_intent.amount_capturable_updated イベントを送信します。この機能については、イベントガイドでご確認ください。

  • 売上をキャプチャする
  • オーソリが成功すると、PaymentIntent の status が requires_capture に移行します。オーソリされた売上をキャプチャーするために、PaymentIntent capture リクエストを実行します。デフォルトでは、オーソリされた合計金額がキャプチャーされます。これを超える金額のキャプチャーはできませが、これ未満でしたらキャプチャーできます。

    Command Line
    cURL
    Stripe CLI
    Ruby
    Python
    PHP
    Java
    Node.js
    Go
    .NET
    No results
    curl https://api.stripe.com/v1/payment_intents/
    {{PAYMENT_INTENT_ID}}
    /capture
    \ -u "
    sk_test_BQokikJOvBiI2HlWgH4olfQ2
    :"
    \ -d amount_to_capture=750

    任意オーソリをキャンセルする

    オーソリを取り消す必要がある場合は、PaymentIntent をキャンセルできます。

    オプション支払い後のイベントを処理する

    支払いが完了すると、Stripe は payment_intent.succeeded イベントを送信します。ダッシュボード、カスタム Webhook、またはパートナーソリューションを使用してこれらのイベントを受信し、また、顧客への注文確認メールの送信、データベースでの売上の記録、配送ワークフローの開始などのアクションを実行します。

    クライアントからのコールバックを待つのではなく、これらのイベントをリッスンします。クライアント側では、コールバックが実行される前に顧客がブラウザーのウィンドウを閉じたり、アプリを終了したりする可能性があります。また、悪意を持つクライアントがレスポンスを不正操作する恐れもあります。非同期型のイベントをリッスンするよう構築済みのシステムを設定することで、これ以降はより多くの決済手段を簡単に受け付けられるようになります。サポートされているすべての決済手段の違いをご確認ください。

    • ダッシュボードでイベントを手動で処理する

      ダッシュボードを使用して、テスト決済をダッシュボードで表示したり、メール領収書を送信したり、入金を処理したり、失敗した決済を再試行したりできます。

    • Custom Webhook を構築する

      Custom Webhook ハンドラを構築してイベントをリッスンし、カスタム非同期型の決済フローを作成します。Stripe CLI を使用して、ローカルで Webhook の導入のテストとデバッグを行います。

    • 構築済みアプリを導入する

      パートナーアプリケーションを統合することで、自動化やマーケティング/セールスなどの一般的なビジネスイベントを処理します。

    オプションAfterpay の組み込みをテストする

    テスト API キーを使用して Afterpay の組み込みをテストするには、リダイレクトページを表示します。リダイレクトページで支払いを認証することにより、支払い成功のケースをテストできます。PaymentIntent は requires_action から succeeded に変化します。

    ユーザが認証に失敗するケースをテストするには、テスト API キーを使用してリダイレクトページを表示します。リダイレクトページでテスト支払い失敗をクリックします。PaymentIntent は、requires_action から requires_payment_methodに変化します。

    テスト環境で PaymentIntents を手動でキャプチャする場合、キャプチャされていない PaymentIntent は、認証が成功してから 10 分後に自動的に期限切れになります。

    失敗した支払い

    Afterpay は、取引を受け付けるか拒否するかを決定する際に複数の要因を考慮します (買い手が Afterpay を使用している期間、顧客が返済する必要のある未払い額、現在の注文の値など)。

    Afterpay による支払いは多くの決済手段よりも支払い拒否の確立が高いため、チェックアウトフローには常に card などの他の支払いオプションを提示する必要があります。このような場合、PaymentMethod は解除され、PaymentIntenオブジェクトのステータスは自動的に requires_payment_method に変わります。

    Afterpay の PaymentIntent のステータスが requires_action の場合、顧客は Afterpay のサイトにリダイレクトされてから 3 時間以内に支払いを完了する必要があります (拒否された支払いには適用されません)。3 時間以内にアクションが実行されなければ、PaymentMethod の関連付けが解除され、PaymentIntent のステータスは自動的に requires_payment_method に移行します。

    このような場合、決済フローに表示される別の支払いオプションで再試行するように顧客に通知します。

    エラーコード

    一般的なエラーコードと対応する推奨アクションは以下のとおりです。

    エラーコード推奨される対応
    payment_intent_payment_attempt_failedAfterpay の決済が失敗したことを示す一般的なエラー。これは、拒否エラーコードとして表示されない拒否である可能性もあります。
    payment_method_provider_declineAfterpay が顧客の支払いを拒否しました。次のステップとして、顧客から Afterpay に詳細を問い合わせる必要があります。
    payment_intent_payment_attempt_expired顧客が Afterpay の決済ページで支払いを完了しなかったため、支払いセッションの有効期限が切れました。Stripe では、決済が正常に行われなかった PaymentIntent は、最初のチェックアウト作成から 3 時間後に自動的に有効期限切れとなります。
    payment_method_not_availableAfterpay でサービス関連のエラーが発生したため、リクエストを完了できません。後で再試行してください。
    amount_too_smallAfterpay の国別のデフォルトの取引限度額以内の金額を入力してください。
    amount_too_largeAfterpay の国別のデフォルトの取引限度額以内の金額を入力してください。
    このページはお役に立ちましたか。
    はいいいえ
    • お困りのことがございましたら 、サポートにお問い合わせください。
    • 早期アクセスプログラムにご参加ください。
    • 変更ログをご覧ください。
    • ご不明な点がございましたら、お問い合わせください。
    • LLM ですか?llms.txt を読んでください。
    • Powered by Markdoc