戻る

VibeFox DPO for PrestaShop — ヘルプ

要件

PrestaShop: 8.0 から 9.x。

PHP: SimpleXML 拡張機能を備えた 8.0 以降。これらがない場合、モジュールはインストールを拒否します。

DPO Pay アカウント: DPO 加盟店アカウントの Company Token と Service Type ID が必要です。DPO はアカウント開設時にこれらを発行します。DPO のアカウントマネージャーに問い合わせるか、dpogroup.com から取得してください。DPO は、独自の token と service type を持つテストアカウントを提供することもできます。テスト専用のサーバーは別にありません。DPO はテストアカウントと本番アカウントに同じ API アドレスを使用し、アカウントは token によって選択されます。

通貨: ストアの通貨は、DPO アカウントで対応している必要があります。DPO は小数点以下 2 桁までしか受け付けないため、小数点以下 3 桁のカート合計(例:KWD 12.345)は決済できません。

サーバー cron: モジュールの再チェック URL を 15 分ごとに呼び出す cron ジョブ(Configuration を参照)。

VibeFox ライセンスキー: vibefox.net で購入します。1 つのキーは 1 つのドメインで使用できます。

インストール

1. 管理画面で Modules > Module Manager に進み、Upload a module をクリックします。モジュールの ZIP ファイルを選択します。

2. アップロードが完了したら Configure をクリックします。後でモジュール一覧から VibeFox DPO Pay Gateway を探し、Configure をクリックすることもできます。

3. VibeFox ライセンスキーを Configure ページ上部のライセンスブロックの License key に貼り付け、Activate をクリックします(ライセンスキーの項を参照)。

4. テストおよび/または本番の Company Token と Service Type を入力します(Configuration を参照)。

5. Configure ページに表示される push 通知 URL を DPO のサポートに送信し、お使いのアカウントに設定するよう依頼します。cron URL をサーバーの cron ジョブに追加します。

6. Enable/Disable をオンにして Save をクリックします。テストモードでテスト注文を行い、その後 Test mode をオフにして実際の決済を受け付けます。

インストール時に、モジュールは注文ステータス DPO payment on hold を作成します。PrestaShop は、すべての通貨、国、顧客グループに対応する新しい決済モジュールを提供します。これらは Payment > Preferences で制限できます。

Configuration

すべての設定はモジュールのページにあります:Modules > Module Manager > VibeFox DPO Pay Gateway > Configure。各セクションには独自の Save ボタンがあり、ページ全体が保存されます。モジュールが有効でも、選択したモードの Company Token または Service Type が空の場合、ページは決済画面で決済方法が非表示になることを警告し、保存時にも同じ警告が表示されます。テストモードがオンの間、ページには Test mode is on: payments are created with the test account credentials. と表示されます。

DPO Pay

Enable/Disable: Enable DPO Pay で決済方法のオン・オフを切り替えます。デフォルト:オフ。

Title: 決済画面で購入者に表示される決済方法の名前です。注文にも決済方法名として保存されます。デフォルト:DPO Pay。必須。

Description: 決済画面で決済方法の下に表示されるテキストです。デフォルト:Pay securely by card or mobile money on the DPO Pay payment page.

API 認証情報

DPO は、加盟店アカウント用の Company Token と Service Type ID を発行し、テストアカウント用には別の値を発行します。DPO のアカウントマネージャーに問い合わせるか、dpogroup.com から取得してください。

Test mode: オンの場合、新しい決済はテスト用の Company Token と Service Type で作成されます。デフォルト:オン。本番の認証情報で実際の決済を受け付けるには、オフにします。既存の決済のステータス確認とキャンセルは、常に決済の作成に使用したアカウントで行われます。

Test Company Token: DPO テストアカウントの Company Token です。

Test Service Type: DPO テストアカウントの数値の Service Type ID です。

Live Company Token: DPO 本番加盟店アカウントの Company Token です。

Live Service Type: DPO 本番加盟店アカウントの数値の Service Type ID です。

保存済みの Company Token は再表示されません。フィールドは空のままで、Saved — leave empty to keep it. と表示されます。値を変更したい場合にのみ、新しい値を入力してください。Service Type は数値でなければなりません。それ以外の値は保存されず、ページに警告が表示され、以前の値が保持されます。

