ドキュメンテーション

決済プロバイダの設定

SuperSaaSは予約時やショップでの支払いを処理するために、いくつかの決済プロバイダをサポートしています。
SuperSaaS予約スケジュールには、オンライン課金設定としてデフォルトでPayPalが簡単に利用可能です。
PayPalの利用は特別な設定なく簡単に利用開始できます。 管理者のメールアドレスと、PayPalビジネスアカウントが同じであることを前提としています。

PayPal利用をやめて、別の決済ゲートウェイを追加することも可能ですが、簡単に設定可能なPayPalと比較して、高い技術力が必要なため、自己設定、解決出来る方のみ利用推奨します。
[支払い設定]の「ショップページのトップに表示するメッセージ」に、マジックワード$gatewayを挿入することで、実行可能です。
Payment Gatewayサービスの利用は、そのサービスを十分に理解した上で用いるように願います。
このページのマニュアルは技術者向けであり、外部システムとの連携などが必要となる為、SuperSaaSではサポート対象外となります。必ずリスクを十分に理解した上で、設定をお試し下さい。

Payment Gateway button location

PayPalのゲートウェイを変更

PayPalのゲートウェイはデフォルトで有効になっています。
別のゲートウェイを使用する場合は、以下のコードでデフォルトのPayPalゲートウェイのスイッチをオフにすることもできます。

$gateway{nopaypal}

デフォルトではシステム管理者のメールアドレスとPayPalアカウントが同じであることを前提としています。
以下の 'magic word'を追加することで、別のPayPalアカウントを使用するようことも可能です。

$gateway{paypal email@example.com}

複数の$gatewayコマンドを追加することにより、複数のゲートウェイを有効にすることができます。
決済ゲートウェイが複数の場合、利用するユーザーが選択することができます。

Payment gateway 「Stripe」を設定

Stripe

Stripeに関する詳細はStripe support pageで確認ください。

Stripeは100以上の通貨をサポートし、登録国では顧客にStripeを通して課金設定が可能です。
現時点では、Stripeとのインターフェースは、クレジットカード、Apple Pay、Google Pay、Alipay、Sofort、giropay、Bancontact、EPS、Przelewy24、およびiDEALの支払い方法をサポートしています。Stripeは"支払い設定"にて設定した通貨での課金が可能です。

欧州ベースの事業者へ

我々の最新のStripe integrationは、European PSD2 regulationに遵守しています。最新へ反映するには"Payment Gateways" ボタンよりStripe "v2"を選択して下さい。

StripeをSuperSaaSアカウントで開始する場合、"API keys"セクションにてrequired keysを確認します。

  • 新規"Restricted key"を作成し、"PaymentIntents"リソースに対する、"write"権限を付与します。
  • "Publishable key"及び新規"Restricted key"をコピー
  • 次に、左側のテストデータの表示スイッチを切り替え、これらの手順を繰り返し、"Restricted"と"Publishable"テストキーを取得します。これらのテストキーは実際の送金なしで支払いをシミュレートするために使用され、ライブキーは顧客に請求するために使用されます。
  • ショップページの上部に表示するメッセージの下にある、ペイメントゲートウェイをクリックするか、次のテキストを手動で追加して、これら4つのキーをSuperSaaSアカウントに追加します。:
    $gateway{stripe pk_live_12example34 rk_live_12example34
    pk_test_12example34 rk_test_12example34 intents}

    サンプルAPIキーをあなたのAPIキーに置き換えることを忘れないでください。

Stripe API Keys

StripeからSuperSaaSへのwebhookをセットアップ (オプション)

ユーザーが支払いを完了した後すぐにブラウザウィンドウを閉じると、ブラウザからサーバーへの通知が未達になる可能性があります。 これは、iDEAL支払い方法など、ユーザーを銀行のWebサイトにリダイレクトする支払い方法で発生する可能性が最も高くなります。 このような支払い方法を使用する場合は、Webhookを設定することをお勧めします。これにより、ブラウザウィンドウが途中で閉じられた場合でも、Stripeのサーバーから確実に連絡が取れるようになります。

  • Stripeダッシュボードの“Webhooks”セクションにて、'Add an endpoint'をクリック
  • 'Endpoint URL'にて、下記を入力
    https://www.supersaas.com/payment/stripe_webhook
  • 次に、'Select events' ボタンを選択し、次を選択: Payment Intent → payment_intent.canceled, payment_intent.payment_failed, payment_intent.succeeded
  • 必要に応じて、Charge → charge.refundedイベントを追加して、支払いが払い戻された場合にシステムが自動的に予定をキャンセルできるようにします。
  • 'Add events'をクリックしてイベントセレクターを閉じ、'Add endpoint' をクリックしてWebhookの詳細を保存します。
  • Stripeは、"live mode"と"test mode",のWebhookを別々に保存します。追加する必要があるのは、"live mode"の場合のみです。

