We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
各決済ごとに PaymentMethodInterface を実装することで決済に独自の処理を追加できます。また、 PaymentMethodInterface の実装クラスは PurchaseFlow を使用して購入処理中の受注データを確定させる必要があります。
PaymentMethodInterface
PurchaseFlow
verify()
注文手続き画面でsubmitされた時に実行する処理を実装します。 主に、クレジットカード決済の有効性チェックをするために使用します。 このメソッドは、 PaymentResult を返します。 PaymentResult には、実行結果、エラーメッセージなどを設定します。 Response を設定して、他の画面にリダイレクトしたり、独自の出力を実装することも可能です。
PaymentResult
Response
apply()
注文確認画面でsubmitされた時に、他の Controller へ処理を移譲する実装をします。 主にリンク型決済や、キャリア決済など、決済会社の画面へ遷移する必要がある場合に使用します。 また、独自に作成した Controller に遷移する場合にも使用できます。 このメソッドは PaymentDispatcher を返します。 PaymentDispatcher は、他の Controller へ Redirect もしくは Forward させるための情報を設定します。 決済会社の画面など、サイト外へ遷移させる場合は、 Response を設定します。
PaymentDispatcher
Redirect
Forward
このメソッドでは購入処理中の受注データを仮確定させるために PurchaseFlow#prepare() を実行します。仮確定してサイト外へ遷移した後に、遷移先でユーザが決済をキャンセルした場合は、仮確定を取り消す必要があります。仮確定の取り消しには、まずサイト外から決済をキャンセルして戻ってくるためのControllerを用意しておきます。このControllerの処理の中で PurchaseFlow#rollback() を実行します。仮確定取消後は注文手続き画面に遷移させるようにします。
PurchaseFlow#prepare()
PurchaseFlow#rollback()
サイト外へ遷移後、ユーザが決済処理を完了したときは、決済手続き完了用のControllerに遷移させます。このタイミングで購入処理中の受注を確定できる場合は PurchaseFlow#commit() を実行します。この遷移タイミングではなく、決済サーバからの完了通知を受けて購入処理を確定する場合は、完了通知用のControllerを実装し PurchaseFlow#commit() を実行するようにします。
PurchaseFlow#commit()
checkout()
注文確認画面でsubmitされた時に決済完了処理を記載します。 このメソッドは、 PaymentResult を返します。 PaymentResult には、実行結果、エラーメッセージなどを設定します。 3Dセキュア決済の場合は、 Response を設定して、独自の出力を実装することも可能です。
決済処理をこのメソッドで完了できる場合は、PurchaseFlow#commit() を実行して購入処理中の受注データを確定します。3Dセキュア決済などで他サイトへの遷移が必要な場合は、他サイトでの処理を完了して呼び戻されるControllerの中で PurchaseFlow#commit() を実行します。他サイトでの処理がキャンセルされたときは PurchaseFlow#rollback() を呼び出す必要があります。
The text was updated successfully, but these errors were encountered:
こちらの内容も追加したい EC-CUBE/sample-payment-plugin#11
Sorry, something went wrong.
@okazy ありがとうございます。
@皆様 PRいただけると嬉しいです。
No branches or pull requests
PaymentMethodInterface の拡張
各決済ごとに
PaymentMethodInterface
を実装することで決済に独自の処理を追加できます。また、PaymentMethodInterface
の実装クラスはPurchaseFlow
を使用して購入処理中の受注データを確定させる必要があります。verify()
注文手続き画面でsubmitされた時に実行する処理を実装します。
主に、クレジットカード決済の有効性チェックをするために使用します。
このメソッドは、
PaymentResult
を返します。PaymentResult
には、実行結果、エラーメッセージなどを設定します。Response
を設定して、他の画面にリダイレクトしたり、独自の出力を実装することも可能です。apply()
注文確認画面でsubmitされた時に、他の Controller へ処理を移譲する実装をします。
主にリンク型決済や、キャリア決済など、決済会社の画面へ遷移する必要がある場合に使用します。
また、独自に作成した Controller に遷移する場合にも使用できます。
このメソッドは
PaymentDispatcher
を返します。PaymentDispatcher
は、他の Controller へRedirect
もしくはForward
させるための情報を設定します。決済会社の画面など、サイト外へ遷移させる場合は、
Response
を設定します。このメソッドでは購入処理中の受注データを仮確定させるために
PurchaseFlow#prepare()
を実行します。仮確定してサイト外へ遷移した後に、遷移先でユーザが決済をキャンセルした場合は、仮確定を取り消す必要があります。仮確定の取り消しには、まずサイト外から決済をキャンセルして戻ってくるためのControllerを用意しておきます。このControllerの処理の中でPurchaseFlow#rollback()
を実行します。仮確定取消後は注文手続き画面に遷移させるようにします。サイト外へ遷移後、ユーザが決済処理を完了したときは、決済手続き完了用のControllerに遷移させます。このタイミングで購入処理中の受注を確定できる場合は
PurchaseFlow#commit()
を実行します。この遷移タイミングではなく、決済サーバからの完了通知を受けて購入処理を確定する場合は、完了通知用のControllerを実装しPurchaseFlow#commit()
を実行するようにします。checkout()
注文確認画面でsubmitされた時に決済完了処理を記載します。
このメソッドは、
PaymentResult
を返します。PaymentResult
には、実行結果、エラーメッセージなどを設定します。3Dセキュア決済の場合は、
Response
を設定して、独自の出力を実装することも可能です。決済処理をこのメソッドで完了できる場合は、
PurchaseFlow#commit()
を実行して購入処理中の受注データを確定します。3Dセキュア決済などで他サイトへの遷移が必要な場合は、他サイトでの処理を完了して呼び戻されるControllerの中でPurchaseFlow#commit()
を実行します。他サイトでの処理がキャンセルされたときはPurchaseFlow#rollback()
を呼び出す必要があります。The text was updated successfully, but these errors were encountered: