PAY.JP
PAY.JP

API v1 からの移行について

現在 PAY.JP API v1 を利用中の方向けに、API v2 への移行に必要な事項を説明します。

API v2 ご利用の準備

現在 API v2はベータ版として一部のアカウントのみご利用いただけます

PayPay 決済をご利用予定の場合、すでにクレジットカード決済で本番申請済みであっても追加の審査が必要です。本番申請の必要箇所を改めてご入力いただき、審査結果をお待ちください。

API v2 への移行の概要

API v1 と API v2 は一部の API リソースで同じ ID のデータを共有できますが、基本的には別の API 群として提供されており、利用する SDK や必要な実装も異なります。 システム切り替え期間中は API v1 と API v2 を併用できますが、最終的には API v2 への完全な切り替えが必要です。

API v1 で作成された決済に対する返金等の操作は API v1 で行う必要があります。API v2 の利用開始後も API v1 で作成した決済への返金等が必要な期間は API v1 を利用可能な状態を維持してください。

API v1 で作成された Charge の返金期限は売上作成日から180日間です。 操作内容によっては PAY.JP 管理画面からも対応可能ですので、API v1 利用終了までの移行期間の対応方法をご検討ください。

API v1 と v2 の差分

API v1 と API v2 の主な差分は以下の通りです。

API v1API v2
利用可能な支払い手段カード、Apple Pay(アプリ/Web)カード、Apple Pay(Web)、PayPay
定期課金API提供あり未対応
※ 2026年対応予定
モバイルアプリ SDKiOS/Android/Flutter/React Native提供なし
※ Checkout v2 をアプリ外決済ページとしてご利用いただけます。
対応プロダクトPAY.JP、PAY.JP PlatformPAY.JP
※Platformは2026~2027年対応予定

APIキー

API v2 でも API v1 と同じ API キーを使用します。

API v1 と API v2 のオブジェクト

決済情報

API v2 では決済情報は Payment Flow (支払い管理オブジェクト)API オブジェクトで表現されます。 API v1 の Charge オブジェクトとは別物ですので、それぞれ対応する API を使用して操作してください。

Customer と関連情報

Customer (顧客)API オブジェクトは API v1 と API v2 で同一のオブジェクト ID を利用できます。

API v1 で作成した顧客は API v2 でも同一のIDの Customer として利用できます。 また Customer に紐づいた Card については、対応するPayment Method (支払い方法)APIオブジェクトが自動的に作成されています。 ただし、API v2 で作成した PaymentMethod は API v1 からは利用できません。

API v1 で作成した Card に対応する PaymentMethod の情報を取得するには カード ID で対応する Payment Method を取得する API をご利用ください。

カードの3Dセキュア認証について

API v2 では全てのカードは初回決済時までに3Dセキュア認証が必要です。 API v1 で登録されたカードのうち 3D セキュア認証が未実施のものを API v2 で決済に利用する場合、3D セキュア認証フローが実行されます。 サーバーサイドからリクエストしていた場合は、該当の決済に対して フロントエンドでの requires_action の対応 を実施する必要があります。

その他のオブジェクト

以下のオブジェクトも API v1 と API v2 で同一のオブジェクト ID を利用できます。 利用する API のバージョンによって一部レスポンスの内容が異なる場合がありますのでご注意ください。

データ形式の変更

  • Customer オブジェクトの default_card フィールドは API v2 では廃止され、代わりに default_payment_method フィールドが導入されました。
  • v1 では Card オブジェクトに cvc_checkaddress_zip_check フィールドがありましたが、v2 の PaymentMethod (type=card) ではこれらのフィールドは廃止されました。
  • API v2では Customer.email のバリデーションが強化され、RFC 5322 に準拠した形式が必要です。
  • Metadata のバリューに JSON で扱える型(文字列、整数、ブール値)を使用できるようになりました。