「支払いの設定」で「テストモード」に切り替えることで、Stripeをテストすることが可能です。
「テストモード」に設定すると、現在設定されている支払いプロバイダの支払い処理がテスト状態となりますのでご注意ください。
テストの支払いを行った後、「テストモード」での支払い処理を、Stripeのダッシュボードで確認することができます。
支払いセクションで、支払いの確認ができましたら、テストモードをオフに切り替えてライブモードにし、実際にStripeの使用を開始することができます。

クレジットカードおよび/またはその他の支払い方法

デフォルトでは、クレジットカード支払いのオプションのみが有効になっています。
Stripeを介して他の支払いオプションを使用する場合は、適切なチェックボックスを選択し、オプションでクレジットカードを無効にすることで使用できます。
ほとんどの支払いオプションは、新しい"Intents"オプションが選択されている場合にのみ機能し、従来のインターフェースでは使用できないことに注意してください。
また、Stripeアカウント内で目的の支払い方法を有効にするを確認してください。

Apple Pay

支払い方法としてApplePayを追加する場合は、追加の手順を実行する必要があります。:

  • Stripe DashboardでApplePayが有効になっていることを確認
  • 使用元である、whitelist the domainsも必要です。
  • "Add new domain"をクリック
  • ユーザーがスケジュールを使用するドメイン名を入力(例 www.supersaas.com またはあなたのカスタムドメイン)
  • "Add"ボタンをクリック
  • ユーザーがアクセスする可能性のあるドメイン名ごとに繰り返します。

Legacy version

SuperSaaSはStripeの古いバージョンを利用する事も可能にしていますが、v1-legacy versionであり、 European PSD2に適合していないので、new v2 versionの利用を推奨します。Legacy versionの"Restricted"Stripe keyは"PaymentIntents"resourceの代わりに、"Charges" resourceでの"write"permissionを要求します。

Secret key

"Restricted" Stripe keyの代わりに"Secret" keyを提供する事も可能ですが、このキーはStripeアカウントへのフルアクセスを提供するため、"Restricted" keyよりセキュリティに劣る点に注意が必要です。

Payment gateway「Mollie」を設定

Mollie

Logo iDEAL and Mister Cash Mollie 欧州にフォーカスした決済プロパイダーであり、European SOFORT payment system、及び the Dutch iDEAL system、the Belgian Mister Cash systemを介して料金を徴収可能です。
また、顧客が後で支払うことができるサービスである"Klarna Pay Later"を使用するオプションも提供します。
Mollieアカウントをお持ちの場合は、APIキーを使用してSuperSaaSアカウントに接続できます。 これらのキーは、Mollieアカウントの“Developers”の下にある“API keys”に“Live and Test API keys”と表示されます。:

$gateway {mollie test_abc123xyz live_abc123xyz}

Mollieはインラインフレーム内では動作しません。
したがって、チェックアウトページに入ると、システムはページがiframe内にあるかどうかを検出します。その場合は、フレームからエスケープし、Mollieボタンのクリックが機能するようにします。

Mollie API keys

Payment gateway「Square」を設定

Square

Squareは、米国、カナダ、日本、オーストラリア、英国などでのクレジットカード支払いに対応したプロバイダーです。

Squareに関する詳細はSquareサポートを参照ください。

Square決済ゲートウェイを用いた決済設定は、現在ベータ版であり試験中です。
現在のところ、今後Square連携に関する公式ドキュメントやサポートの提供を開始する時期は全く未定のため、ご理解頂ける場合のみ活用を検討下さい。

設定に関して

