Sources を使用した Multibanco での支払いベータ
警告
Stripe は Sources API を廃止しており、現地の決済手段のサポートを今後無効にする予定です。Sources API を使用して Multibanco を導入している場合は、Payment Methods API に移行する必要があります。このサポート終了に関する詳細については、メール通知をお送りします。
ヨーロッパとアメリカの Stripe ユーザは、Sources を使用してポルトガルの顧客からの Multibanco での支払いを受け付けることができます。これはサポートされている任意の方法を使用して支払いを作成するための単一の組み込みパスです。
支払いプロセス中に Source (ソース) オブジェクトが作成され、顧客は Multibanco の Web サイト、お客様の Web サイトまたは Multibanco のATM のいずれかにリダイレクトされ、そこで支払いを送金します。これが完了すると、組み込みがソースを使用して支払いリクエストを実行し、支払いを実行します。
Multibanco はプッシュベースで、1 回限りの使用の、同期的な支払い方法です。これにより、顧客は受取人を介してお客様に送金するためのアクションを実行します。顧客は決済フローの外でこれを行う必要があるため、資金のプッシュには数分から最大で 7 日かかる場合があります。資金が受け取られると、その金額はすぐに支払いに使用できるようになります。請求時に、支払いが成功したか、失敗したかがすぐに確定されます。
Source オブジェクトを作成する
Source
オブジェクトは、以下のパラメーターを指定して、クライアント側で Stripe.js を使用して、またはサーバー側で Source 作成エンドポイントを使用して作成されます。
パラメータ | 値 |
---|---|
type | multibanco |
amount | 顧客に請求する金額を表す、通貨の最小単位を使用した正の整数 (たとえば、10.99 EUR の支払いの場合は 1099)。 |
currency | eur (Multibanco では常にユーロが使用されます) |
redirect[return_url] | オーソリプロセス後に顧客がリダイレクトされる URL。 |
owner[email] | 顧客の完全なメールアドレス。 |
Stripe.js でソースを作成するには、まず Web サイトにライブラリーを含め、公開可能 API キーを設定します。その後、以下の createSource
メソッドを使用してクライアント側でソースを作成します。
stripe.createSource({ type: 'multibanco', amount: 1099, currency: 'eur', owner: { name: 'Jenny Rosen', email: 'jenny.rosen@example.com', }, redirect: { return_url: '__TOKEN_PLACEHOLDER_0__', }, }).then(function(result) { // handle result.error or result.source });
どちらのメソッドを使用しても、Stripe は使用される支払い方法に関連する情報が含まれた Source
オブジェクトを返します。Multibanco 固有の情報は、multibanco
サブハッシュにあります。
{ "id": "src_16xhynE8WzK49JbAs9M21jaR", "object": "source", "amount": 1099, "client_secret": "src_client_secret_UfwvW2WHpZ0s3QEn9g5x7waU", "created": 1445277809, "currency": "eur", "flow": "receiver", "livemode": true, "owner": {
モバイルアプリケーションでソースを作成する
iOS または Android のアプリを構築している場合は、Stripe のモバイル SDK を使用してソースを実装できます。詳細は、iOS または Android のソースに関するドキュメントをご覧ください。
顧客に売上を送金してもらう
ソースを作成すると、そのステータスは初めに pending
に設定され、この時点ではまだ支払いリクエストの実行に使用できません。Multibanco で支払うには、顧客は、お客様およびコンピュータ、電話、またはローカル ATM のいずれかから提供された参照番号と法人番号を使用して、銀行口座から資金の送金を開始する必要があります。
ポルトガルの加盟店では、顧客が購入を確定した後に注文確認メールに記載することで、決済フロー内にこれらの詳細を表示することがよくあります。
Source
オブジェクトの redirect[url]
属性内に指定された URL を使用して、Multibanco がオンラインで提供するページ (これらの詳細が表示されるページ) に顧客をリダイレクトすることもできます。その後、Multibanco は、資金が送金されたかどうかに関係なく、redirect[return_url]
の値として指定された URL に顧客をリダイレクトします。
顧客が資金を送金すると、Source
オブジェクトのステータスは chargeable
に移行し、お客様はソースに請求して取引を完了することができます。取引を完了しないと、ステータスは 6 時間後に canceled
に移行します。
Stripe は、顧客をお客様の Web サイトに戻す際に、redirect[return_url]
に次の GET パラメータを入力します。
source
:Source
オブジェクトの元の ID を表す文字列livemode
:true
またはfalse
。本番環境での支払いであるかどうかを示しますclient_secret
: 戻ってきた顧客がソースの作成をトリガーした顧客と同じであることを確認するために使用されます (ソース ID はシークレットとは見なされません)
redirect[return_url]
を指定する際に、必要になり得る他の GET パラメータを含めることができます。Stripe が入力した値で上書きされるため、上記と同じものをパラメータ名として使用しないでください。
モバイルアプリケーション
モバイルアプリケーションに Multibanco を組み込むには、アプリケーションの URI スキームを redirect[return_url]
値として指定します。このようにすることで、オーソリの完了後に顧客がお客様のアプリに戻されます。詳細については、Stripe の iOS または Android 向けの Sources に関するドキュメントをご覧ください。
リダイレクトと支払いをテストする
テスト API キーを使用して Source
オブジェクトを作成するときは、テスト支払いが 3 秒遅れて実行されます。さまざまな条件で Multibanco による支払いをテストする必要がある場合は、次のテスト用メールアドレスのいずれかを使用してください。
メールアドレス | 説明 |
---|---|
{any_prefix}+fill_never@{any_domain} | 売上が受取人のアドレスに送信されることはありません。 |
{any_prefix}+fill_now@{any_domain} | Source オブジェクトを作成後、受取人が取得されたときに、全額が送金されます。 |
redirect[url]
フィールドで返された URL によってサンプルの支払いページに移動します。このページから戻ると、redirect[return_url]
で指定した URL に移動します。
Source に請求する
顧客が資金を追加すると、ソースの status
が chargeable
に移行します。それを使用して支払いリクエストを作成できます。この移行は非同期で発生し、顧客がお客様の Web サイトにリダイレクトで戻された後に発生することがあります。
リダイレクトして戻った後、顧客が資金を送金するのに数分、数時間、または数日かかる場合があります。
そのため、組み込みで Webhook を利用し、ソースが支払い可能になって支払いを作成できるタイミングを判別することが重要です。Webhook を使用して支払い方法の組み込みを最適化する方法の詳細については、ベストプラクティスを参照してください。
Webhook
次の Webhook イベントが送信され、ソースのステータスの変化が通知されます。
イベント | 説明 |
---|---|
source.chargeable | 顧客が支払いを認証し、確認すると、Source オブジェクトが chargeable になります。 |
source.failed | 顧客が支払いの認証を拒否したため、Source オブジェクトは請求可能になりませんでした。 |
source.canceled | Source オブジェクトの期限が切れたため、支払いの作成には使用できません。 |
ソースを使用して支払いリクエストを作成する
ソースが支払い可能になると、お客様の source.chargeable
Webhook ハンドラから、source
パラメータの値としてソース ID を使用して支払いリクエストを作成し、支払いを完了できます。
Multibanco Sources は 1 回限りの使用であり、継続支払いや追加の支払いには使用できません。1 回限りの使用の Source と Customer との連携に関する詳細は、ソースと顧客ガイドを参照してください。
支払いが成功したことを確認する
Multibanco は同期的な支払い方法です。顧客はすでに資金を送金しているため、予期せぬエラーがない限り、Charge (支払い) は直ちに成功します。
支払いが作成されると、次の Webhook イベントも送信されます。
イベント | 説明 |
---|---|
charge.succeeded | 支払いが成功して、完了しました。 |
支払いプロセスが完了し、注文が確定されたことを顧客に通知するには、charge.succeeded
Webhook イベントの使用をお勧めします。Webhook を使用した支払い方法の最適な組み込み方法については、ベストプラクティスで詳細をご確認ください。
不審請求が申請された支払い
顧客は銀行口座から資金を追加する必要があるため、Multibanco では不正使用や未認識の支払いのリスクが極めて低くなります。チャージバックが発生して、Stripe アカウントから売上が引き出される可能性が生じる不審請求の申請プロセスはありません。
支払い金額の誤り
顧客はいつでも ATM から直接支払いを行うことができるため、発生する可能性はほとんどありませんが、キャンセルされたソースや期限切れのソースに資金が送られる場合があります。このような場合、Stripe は、前述のように誤った支払い金額の返金プロセスが自動的に開始されます。
返金
Multibanco を使用して行われた支払いの返金は、元の支払いから 180 日以内に実行する必要があります。180 日を過ぎると、支払いを返金できなくなります。
Multibanco での支払いは、ダッシュボードまたは API で返金できます。Multibanco 自体には返金機能が用意されていないため、Stripe では IBAN クレジットトランスファーによって返金処理を行います。Stripe が、ソース作成時に提供された顧客のメールアドレスに連絡し、顧客によって口座情報が指定されると、顧客に入金されます。最初の返金リクエスト以外に加盟店とやり取りする必要はありません。
IBAN の返金詳細の収集を自身で管理する必要があるユーザも存在します。Multibanco の返金を行うには、顧客の IBAN 番号や口座名義人、完全な住所 (国、郵便番号、市区町村、番地など) が必要になります。このオプションの詳細については、お問い合わせください。
ソースの有効期限
chargeable
Multibanco ソースは、chargeable
になってから 6 時間以内に支払われる必要があります。期限内に支払われなかった場合、ソースのステータスは自動的に canceled
に移行し、組み込みは source.canceled
Webhook イベントを受け取ります。支払い可能なソースがキャンセルされると、顧客が承認した Multibanco での支払いは自動的に返金され、お客様のアカウントに資金は移動しません。このため、source.canceled
イベントを受信したときは、必ず注文をご自身側でキャンセルし、顧客に通知するようにしてください。
また、pending
のソースは、資金の受け取りに使用されなかった場合、7 日後にキャンセルされます。最終的には、使用されなかったすべてのソースが pending
状態から canceled
状態に移行します。