payjp.js v1の提供終了と移行のお願い
2022.03.10
平素よりPAY.JPをご愛顧いただき、誠にありがとうございます。
加盟店様と利用者の方々が安心・安全にクレジットカード決済を行うため、最新のPCI-DSSに準拠した決済フォーム生成ライブラリpayjp.js v2を提供しております。
既に多くの加盟店様で利用いただき、安定した稼働を確認できております。
また、クレジットカードの不正利用を防ぐために追加認証を課す3D Secureなど、payjp.js v2は機能追加・改善を続けております。
一方、v1につきましては、現在は新規でのご利用を非推奨としており、また今後の機能追加・改善は行わない方針となっております。
これまで既にv1を利用しております加盟店様へのサポートを継続してまいりましたが、昨今の国際的なクレジットカード決済におけるセキュリティ意識の流れを鑑みて、v1の提供を終了させていただくこととなりました。
ご利用の皆様には恐れ入りますが、以下に提供終了日や移行方法・移行例を記載いたしますので、お早めにご対応いただきますようお願い申し上げます。
終了対象となるエンドポイント
https://js.pay.jp/v1/
以下の全て- 合わせて
https://js.pay.jp
へのアクセスにおける上記エンドポイントへリダイレクトも廃止いたします
- 合わせて
提供終了日
2022年5月31日(火)
2022年9月30日(金)
アクセスがなくなったことを確認後、提供終了いたします。
移行先
移行先 | フォームデザイン | 備考 |
---|---|---|
Checkout | 弊社提供 | jsの知識不要で簡単に移行可能 |
payjp.js v2 | 自由 | 弊社提供のデザインも利用できます |
モバイルSDK | 弊社提供 | iOS / Android / Flutter / React Nativeを用意 |
詳細はこちらをご確認ください。
移行によりできなくなること
カード番号・有効期限・CVCの取得ができなくなります。
カード番号でのブランド判定や、有効期限などのバリデーションについては、移行先ライブラリが行います。
ただしいずれの移行先でも、カード会社情報を判定することはできなくなります。
v1の提供終了の理由詳細
payjp.js v1はトークン化APIのみを提供しており、カード情報入力フォームは加盟店側で用意する必要がありました。
そのため、カード番号・有効期限・CVCなどのセンシティブな値は加盟店ページ上に存在してしまい、例えば加盟店ページ上で動く外部から読み込んだJavaScriptライブラリがそれらの情報にアクセスできてしまう、などのリスクがありました。
最新のPCI-DSSでは、それらセンシティブ情報は決済代行業者側のドメイン上で扱われるべきとしています。
各移行先では、iframeなどの技術を用いて、加盟店ページ上のプログラムからカード情報入力フォームの値などへはアクセスできないよう制御しております。
(なお、別の決済方法として、決済フォームを含むPSPドメインのページへリダイレクトして決済いただく方式も最新のPCI-DSS要件を満たしますが、弊社ではリダイレクト型決済を提供しておりません)
v1を使い続ける場合、PCI-DSS要件を満たすためには、加盟店様自身がPCI-DSSの認定を受けていただく必要がございます。
※具体的には、PCI-DSS SAQ A-EPの問診結果の提出(年次)・認定スキャニングベンダによる加盟店システムのサイトスキャン・訪問審査、などが必要となります。
弊社でも毎年、PCI-DSS認定のための監査を依頼して実施しておりますが、大変な労力・時間・費用がかかっております。
v1利用者の方々へは、移行いただく方がコスト面での負荷が少ないと考え、この度廃止を決定いたしました。
v2への移行について
移行例
以下のページに、v1の決済フォームをv2へ移行する具体例や各種フレームワーク対応などのFAQを用意しました。
ぜひご参考ください。
https://pay.jp/docs/migrate-payjs-v1
移行の要点
従来デザインを維持する移行の場合で、フォームのCSSやJSがinputタグを参照している場合、直接適用することができなくなるため改修が必要となります。
ライブラリをご利用の場合、工夫が必要だったり利用できない可能性もあり、最も工数を割く内容と見込まれます。
なお、v2が生成するinputタグへCSSやデザインを適用することは可能です。
また、名義などの任意項目についてはiframe内で管理する要件はなく、ご自身で用意いただくため、従来の実装をそのままご利用可能です。
その他、詳細はこちらをご確認ください。
v2移行によるデザイン制限
- 有効期限フォームにselectタグを使うこと
- required属性によるUI表現
- CVCなどのinputタグにtype=password属性を付与すること(モバイルSDKではデフォルトで表示が隠れます)
- 入力フォーム(inputタグ)に利用可能ではないCSSプロパティを適用すること
本件の詳細はこちらをご確認ください。
本件に関するお問い合わせ
ご不明点などございましたら、お問い合わせフォームよりご連絡をお願いいたします。
改めまして、v1ご利用の皆様には大変恐れ入りますが、対応をお願いいたします。
以上、何卒よろしくお願いいたします。