コンテンツにスキップ
アカウントを作成
または
サインイン
Stripe ドキュメントのロゴ
/
AI に質問する
アカウントを作成
サインイン
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
開発者向けのツール
始める
支払い
財務の自動化
始める
支払い
財務の自動化
プラットフォームおよびマーケットプレイス
資金管理
概要
Stripe Payments について
構築済みのシステムをアップグレード
支払いの分析
オンライン決済
概要ユースケースを見つけるManaged Payments
Payment Links を使用する
決済ページを構築
高度なシステムを構築
アプリ内実装を構築
決済手段
決済手段を追加
    概要
    支払い方法の導入オプション
    ダッシュボードで支払い方法を管理
    決済手段のタイプ
    カード
    Stripe 残高で支払う
    銀行口座引き落とし
    銀行へのリダイレクト
      Bancontact
      BLIK
      EPS
      FPX
        決済を受け付ける
      iDEAL
      Przelewy24
      Sofort
      TWINT
    銀行振込
    クレジットトランスファー (Sources)
    後払い
    リアルタイム決済
    店舗支払い
    ウォレット
    国ごとに現地の支払い方法を有効化
    カスタムの決済手段
決済手段を管理
Link による購入の迅速化
支払いインターフェイス
Payment Links
Checkout
Web Elements
アプリ内 Elements
決済シナリオ
カスタムの決済フロー
柔軟なアクワイアリング
オーケストレーション
店頭支払い
端末
他の Stripe プロダクト
Financial Connections
仮想通貨
Climate
ホーム支払いAdd payment methodsBank redirectsFPX

注

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

FPX の支払いを受け付ける

マレーシアで一般的な支払い方法である FPX を受け付ける方法について説明します。

ページをコピー

注意

このセクションにはレガシープロダクトについてのコンテンツが含まれています。最新の導入パスについては、代わりに決済を受け付けるのガイドを使用する必要があります。Stripe はこのプロダクトを引き続きサポートしていますが、プロダクトが非推奨になった場合にはサポートが終了する可能性があります。

FPX は 1 回限りの決済手段です。FPX を使用して支払う場合、顧客はお客様のウェブサイトからリダイレクトされ、支払いの送信後に、ウェブサイトに戻ります。ここで、お客様は支払いが成功したか失敗したかに関する即時通知を受け取ります。

To enable FPX payments:

  1. Navigate to the Payment methods settings in the Dashboard. If you haven’t already, activate your Stripe account.
  2. Find FPX under Bank redirects and select Turn on.
  3. Accept the FPX terms of service.

FPX is only available to merchants based in Malaysia. See payment method support for more information about countries, currencies, and payment methods compatible with Stripe products.

注

FPX は 1 回限りの決済手段のため、継続的な支払いや追加の支払いには使用できません。FPX は現在 Stripe Billing ではサポートされていません。Custom アカウントの FPX 支払いはベータでサポートされています。サポートに関するご質問については、Stripe サポートまでお問い合わせください。

Stripe を設定する
サーバ側

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

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

PaymentIntent を作成する
サーバ側

PaymentIntent (支払いインテント) は、顧客から支払いを回収する意図を表すオブジェクトであり、支払いプロセスのライフサイクルの各段階を追跡します。金額が分かり次第 (決済プロセスの最初など)、PaymentIntent を作成してください。PaymentIntent を作成するには、次の値が必要です。

パラメータ値
payment_method_typesfpx
amount最小通貨単位の正の整数で、顧客に請求する金額を表します (たとえば、RM10.99 の支払いの場合は 1099)。Stripe は、取引ごとに最小額の RM2 から最大額の RM30,000 までをサポートしています。
currencymyr (FPX は常にリンギットを使用する必要があります)
Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d "payment_method_types[]"=fpx \ -d amount=1099 \ -d currency=myr

金額が後で (配送手数料や税金の計算時などに) 変更された場合、amount (金額) を 更新することもできます。

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents/pi_1DRuHnHgsMRlo4MtwuIAUe6u \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1499

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

Stripe Elements は支払い詳細を収集するための事前構築された UI コンポーネントのセットです。Elements は、Stripe.js の機能として自動的に使用可能になります。決済ページに Stripe.js スクリプトを含めるには、HTML ファイルの head にそのスクリプトを追加します。Stripe.js を常に js.stripe.com から直接読み込むことで、PCI への準拠が維持されます。スクリプトをバンドルに含めたり、そのコピーを自身でホストすることがないようにしてください。

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

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

