paypay4wc

¥0 (税込)

PayPay支払いプラグイン。ダウンロードは引き続き dip.mamekichi-an.com で可能。 StripeとPayPayの提携によりStripeの導入でPayPayが使えるようになりました…

在庫切れ

SKU: paypay4wc
Category:

「PayPay残高」、「PayPayクレジット」に対応しています。継続課金には対応していません。

Checkout Blocks 対応です。従来の「クラシック購入手続き」でも使用できます。

StripeとPayPayの提携によりStripeの導入でPayPayが使えるようになりました。そのため、本プラグインの開発は今後は積極的には行わないこととしました。
ダウンロードは引き続き dip.mamekichi-an.com にて可能です。

ご注意


(1)フォルダー名とプラグイン名を PayPay4WC-CB に変更しましたので、ファイルを解凍しても paypay4wc フォルダーには上書きされません。上書きすると誤動作します。1.x.xバージョンと同時に有効化することはできません。
(2) Checkout Blocks は処理が非常に重たいので、有効化しているプラグインの数が多いと、決済処理プロセス( process_payment )が起動しなかったり、PayPay との通信がうまくいかないことが高頻度で生じます。

当店の場合は全部で16個のプラグインが有効化されていると、通信できたり、できなかったり不安定になります。

通信できなかった場合は、

“PayPayと通信できませんでした.他の決済方法をお選びください.”

というエラーメッセージが購入者側に表示され決済が中断します(英語で表示される場合は最新バージョンと置き換えてください)。

この場合は、有効化しているプラグインを減らすか、または従来の「クラシック購入手続き」を使用してください。
これは本プラグイン以外の決済プラグインでも同様です。試験用サイトを用意して事前に十分にテストすることをお勧めします。

なお、当店では使用中の他のプラグインが対応していないので Checkout Blocks の使用を見合わせています。

 

ダウンロードについて


このプラグインの価格は0円ですが、これを機会に当店のコーヒー豆をご購入いただけると大変嬉しいです。美味しいコーヒー豆ですので是非どうぞ!

他の商品のお買い上げが無い場合

[注文する]ボタンを押すとはダウンロードリンク付きの発送完了メールが届きます。

ご注文後48時間ダウンロードできますが、その間にダウンロードできるのは3回です。これらの制限を満たさない場合は再度ご注文ください。

他の商品を同時にご購入いただいた場合

発送は原則として翌営業日です。そのためリンク付きの発送完了メールが届くのは翌営業日となります。すぐにダウンロードしたい場合は本プラグインと他の商品は別々にご注文ください。

アカウントを登録された場合はマイページにもダウンロード用のリンクがあります。アカウントを登録すると、商品購入時に使える100ポイントをプレゼントしています。

他の商品のお買い上げが無い場合でも、カートの仕様上、お名前を入力いただく必要がありますが本名で無くても構いません。

 

導入前の準備と注意


利用するには PayPay for Developers にアカウントを作成して、加盟店ID、APIキー、シークレットキーを取得する必要があります。アカウントが作成されるとテスト環境を無料で利用できます。ドキュメント類も充実しています。動画のセミナーもあります。

本番で運用するには PayPay による更なる審査が必要です。

**特に下記の4点に注意してください**

1)本申請時に、「ご利用のサービス」は「WebPayment」を選択します。
課金モデル」は、「即時売上」、「出荷売上」、「出荷売上&即時売上」の3種類のいずれかを選択します。

これらは後から変更できないので慎重に選んでください。例えば「即時売上」を選んだ場合、本番環境で「出荷売上」は動作しません。

申請時と異なる課金モデルは利用できず、利用するには新たなアカウントを作成して申請を最初からやり直す必要があります。

*即時売上….与信と同時に支払いが実行される。
*出荷売上….与信が先に行われ購入者のPayPayに支払い枠が設定される。出荷時など任意のタイミングで手動でステータスを「完了」に切り替えると支払われる。ただし、PayPay が設定した期間内に完了しないとキャンセルされます

2)本申請では PayPay に IPアドレス を伝える必要がありますが、「(外部のAPIと接続する)サーバーのIP」を伝えます。これを間違うと本番環境で認証できずPayPayの支払いページに遷移しません(QRコードが生成できない旨のメッセージが返されます)

サーバーのIP」と「ホームページ等のIP」が異なるレンタルサーバー(*)がありますので注意が必要です。

例えば、host123.hogehogeserver.jpを借りて、そこにドメインwww.mystore.shopを設定した場合、それぞれ互いに異なるIPアドレスが設定されている場合があります。

サーバーのIP:host123.hogehogeserver.jpのIPアドレス<—こちらを伝えます
ホームページ等のIP:www.mystore.shopのIPアドレス