Clear saved Company Tokens: token にチェックを入れて Save をクリックすると削除されます。フィールドが空の場合は、保存済みの値が保持されます。

決済通知

Push notification URL: push 通知は、購入者が決済後にブラウザを閉じた場合でも、決済が行われたことをストアに直ちに知らせます。この URL はダッシュボードでは設定できません。DPO のサポートに依頼して、お使いのアカウントにこの URL を設定してもらってください。フレンドリー URL を使用している場合、https://your-shop/module/wcp_dpo_pay/notify のような形式になり、言語コードが付く場合があります。ページに表示されたとおりに正確にコピーしてください。インターネットから到達可能である必要があり、メンテナンスモード、ファイアウォール、ベーシック認証が前段にあってはなりません。

DPO の push 通知には署名がないため、その内容は決して信頼されません。モジュールは、トランザクショントークンで決済を見つけるためにのみ通知を使用し、その結果を DPO 自体に確認します。ストアが作成していないトークンは、DPO へのリクエストなしで拒否されます。

Scheduled status re-check (cron): サーバーの cron ジョブから、15 分ごとにこの URL を呼び出してください(例:curl を使用)。未確認の決済は、リダイレクト後 15 分、および決済の時間制限を過ぎた後に、DPO で再チェックされます。URL には秘密のトークンが含まれているため、非公開にしてください。push URL と cron がない場合、注文は購入者が決済後にストアに戻った時にのみ作成されます。

注文

Successful payment status: 検証済みの決済成功後の注文ステータスです。

Payment accepted (Processing): 支払い済みの注文に対する PrestaShop の標準ステータスです(デフォルト)。
Delivered (Completed): 支払い済みのすべての注文が Delivered になります。
DPO payment on hold (manual approval): 支払い済みのすべての注文が、手動審査を待ちます。決済は注文に引き続き記録されます。

金額または通貨の不一致、承認のみの決済、過払い・不足払いの取引は、常に DPO payment on hold になります。

詳細設定

Logging: API 呼び出しと通知を、モジュールフォルダ内の logs/dpo_p_debug.log.php に書き込みます。このファイルはウェブから開くことはできません。エラーは常に記録されます。トークンはマスクされ、購入者データは記録されません。デフォルト:オフ。

Log: ログのサイズと最新のエントリを表示します。Clear log をクリックすると内容が消去されます。

Delete data: オンにすると、モジュールのアンインストール時にモジュールの設定とログが削除されます。注文用に保存された DPO データと、注文ステータス DPO payment on hold は常に保持されます。このオプションをオフにしたままアンインストールしても、データは一切削除されません。デフォルト:オフ。

決済画面

支払いステップで、購入者は決済方法(デフォルトは DPO Pay)を選択し、You will be redirected to the secure DPO Pay payment page. という注記を確認します。確定すると、モジュールはカートの通貨で、カート合計額の DPO トランザクションを作成します。説明にはカート番号とストア名が使われ、購入者は DPO の決済ページに移動します。購入者の氏名、メールアドレス、電話番号、請求先住所は、ページの事前入力のために渡されます。そこで購入者は、DPO アカウントで有効になっている任意の方法で支払います。決済リンクの有効期間は 5 時間です。この時点ではまだ注文は存在しません。

支払い後、購入者はストアに戻ります。注文は、DPO が確認した後にのみ支払い済みになります。モジュールは、購入者が戻ったとき、push 通知が届いたとき、定期的な再チェックのときに、トランザクションの結果を DPO に問い合わせます。その後で注文が作成され、購入者は標準の注文確認ページを見ます。

決済が確認されなかった場合、購入者は次のいずれかのメッセージとともに決済画面に戻ります。カートは保持されます。

The payment was declined or cancelled. Please try again or choose another payment method.
We have not received a payment confirmation from DPO yet. If you completed the payment, your order will be updated automatically — please do not pay again. Otherwise you can try again.
We could not confirm the payment result with DPO. If your account was charged, please contact us before paying again.

購入者が DPO のページでボタンをクリックしてストアに戻った場合、まずトランザクションが確認されます。支払い済みであれば注文が作成されます。そうでなければ、DPO でキャンセルされ、購入者はカートを保持したまま決済画面に戻ります。