const stripe = Stripe(
'pk_test_TYooMQauvdEDq54NiTphI7jx'
); const elements = stripe.elements();

Elements には、支払いフォーム内の配置場所が必要です。支払いフォームに一意の ID を持つ空の DOM ノード (コンテナ) を作成し、それらの ID を Elements に渡します。

checkout.html
<form id="payment-form"> <div class="form-row"> <div> <label for="fpx-bank-element"> FPX Bank </label> <div id="fpx-bank-element"> <!-- A Stripe Element will be inserted here. --> </div> </div> </div> <button id="fpx-button" data-secret="{{ CLIENT_SECRET }}"> Submit Payment </button> <!-- Used to display form errors. --> <div id="error-message" role="alert"></div> </form>

上記のフォームが読み込まれたら、fpxBank Element のインスタンスを作成し、それを上記で作成した Element コンテナーにマウントします。

const style = { base: { // Add your base input styles here. For example: padding: '10px 12px', color: '#32325d', fontSize: '16px', }, }; // Create an instance of the fpxBank Element. const fpxBank = elements.create( 'fpxBank', { style: style, accountHolderType: 'individual', } ); // Add an instance of the fpxBank Element into the container with id `fpx-bank-element`. fpxBank.mount('#fpx-bank-element');

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

クライアント側で支払いを作成するには、ステップ 1 で作成した PaymentIntent オブジェクトの client secret を渡します。

stripe.confirmFpxPayment を使用し、お客様のページからのリダイレクトを処理して支払いを完了します。この機能に return_url を追加して、ユーザーが銀行のウェブサイトまたはモバイルアプリで支払いを完了した後に Stripe がユーザーをリダイレクトする場所を示します。

client.js
const form = document.getElementById('payment-form'); form.addEventListener('submit', async function(event) { event.preventDefault(); const fpxButton = document.getElementById('fpx-button'); const clientSecret = fpxButton.dataset.secret; const result = await stripe.confirmFpxPayment(clientSecret, { payment_method: { fpx: fpxBank, }, // Return URL where the customer should be redirected after the authorization return_url: `${window.location.href}`, }); if (result.error) { // Inform the customer that there was an error. const errorElement = document.getElementById('error-message'); errorElement.textContent = result.error.message; } });

顧客が支払いを送信すると、Stripe は顧客を return_url にリダイレクトし、以下の URL クエリーパラメーターを含めます。返品ページでは、これらを使用して PaymentIntent のステータスを取得し、顧客に支払いステータスを表示できます。

return_url を指定する際に、返品ページで使用する独自のクエリパラメーターを追加することもできます。

パラメーター説明
payment_intentPaymentIntent の一意の識別子。
payment_intent_client_secretThe client secret of the PaymentIntent object. For subscription integrations, this client_secret is also exposed on the Invoice object through confirmation_secret

顧客が自社のサイトにリダイレクトされたら、payment_intent_client_secret を使用して PaymentIntent をクエリし、顧客に取引ステータスを表示できます。

組み込みをテストする

認証の成功と失敗のケース

FPX の組み込みをテストするには、テスト API キーを使用して任意の銀行を選択し、リダイレクトページを表示します。支払い成功のケースをテストするには、リダイレクトページで支払いを認証します。PaymentIntent が requires_action から succeeded に移行します。

ユーザが認証に失敗するケースをテストするには、テスト API キーを使用して任意の銀行を選択します。リダイレクトページでテスト支払い失敗をクリックします。PaymentIntent が、requires_action から requires_payment_method に移行します。

確認エラーのケース

発生する可能性のあるその他のエラーケースには、オフライン状態の銀行への接続や、確認時の処理エラーなどがあります。これらのエラーを発生させるには、確認の fpx[bank] 値を以下のいずれかのテストエラー銀行値に設定します。PaymentIntent のステータスは requires_confirmation になります。これらのエラーコードの詳細についてはこちらをご覧ください。

パラメータ値エラーコード
fpx[bank]test_offline_bankoffline_bank
fpx[bank]test_processing_errorpayment_method_processing_error_transient

支払い後のイベントを処理する
サーバ側

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

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

手動

Stripe ダッシュボードは、すべての Stripe 支払いの確認、メールでの領収書の送信、入金処理、または失敗した支払いの再試行に使用できます。

  • ダッシュボードでテスト支払いを確認する

カスタムコード

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

  • カスタム Webhook を作成する

事前構築のアプリ

オートメーションやマーケティングとセールスなどの一般的なビジネスイベントを、パートナーアプリケーションとの連携によって処理します。

オプションFPX 銀行 Element イベントを処理する

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

チェックアウトおよび支払い確認の要件

決済ページでは、以下の要件に従う必要があります。

要件詳細
FPX のロゴを表示する。こちらから FPX ロゴをダウンロードします。
ドロップダウンリストに、FPX の買い手の銀行の選択肢を作成する。銀行名は、取引銀行に記載されている名前と一致している必要があります。
FPX 利用規約の標準的な表現と URL を提示する。標準的な表現: 進むボタンをクリックすると、FPX の利用規約に同意することになります。

銀行の認証完了後に顧客が戻る支払い確認ページには、以下の情報を表示する必要があります。

情報情報のソース
取引日時Charge オブジェクトの created。
金額Charge オブジェクトの amount。
売り手の注文番号Charge オブジェクトの statement_descriptor。
FPX 取引 IDCharge オブジェクトの payment_method_details[fpx][transaction_id]。
買い手の銀行名Charge オブジェクトの payment_method_details[fpx][bank]。
取引ステータスCharge オブジェクトの status。

この情報には、Charge (支払い) からアクセスできます。Charge オブジェクトは、payment_intent.succeeded イベントから取得できます。

API バージョン 2022-08-01 以前を使用するユーザー: この情報には、Charge (支払い) からアクセスできます。Charge オブジェクトは、payment_intent.succeeded イベントから、または直接 PaymentIntent (支払いインテント) から取得できます。

Ruby
# Set your secret key. Remember to switch to your live secret key in production. # See your keys here: https://dashboard.stripe.com/apikeys Stripe.api_key =
'sk_test_BQokikJOvBiI2HlWgH4olfQ2'
intent = Stripe::PaymentIntent.retrieve('{{PAYMENT_INTENT_ID}}') charges = intent.charges.data

取引銀行

銀行名値
Affin Bankaffin_bank
Alliance Bankalliance_bank
AmBankambank
Bank Islambank_islam
Bank Muamalatbank_muamalat
Bank Rakyatbank_rakyat
BSNbsn
CIMB Clickscimb
Hong Leong Bankhong_leong_bank
HSBC Bankhsbc
KFHkfh
Maybank2Emaybank2e
Maybank2Umaybank2u
OCBC Bankocbc
Public Bankpublic_bank
RHB Bankrhb
Standard Charteredstandard_chartered
UOB Bankuob

エラーコード

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

エラーコード推奨アクション
invalid_amountFPX 取引は、RM2 より大きく、RM30,000 未満である必要があります。
invalid_bank指定した銀行は FPX では未対応です。上記の取引銀行からいずれかのオプションを使用してください。
invalid_currencyFPX は MYR 取引にのみ対応しています。
missing_parameter必要なパラメータがありません。必要なパラメータの詳細については、error_message を確認してください。
offline_bank指定した銀行は現在オフラインです。別の銀行または支払い方法のタイプをお試しください。
payment_method_not_availableこの支払い方法は現在使用できません。戻って別の支払い方法で処理するように、顧客に依頼してください。
payment_method_processing_error_transient予期しないエラーが発生したため、Payment Intent を確定できませんでした。Payment Intent の確定をもう一度お試しください。

入金と送金

コンプライアンス上の理由から、FPX の売上はアカウントの独立した fpx 残高で決済されます。実際、同じ日に 1 つは FPX の売上、もう 1 つはその他すべての売上に対する、2 件の自動入金を別々に受け取る可能性があります。Connect プラットフォームでは、次のように source_type として fpx を指定することにより、fpx 残高から入金を作成または送金できます。

Command Line
cURL
curl https://api.stripe.com/v1/payouts \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=5000 \ -d currency=myr \ -d source_type=fpx

また、残高を取得して、available および pending の Stripe 残高の内訳を source_type ごとに確認することもできます。

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