*これを書いている時点で把握しているのは「ロリポップ」です

3)「加盟店ID」、「APIキー」、「シークレット」は、テスト環境と本番環境で共通するものはありません。全て異なります。つまり6種類の互いに異なる文字列です。

テスト環境で問題ないのに本番環境で PayPay の決済ページに遷移しないとき、その原因は上記3点に間違いがある可能性大です。

4)本申請時に webhook のエンドポイント ( URL )を必ず登録申請してください。正しい動作に必要不可欠です。

管理画面に表示されるデフォルト値(末尾の 2つの’/’ に挟まれた文字列)を使わずに独自に設定されることを強くお勧めします

またこれは PayPay for developers のテスト環境では自由に設定可能ですが、本番環境では表示と変更ができません。変更したい場合や、申請し忘れた場合は、PayPay for Developers のサポートにコンタクトを取ってURLを伝えてください。

ご利用に際して


GPLライセンスですので配布、改変はご自由にどうぞ!

このプラグインを使用されて生じた事故や不利益に対し当店は責任を負いません。ご自身の責任に負いてご使用ください。

*設定方法など技術的なご質問には可能な範囲でお答えしますのでお気軽にご相談ください。

*機能追加や変更などのリクエストにお応えすることは難しいとお考えください。誤動作するなどのバグがあった場合はご連絡いただくと助かります。こちらでバグと確認した場合は可能な限り速やかに修正します。

 

アップデートについて


*不定期に内容を変更しています。

プラグイン管理画面で、本プラグインの「アップデートを確認」をクリックするとアップデートが確認できます。(試験運用中です。アップデートできない場合は、買い物カゴに入れて手続きをしてください)

開発履歴と既知の問題


*開発経緯を書いたこちらもご覧ください。

<履歴>

ver2.1.0-SDK2.07
webhook関連のセキュリティ強化
一部のエラーメッセージが出力されないバグを修正

ver2.0.6 –SDK2.07
Thankyouページの再読み込みでステータスが “完了”から”処理中”  などに遷移するバグを修正

ver2.0.5 –SDK2.07
更新チェッカー導入(試験導入中。うまくいかない時は従来の手順でダウンロードしてください)

ver2.0.4f1–SDK2.07
間違ったあるいは古いwebhook通知が送られてきた場合のステータスの誤動作回避を追加
ver2.0.4f–SDK2.07
間違ったあるいは古いwebhook通知が送られてきた場合のステータスの誤動作回避
誤動作の例:「完了」や「キャンセル」から「処理中」にステータスが変化してしまうなど。

ver2.0.4e1–SDK2.07  Warning: Undefined array key “paypay”の解消
ver2.0.4e–SDK2.07 若干の高速化
ver2.0.4d1–SDK2.07 著作者の表示
ver2.0.4d–SDK2.07 購入手続きページで、PayPay を選ぶと、[注文する]ボタン のラベルが ‘PayPay のお支払いページに進む →’  に書き替るようにしました。翻訳ファイルの加筆。
ver2.0.4c–SDK2.0.7  $_SERVERの確認とサニタイズを追加
ver2.0.4b–SDK2.0.7 PayPay側で何らかの理由で決済に失敗した場合に受付済みページが表示されるバグを修正
ver2.0.4a2–SDK2.07 ロゴマークのサイズを調整、翻訳ファイルの修正
ver2.0.4a1–SDK2.07 未定義の変数を定義
ver2.0.4a–SDK2.07 例外処理があると大量のログが出力されてしまうのでログ出力を削除. 翻訳ファイルの加筆、修正.
ver2.04–SDK2.07
warningとなる $this->statusを$this->get_status()に置き換え。
本番環境でwebhookを受け取れずステータスが遷移しないバグを修正。
ver2.0.3c–SDK2.07
まれに「完了」後に「処理中」に遷移する事象を回避
ver2.0.3b–SDK2.07
他の決済手段との干渉を回避するコードを追加
ver2.0.3a–SDK2.07
他の決済手段との干渉を回避

ver2.0.2–SDK2.07
決済後にPayPayと通信できなかった可能性がある場合に新設の「要確認」Statusに移行。
翻訳ファイルの加筆、修正。

ver2.0.1–SDK2.07
Checkout Blocksの使用時などで処理に時間がかかってPayPayと通信できなかった場合の処理を簡素化。
決済後にPayPayと通信できなかった可能性がある場合の管理画面ノートを追加

ver2.0.0–SDK2.07
Checkout Blocks対応。php9でエラーとなる未定義変数を定義。