購入者が同じカートで再度支払う場合、まず前回の DPO トランザクションが確認されます。支払い済みであれば、二重請求なしで注文が作成されます。まだ処理中の場合、購入者には Your previous payment for this order is still being processed by DPO. Please wait a few minutes before trying again. と表示されます。そうでなければ、古いトランザクションは DPO でキャンセルされ、新しいトランザクションが作成されます。

DPO が決済を開始できない場合、購入者は決済画面に留まり、DPO のエラーコードに応じた短いメッセージが表示されます。例:DPO Pay does not support the currency of this order. Please choose another payment method. または The amount exceeds the limit allowed by DPO Pay. Please choose another payment method or contact us. その他のエラーでは DPO Pay is temporarily unavailable. Please try again or choose another payment method. が表示されます。技術的な理由はログに記録されます。

push 通知と cron URL は、ストアがメンテナンスモードの間も動作し、ストアの国別制限によってブロックされることはありません。

本モジュールは、DPO のページでの一回限りの決済のみに対応しています。ストアからの返金、保存済みカード、定期購入や継続課金、ストアのサイト上のカード入力欄、承認のみの決済のキャプチャには対応していません。

注文

注文ステータス

No order yet: 購入者は DPO に移動しましたが、まだ支払っていないか、決済が拒否・キャンセルされたか、DPO がまだ決済を確認していません。カートのみが存在します。

Payment accepted, Delivered or DPO payment on hold: 決済が検証されました。ステータスは Successful payment status に従います。決済は、DPO のトランザクショントークンをトランザクション ID として記録されます。注文ページの非公開メモには、金額、通貨、承認コード、トークンの先頭部分が表示されます。

DPO payment on hold after payment: DPO は決済を確認しましたが、金額または通貨がカートと異なる、決済は承認のみでキャプチャされていない、トランザクションが過払いまたは不足払いである、あるいは購入者が決済をキャンセルしていた、または注文がすでにキャンセルされていた、のいずれかです。非公開メモに理由が記載されています。DPO ポータルでトランザクションを確認してください。承認のみの決済は DPO ポータルでキャプチャまたは取り消しを行い、その後注文ステータスを更新してください。

Cancelled: モジュールの未払い注文(例:承認のみの決済のために保留中の注文)をキャンセルすると、その未完了の DPO トランザクションも DPO でキャンセルされます。

後から届いた拒否の結果が注文を変更することはなく、古いトランザクションの結果が現在の試行を失敗させることもありません。すでに支払い済みの注文について DPO が 2 回目の成功した決済を確認した場合、注文は変更されず、二重決済の可能性がある旨のメモが追加されるため、DPO ポータルで返金できます。支払い済みまたは返金済みの注文が再度開かれることはありません。

返金

この版では、ストアからの返金は利用できません。DPO 加盟店ポータルで決済を返金し、その後 PrestaShop で注文ステータスを変更してください。

ライセンスキー

モジュールは、vibefox.net で購入した VibeFox ライセンスキーで動作します。License — VibeFox DPO Pay Gateway のライセンスブロックは、Modules > Module Manager > VibeFox DPO Pay Gateway > Configure ページの一番上、設定より上にあるブロックです。キーを License key に貼り付けて Activate をクリックします。その後、ブロックにはキーが伏せ字で表示され、ステータス(例:ライセンスの有効期限日とドメイン)と、ステータスを再確認する Check now、別のキーを入力する Change key、このストアからキーを削除する Remove key のボタンが表示されます。その下には Product: presta-payment-dpo の行と、vibefox.net のアカウントを開く Manage licenses and domains in your account のリンクがあります。キーを変更できるのは、このモジュールの Configure 権限を持つ従業員だけです。ブロックの文言は back office の言語に従います(英語とロシア語を含みます)。

キーが受け付けられない場合、ブロックには理由が表示されます(例:Key not found、This key belongs to another product、Domain limit reached、または日付付きの License expired on)。ショップのアドレスを変更した後や、アカウントでドメインの枠を解放した後に、Check now をクリックしてください。ライセンスサーバーに接続できない場合、モジュールは最後に確認できたステータスで動作を続けます。

1 つのキーは 1 つのドメインで機能します。マルチストア構成の場合も、メインショップのドメインです。ショップからキーを削除しても、ドメインの枠は解放されません。vibefox.net のアカウントで枠を解放してください。

