コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ
概要
Stripe Payments について
構築済みのシステムをアップグレード
決済分析
オンライン決済
概要ユースケースを見つけるManaged Payments を使用する
Payment Links を使用する
事前構築済みの決済ページを使用する
Elements を使用したカスタム統合の構築
アプリ内実装を構築
対面決済
Terminal
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで決済手段を管理
    決済手段のタイプ
    カード
    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 による購入の迅速化
決済シナリオ
複数の通貨を扱う
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
決済以外の機能
会社を設立する
暗号資産
エージェント型コマース
Financial Connections
Climate
不正利用について
Radar の不正防止
不審請求の申請の管理
本人確認
アメリカ
日本語
ホーム決済管理Add payment methodsWalletsCash App Pay

メモ

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

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

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

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

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

支払い方法の詳細を収集し、保存済みの支払い方法にすぐに請求するには、Payment Intents API を使用します。

Checkout で決済手段の保存後に継続支払いを作成するには、Cash App Pay によるサブスクリプションを設定するをご覧ください。

Stripe を設定する
サーバー側

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

アプリケーションから 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'

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

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

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

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

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/customers \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ --data-urlencode description="My First Test Customer (created for API docs)"

決済フォームに許可に関する規約を提示する
クライアント側

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

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

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

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

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

  • 以降の購入時に認証せずにすむように顧客の支払い方法を保存する
  • サブスクリプションの無料トライアルを開始する

SetupIntent を作成して支払い方法を保存する
サーバー側

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

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
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}}

client secret を取得する

SetupIntent には、client secret が含まれています。これは、支払いプロセスを安全に完了するためにクライアント側で使用されます。client secret をクライアント側に渡す際は、いくつかの方法を使用できます。

ブラウザーの fetch 関数を使用して、サーバーのエンドポイントから client secret を取得します。この方法は、クライアント側が 1 ページのアプリケーションで、特に React などの最新のフロントエンドフレームワークで構築されている場合に最適です。client secret を処理するサーバーのエンドポイントを作成します。

main.rb
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
get '/secret' do intent = # ... Create or retrieve the SetupIntent {client_secret: intent.client_secret}.to_json end

その後、クライアント側で JavaScript を使用して client secret を取得します。

(async () => { const response = await fetch('/secret'); const {client_secret: clientSecret} = await response.json(); // Render the form using the clientSecret })();

次に、Stripe.js を使用してクライアントに Cash App Pay を保存します。

Stripe.js スクリプトを決済ページに含めるには、このスクリプトを HTML ファイルの head に追加します。

checkout.html
<head> <title>Checkout</title> <script src="https://js.stripe.com/clover/stripe.js"></script> </head>

決済ページで以下の JavaScript を使用して、Stripe.js のインスタンスを作成します。

client.js
// Set your publishable key. Remember to change this to your live publishable key in production! // See your keys here: https://dashboard.stripe.com/apikeys const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
);

stripe.confirmCashappSetup を使用し、return_url とオプションの mandate_data を指定して、クライアント側で setupIntent を確定します。return_url を使用して、SetupIntent の成功後に顧客を特定のページにリダイレクトします。

client.js
const form = document.getElementById('setup-form'); form.addEventListener('submit', function(event) { event.preventDefault(); // Set the clientSecret here stripe.confirmCashappSetup( clientSecret, { payment_method: { type: 'cashapp', }, return_url: 'https://www.example.com/checkout/done', }, ); });

顧客は、モバイルアプリまたはデスクトップアプリで Cash App Pay を認証することができます。confirmCashappSetup を呼び出した後、顧客が使用するクライアントは、モバイルの場合はリダイレクト、デスクトップの場合は QR コードなど、認証方法を決定します。認証のレスポンスには、次のステップで PaymentIntent を作成するために使用する必要がある支払い方法 ID も含まれています。

confirmCashappSetup を呼び出した後、Stripe は、顧客をオーソリのために Cash App にリダイレクトします。支払いがオーソリされた後、Stripe は顧客を Setup Intent の return_url に送ります。Stripe は、URL クエリパラメーターとして setup_intent、setup_intent_client_secret、redirect_pm_type、redirect_status のほか、既存のクエリパラメーターを return_url に追加します。

認証セッションは 10 分後に期限切れになり、SetupIntent のステータスは require_payment_method に戻ります。ステータスが移行すると、顧客にはオーソリエラーが表示され、プロセスをもう一度開始する必要があります。

オプションリダイレクトと認証を手動で処理する

confirmCashappSetup でリダイレクトと認証を処理するには、Stripe.js を利用することをお勧めします。ただし、自社のサーバーでリダイレクトと認証を手動で処理することもできます。

confirmCashappSetup コールで handleActions: false を指定します。

client.js
const form = document.getElementById('payment-form'); form.addEventListener('submit', function(event) { event.preventDefault(); // Set the clientSecret here you got in Step 2 stripe.confirmCashappSetup( clientSecret, { payment_method: { type: 'cashapp', }, return_url: 'https://www.example.com/checkout/done', }, { handleActions: false }, ).then((result) => { if (result.error) { // Display error to your customer. } else if (result.paymentIntent.status === "requires_action") { const nextAction = result.setupIntent.next_action.cashapp_handle_redirect_or_display_qr_code; const expiresAt = nextAction.qr_code.expires_at; if (IS_MOBILE) { // This URL redirects the customer to Cash App to approve or decline the payment. const mobileAuthUrl = nextAction.mobile_auth_url; } else if (IS_DESKTOP) { // Render the QR code and display it to the customer using the below image source. const imageUrlSvg = nextAction.qr_code.image_url_svg; const imageUrlPng = nextAction.qr_code.image_url_png; } } }); });

SetupIntent のレスポンスには requires_action ステータスが含まれます。これは、取引を完了するにはユーザーによる別のアクションの実行が必要であることを示します。同じ SetupIntent レスポンスの next_action.cashapp_handle_redirect_or_display_qr_code.hosted_instructions_url オブジェクトを使用して、Cash App モバイルアプリケーションを開いて認証セッションを終了するためのページに顧客をリダイレクトします。アプリ内の認証が成功した後、Cash App は、リクエストで設定された return_url に顧客をリダイレクトして決済を完了し、SetupIntent は自動的に succeeded 状態に移行します。SetupIntent レスポンスには、今後の PaymentIntents で再利用できる支払い方法 ID も含まれています。

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

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

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
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