ver1.4.5c–SDK2.07
paymentidが採番されたにも関わらずPayPay側でエラーとなった後のステータスを”cancel”から”pending”に変更(=カートの中身を維持)
ver1.4.5b–SDK2.07
paymentidが採番されたにも関わらずPayPay側でエラーとなった場合の処理を追加
ver1.4.5a–SDK2.07
1)「与信(出荷売上)」の場合、on-holdから直接completedに変更後にprocessingに戻ってしまう不具合を修正。
2)与信中に減額があったときに間違ってRefund処理が実行されることを回避。(本来はRevert処理 ですがPayPayは部分Revertに対応していません。減額は与信中は実行されず決済完了時に精算されます)

これら1)、2)は「即時売上」の場合は関係ないのでアップデートの必要ありません。

ver1.4.5–SDK2.07  HPOSに対応。
機能は1.4.4d 、c、 c1 と同一です。

ver1.4.4d–SDK2.07  webhookの説明文を変更。機能、動作は1.4.4c、c1と同一なのでこれらのバージョンからのアップデートの必要はありません。

ver1.4.4c1–SDK2.07 一部の綴りの修正と、PayPayの用語に合わせて部分的に「与信」を「与信(出荷売上)」に変更

ver1.4.4c–SDK2.07にアップデート
(guzzlehttpのバグ「did not correctly handle a change of origin」の修正版)

ver1.4.4b–SDK2.06にアップデート
(guzzlehttpのauthorization leakage bug during HTTP downgrade対応バージョン)

ver1.4.4a–SDK2.05にアップデート
( guzzlehttpのCross-domain cookie leakage対応バージョン)

ver1.4.4– 他のプラグインとのコンフリクト回避のためphp-scoperを使用してライブラリの名前空間を変更

ver1.4.3c–「詳細」で商品毎に個数と末尾に合計数を表示するようにしました。

ver1.4.3b–SDK2.0.4にアップデートしました。SDK2.0.3と大差ありません。

ver1.4.3a–「詳細」の文字数を最大85文字に変更。加えて4バイト以上の文字が含まれた場合の処理を追加。*このバージョンより古いものは商品数(実際は文字数の合計)が多いとエラーとなってPayPayの決済ページに遷移しません。

ver1.4.3–「詳細」の文字数を最大127文字から100文字に変更。

ver1.4.2b–ヘッダー部分の記述ミスを修正しました。

ver1.4.2a–Guzzleなどのライブラリを更新しました。これによりGoogle Listings & Adsに関わるエラーは解消しています。

ver1.4.2-webhookが動作しないバグがありましたので修正しました。

ver1.4.1-webhook用URLの一部を管理画面から変更可能にしました。

ver1.4—SDK2.0.3に更新。複数回返金機能追加。翻訳ファイルの一部修正。

ver1.3 — SDKのバージョンを1.0から2.02に変更しました。

<既知の問題>

  • 「出荷売上」の場合、与信が成功するとステータスは”on-hold”に遷移します。ログイン中の購入者がアカウントを見ると”保留中”と表示されます。誤解を招く表現なので変更した方が良いでしょう。
    https://www.mamekichi-an.com/2025/02/05/on-holdステータスを受付済みに名称変更/
  • Checkout Blocks 設定時に、有効化しているプラグインの数が多い時など、処理が重い場合は PayPay との通信がうまくいかない場合があります。
  • 「PayPay アプリを先に立ち上げていないとPayPay アプリのホーム画面を表示したまま支払い用の画面(購入金額表示)が表示されない」と iPhoneユーザから報告がありました。最新のPayPayアプリでは確認できませんでしたが、今後このようなことが無いとは言い切れませんので、ご購入者に注意を促す文言を決済ページに表示することをお勧めします。
  • PayPay の支払い画面(またはアプリ)で[支払う]ボタンを押してすぐにブラウザやアプリを閉じてしまうと決済が完了しません。元のページに自動で戻るまで待つか、ページの下に表示される青い長方形の[戻る]ボタンを押してください。
  • 「複数回返金機能」は仕様上は20回返金できますが、テストしたところ21回できました。22回目は Woocommerce 上では返金できたかのように表示されますが、実際は返金されませんでした。
  • 継続課金には対応していません

おまけ


*請求書を PDF で作成し、メールに添付できるプラグイン(PDF Invoices & Packing Slips for WooCommerce)用のインボイス(適格請求書)対応テンプレートを無料頒布しています–>https://www.mamekichi-an.com/product/pips4wc/

*郵便番号→住所自動入力プラグインと、郵便番号→「配達可能日時 表示/選択」プラグインを公開しています。どちらもCheckout Blocksに対応していますdip.mamekichi-an.com