Squareでは、アカウントの国設定に合わせた通貨で請求が行われます。(たとえば、米国設定のSquareアカウントはUSDでのみ取引処理されます。)
そのため、SuperSaaSアカウントの通貨設定をSquareの通貨と合わせる必要があります。
SuperSaaS側の通貨設定は管理メニューの「支払い設定」で確認できます。

APIキーの取得

SuperSaaSでSquareをセットアップするには、6つのキーが必要になります。 ライブ決済には、"Application ID"、"Personal Access Token"と"Location ID"、そして、そのテスト用のサンドボックスキーである、"Application ID"、"Personal Access Token"と“Location ID”です。これらのキーは下記でアクセス可能です。:

  • Square developer dashboardへログイン
  • プラス記号をクリックして新しいアプリケーションを作成し、わかりやすい名前を付けます。(e.g. "SuperSaaS")
  • 作成したアプリケーションで"開く"をクリックします。"Sandbox Application ID"と"Sandbox Access token"が表示されます。
  • 2つのプロダクションキーを見つけるには、ページ上部のスイッチを"Production Settings"に切り替える必要があります。
  • ロケーションIDを見つけるには、左側のメニューのLocations”をクリックします。これにより、サンドボックスのロケーションIDがわかります。
  • ページの上部にあるスイッチを切り替えて、Production environmentのLocation IDを見つけます。

SuperSaaSにキーを追加

ショップページの上部に表示するメッセージの下にある‘Payment Gatewaysをクリックして、これらのキーをSuperSaaSアカウントに追加します。または、次のテキストを手動でフィールドに入力することもできます(サンプルキーをあなたの独自のキーに置き換えることを忘れないでください)。:

$gateway{square sq123-12-application_id-45 EAAAE123-personal_access_token-456 LOC1
sandbox-sq123-12-sandbox_app_id-45 EAAAE123-sandbox_personal_access_token-456 LOC2}

テストモード

Squareをテストする場合、SuperSaaS管理メニューの[支払い設定]で「テストモード」にチェックを入れてください。
「テストモード」をオンにすると、現在設定されているすべての決済プロバイダーが「テストモード」に切り替わります。
テストによる支払い処理は、Square Developer Dashboard「Default Test Account」にて、支払いが完了したかどうかを確認できます。
支払いがトランザクションセクションにリストされている場合は、テストモードをオフに切り替えて、ライブモードでSquareの使用を開始できます。

Payment gateway 「ePay」を設定

ePay

ePayに関する詳細はDanish version

ePayは、デンマークの決済プロバイダでDankortを含む様々な支払方法をサポートしています。
ePayアカウントを持っている場合は、次のコードでePayゲートウェイを有効にすることができます。:

$gateway{epay 123456}

上のコードの「123456」箇所をePayのマーチャントIDにして使用してください。
利用にはePay管理者の設定でスケジュールのドメインを追加する必要があります。
ドメインが登録されていない場合、エラー・メッセージが表示されます。
設定は下記参照:"Settings" → "Payment system" → "Domains created for relay-script".

SuperSaaSをカスタムドメインで使用していない場合は単純に"supersaas.dk" と入力。 カスタムドメインを使用している場合は、ここにカスタムドメインを入力する必要があります。
更に、予約完了後にリダイレクトを設定している場合は、そのページのドメインも同様にePay’sシステムに設定します。
複数のドメインを追加するには、ePayサポートに連絡する必要があります。
ただし、それらのシステムは、登録されたドメインのサブドメインからの要求を受け入れます。したがって、カスタムドメインを使用する場合の解決策は、独自のドメインのトップレベルをePayに登録し、SuperSaaSスケジュールにサブドメインを使用することです。

MD5 secret keyを有効にする

Secret keyを使用してアカウントにMD5ハッシュチェック(暗号化)を有効にすることを推奨します。
Secret keyが存在しない場合、ハッカーによる偽装操作などの恐れがあります。
MD5ハッシュチェックをオンにするには、次のコードを使用します。:

$gateway{epay 123456 secret}

「secret」部分を任意の文字列に置き換えて、ePay管理画面でも同じ文字列を設定します。
"Settings" → "Payment system" → "Settings for the payment system" → "MD5 key".

設定したsecret keysの文字列が一致しない場合、 たとえ支払い処理が成立しても「Fraud check failed」とメッセージされます。

