コンテンツにスキップ
アカウント作成/サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成サインイン
導入方法
決済管理
売上管理
プラットフォームとマーケットプレイス
資金管理
開発者向けリソース
API & SDKヘルプ

注

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

PayTo 支払い

PayTo による支払い方法を受け付ける方法をご紹介します。

PayTo is a real-time payment method in Australia for accepting one-time and recurring payments. When paying with PayTo, customers authenticate and approve mandates using their mobile banking app or online banking.

You get delayed notification on whether the payment succeeded or failed. Stripe typically sends a notification of the final status of the payment within 60 seconds of the mandate authorization.

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'

PaymentIntent を作成する
サーバー側

PaymentIntent は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスを追跡します。PayTo による決済手段を受け付ける PaymentIntent を作成するには、回収する金額、通貨として aud、payment_method_types リストで payto を指定します。PaymentIntent の作成時に渡す決済手段リストを保持している場合は、それに payto を追加します。

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 amount=1000 \ -d currency=aud \ -d "payment_method_types[]"=payto

client secret を取得する

PaymentIntent には、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 PaymentIntent {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 })();

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

支払いを確定するときに、client secret を渡します。

注意

client secret は PaymentIntent へのアクセスを許可するため、慎重に取り扱う必要があります。記録したり、URL に埋め込んだり、当該の顧客以外に公開されることがないようにしてください。

stripe.confirmPayToPayment を使用して、顧客の支払いの承認を開始します。

顧客は支払いリクエストに関する通知を受け取り、バンキングアプリでリクエストを承認または拒否します。

script.js
// Inititates the payment request notification to the customer stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { billing_details: { // Name is required for all PayTo payments name: 'Jenny Rosen', // Email is required only for PayID payments, for refund processing email: 'jenny@example.com' }, payto: { // Either provide a PayID (typically an email or phone number) pay_id: 'jenny@example.com' // ...or provide bank account details account_number: '000123456', bsb_number: '000000' } } } ).then(function(result) { if (result.error) { // Inform the customer that there was an error. console.log(result.error.message); } });

デフォルトでは、Stripe.js によって PaymentIntent への更新がポーリングされます。confirmPayToPayment によって返されるプロミスは、PaymentIntent が succeeded ステータスになるか、支払いが失敗して PaymentIntent が requires_payment_method ステータスを返した場合に解決します。PaymentIntent のライフサイクルで、このような移行がどのように発生するかについての詳細をご覧ください。

自身でポーリングするには、handleActions: false を設定して自動ポーリングを無効にします。

script.js
stripe.confirmPayToPayment( '{{PAYMENT_INTENT_CLIENT_SECRET}}', { payment_method: { payto: { account_number: '000123456', bsb_number: '000000' } } } { handleActions: false } // <---- Like this )

この例では、お客様自ら PaymentIntents API を呼び出して、PaymentIntent のステータスを取得します。

実装内容をテストする

以下のさまざまなテスト用 PayID と銀行口座情報を使用して、テスト API キーで PayTo の実装内容をテストします。各セットによって、本番環境でシステムが直面する各種シナリオが再現されています。

PayID説明
{any_prefix}+succeed@{any_domain}PaymentIntent のステータスは、10 秒後に requires_action から processing に移行し、さらに 5 秒後に succeeded に移行します。
{any_prefix}+decline@{any_domain}PaymentIntent のステータスは、10 秒後に requires_action から requires_payment_method に移行します。Stripe は、payment_method_provider_decline エラーコードと invalid_authorization 拒否コードを返します。
{any_prefix}+expire@{any_domain}PaymentIntent のステータスは、10 秒後に requires_action から requires_payment_method に移行します。Stripe は、payment_method_provider_timeout エラーコードと generic_decline 支払いの失敗コードを返します。
{any_prefix}+insufficient_funds@{any_domain}PaymentIntent のステータスは、10 秒後に requires_action から processing に移行し、さらに 5 秒後に requires_payment_method に移行します。Stripe は、payment_method_provider_decline エラーコードと insufficient_funds 拒否コードを返します。
{any_prefix}+agreement_type_not_supported@{any_domain}PaymentIntent のステータスは、10 秒後に requires_action から requires_payment_method に移行します。Stripe は、payment_method_provider_decline エラーコードを返します。同意書のステータスは inactive になります。

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

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

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

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

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

  • Custom Webhook を構築する

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

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

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

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