有効なキーがない場合、DPO Pay は決済画面で購入者に表示されません。それでも決済が開始された場合、購入者には This payment method is not available. Please choose another one. と表示されます。PrestaShop のストアフロントは、バックオフィスにログインしていることを認識しないため、決済方法はあなたにも非表示になります。キーを購入する前にモジュールを設定することはできますが、決済画面でテストすることはできません。Modules > Module Manager の Alerts タブにリマインダーが表示されます。既存の注文は影響を受けません。すでに開始された決済は引き続き確認されます。

ライセンスの期限が切れても、モジュールは動作を続けますが、アップデートとサポートには更新が必要です。バックオフィスで作業している間、ステータスは自動的に再確認されます。キー入力後の最初の 14 日間は 1 日に 1 回、その後は週に 1 回です。cron ジョブは不要です。モジュールをアンインストールまたはリセットすると、ライセンスキーとライセンスステータスは常に削除されます。

トラブルシューティング

DPO Pay does not appear at checkout: ライセンスが有効であること、Enable/Disable がオンであること、選択したモードの Company Token と Service Type が設定されていることを確認してください。テストモードではテスト用フィールド、それ以外では本番用フィールドです。これらが未入力の場合、設定ページに警告が表示されます。Payment > Preferences で、モジュールがカートの通貨、購入者の国、購入者のグループに対して許可されていることを確認してください。

The payment went through, but no order was created: おそらく、お使いの DPO アカウントに push 通知 URL が設定されておらず、購入者がストアに戻っていません。設定に表示されている URL を設定するよう DPO のサポートに依頼し、cron が 15 分ごとに再チェック URL を呼び出していることを確認してください。Logging をオンにして、モジュールページの Log フィールドを確認してください。

Push notification answers Unknown transaction: トランザクショントークンが、このストアの DPO Pay 決済のものではありません。例えば、同じ DPO アカウント上の別のストアから通知が届いた場合などです。

Push notification answers Verification failed: 決済を確認するために DPO に接続できなかった、同じ時点で別のリクエストがカートを処理していた、または注文を作成できなかった(例:モジュールが無効になっている)のいずれかです。DPO は通知を再送し、定期的な再チェックでも注文が確認されます。理由はログに記録されています。

The push URL shows Method not allowed in the browser: これは正常です。この URL は DPO からのリクエストのみを受け付けます。

The cron URL answers Forbidden: URL 内のトークンが間違っています。Configure ページから URL をもう一度コピーしてください。正常な呼び出しは OK checked= と、確認された決済の件数を返します。

The Service Type is not saved: DPO から提供された数値の Service Type ID である必要があります。

The customer sees DPO Pay is temporarily unavailable: DPO がトランザクションの作成を拒否しました。例えば、Company Token や Service Type が誤っている、または別のモードの token を使用している場合です。DPO の結果コードはログにあります。

The customer sees that DPO accepts at most 2 decimal places: カート合計額が小数点以下 3 桁です。DPO はこのような金額を請求できません。

The customer sees This order has already been paid with DPO Pay: DPO が同じカートに対する 2 回目の決済を拒否しました。DPO ポータルで決済を、PrestaShop で注文を確認してください。

Order is DPO payment on hold after payment: 注文ページの非公開メモ(注文ステータスを参照)を読み、その後 DPO ポータルでトランザクションを確認してください。

開発者は、フック actionWcpDpoPayCustomerData で DPO に送信される購入者データを、フック actionWcpDpoPayPaymentTimeLimit で決済の時間制限を変更できます。

アンインストール

Modules > Module Manager に進み、VibeFox DPO Pay Gateway の横のメニューを開いて Uninstall を選択します。このモジュールのライセンスキーとライセンスステータスは常に削除されます。Delete data がオンの場合、モジュールの設定とログが削除されます。オフの場合、後日の再インストールのためにすべての設定が保持されます。注文用に保存された DPO データと注文ステータス DPO payment on hold は常に保持されるため、再インストール後も古い決済の遅延通知が引き続き処理されます。既存の注文は、決済メモとトランザクション ID を保持します。

DPO Pay は、その所有者の商標です。本モジュールは DPO Pay と提携しておらず、DPO Pay による推奨もありません。