ポイントショップでのePay利用の制限

ポイントを利用している場合、「Settings for the payment system」の「Unique orderID」を「Not using Unique orderID」に切り替える必要があります。
プロダクトIDは、注文IDとして使用されているので、ユニークIDのまま使用した場合、商品は1つづつしか販売できません。
ePay利用時は顧客自身で数量を入力することはできません。

高度なePay設定

複数の目的のために同じePayアカウントを使用する場合は、ロゴなどの独自のカスタマイズ可能な、個別の「window」を作成したい場合も想定されます。
次の構文で別のウィンドウを使用するように設定できます。: $gateway{epay 123456 secret 2}、2はwindow ID.

「instant capture」に切り替えた場合の支払いは、自動的に適切な認証ステップの後にキャプチャされます。
下のように第四パラメータとして「1」を追加することにより、インスタントキャプチャを有効にすることができます。:

$gateway{epay 123456 secret 1 1}

ウィンドウIDを設定するには、MD5を有効にする必要があり、インスタントキャプチャを有効にするには、ウィンドウIDが存在する必要があることに注意してください。
ウィンドウのIDが不明の場合は、単に「1」とすることができます。

Payment gateway PayUを設定

PayU

PayUはPolandとCzech Republicの決済プロパイダーです。PayUアカウントをお持ちであれば 以下のsyntaxを利用してgatewayを設定可能です。:

$gateway {payu 123456 second_key USD}

PayUアカウント登録時に割り当てられたPOS IDを "123456" に対して入れ替える必要があります。また"second_key"も同様です。
また、例のSecond_keyをPayUアカウントの実際の2番目のキーに置き換える必要があります。
最後に、PayUで使用している通貨の3文字の通貨コードを入力する必要があります。
SuperSaaSの支払い設定とPayUで利用する通貨を等しく設定します。

Test mode

実際の支払いを行わずにPayUをテストするために、追加のPOS ID、"second_key"、およびPayUサンドボックスアカウントの通貨を提供できます。 (PayU sandbox accountsの詳細). 次に、"ゲートウェイ設定"セクションの"支払い設定"画面で、"テストモード'をオンにします。

$gateway {payu 123456 second_key USD 78901 sandbox_second_key USD}

"テストモード’ をオンにすると、現在構成されているすべての支払いプロバイダーが"テストモード’ に切り替わります。テストモードでPayUとのトランザクションを成功させると、PayU Sandbox アカウントの"オンライン支払い"の下で取引を見つけることができるはずです。"Online Payments" → "Transactions" → "List of transactions". すべてが正常に機能している場合は、SuperSaaSのテストモードをオフにすることができます。

Payment gateway Paystackを追加

Paystack

Paystackはアフリカで運営されている決済プロバイダーです。Paystackアカウントをお持ちの場合は、次の構文を使用してゲートウェイを有効にできます:

$gateway {paystack sk_live_0123456789…}

ここでは、サンプルキー “sk_live_0123456789…”を、Paystackダッシュボード内の設定にあるライブシークレットキーに置き換えます。 SuperSaaSの支払い設定画面で設定されている通貨が、Paystackアカウントの通貨と同じであることを確認してください。

テストモード

実際の支払いを行わずにPaystackゲートウェイをテストするために、追加のテストシークレットキーを提供できます。 詳細はこちらPaystack Sandbox and Live keys). 次に、 'ゲートウェイ設定'セクションの '支払い設定'画面で、 'テストモード'をオンにします。

$gateway {paystack sk_live_0123456789… sk_test_9876543210…}

'テストモード'をオンにすると、現在構成されているすべての支払いプロバイダーが 'テストモード'に切り替わります。テストモードでPaystackを使用してトランザクションを成功させると、PaystackSandboxアカウントで'トランザクション'を見つけることができるはずです。すべてが正常に機能している場合は、SuperSaaSのテストモードをオフにすることができます。

Custom payment gateway

ここに記載されていない別のプロバイダーと統合する必要がある場合、または独自の支払いバックエンドを使用する場合は、独自のゲートウェイを追加することができます。 しかし、これにはかなりの技術的熟練が必要であることに注意してください。

英語版の開発用ドキュメントはこちらcustom payment gateway.