先日のWebPayのサービス終了のアナウンスを受け、PAY.JPではWebPayからPAY.JPへ移行する方法について一次アナウンスをさせていただきました。
WebPay サービス終了にあたっての PAY.JP への移行方法 - PAY.JP Engineering Blog
その後WebPayと調整を進めまして、カード番号とCustomers Objectの具体的な移行に関する詳細が固まりましたので、該当情報の移行先を検討している事業者の皆さまに向けて、ご案内いたします。
移行対象について
今回のデータ移行の目的は、WebPayしか保有していないカード番号を移行するための救済策となっており、その他APIで事業者側から取得可能な情報については、移行できない場合があることを予めご了承ください。
これをふまえた上、WebPayとPAY.JP間で移行が保証される、保証されない、移行されない情報は下記のとおりとなります。
移行が保証される情報 |
移行が保証されない情報 |
移行されない情報 |
Customers: id Customers の active_card: type , last4 , exp_year , exp_month , name |
Customers の active_card: country , cvc_check |
Customers: id 以外 Customers の active_card: fingerprint Charges Tokens Recursions Events Account |
WebPayとPAY.JP間ではCustomersの id
とカード番号、及び付随するカード情報のペアでデータ移行を実施予定です。
「移行が保証される情報」は、事業者のみなさまがWebPayで管理されていた情報がそのままPAY.JPに移行されます。 ( name
は255文字を超える長さの場合、移行できません)
「移行が保証されない情報」も同様にWebPayで管理されていた情報がそのままPAY.JPに移行されます。( cvc_check
については文字列に違いがあるので、両API リファレンスから確認してください) このデータは、先述の通り状況により移行ができかねるケースがございます。
「移行されない情報」は、Customersの id
以外、Customers以外のObjectとなっております。Customersのactive_cardの fingerprint
についてはPAY.JPの仕様で生成されるため、WebPayで管理されていた fingerprint
とは異なる値が生成されます。
Charges Objectは、PAY.JP側で決済トランザクションが発生していない都合で、返金や売上確定などの後続処理がシステム的に不可能なため、移行できません。Recursions Objectの移行については、後述する説明を参照してください。
また cvc
はPCI-DSSの観点から取扱できないセンシティブデータとなっており、移行対象となっておりません。
移行サンプル
下記にサンプルデータを用いて「移行される情報」(移行が保証されない情報を含む)がWebPayからPAY.JPでどのようにデータが変化するかをJSONで示します。
WebPayで生成したサンプルcustomerのデータ:
{
"id": "cus_2uc0JYeED5OPbxG",
"object": "customer",
"livemode": false,
"created": 1478828555,
"email": "payjp@example.com",
"description": "サンプルユーザー",
"active_card": {
"object": "card",
"exp_year": 2020,
"exp_month": 12,
"fingerprint": "215b5b2fe460809b8bb90bae6eeac0e0e0987bd7",
"name": "TARO YAMADA",
"country": "JP",
"type": "Visa",
"cvc_check": "pass",
"last4": "4242"
},
"recursions": [
]
}
上記を移行した場合のPAY.JPのデータ:
{
"cards": {
"count": 1,
"data": [
{
"address_city": null,
"address_line1": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": "unchecked",
"brand": "Visa",
"country": "JP",
"created": 1478828796,
"customer": "cus_2uc0JYeED5OPbxG",
"cvc_check": "passed",
"exp_month": 12,
"exp_year": 2020,
"fingerprint": "e1d8225886e3a7211127df751c86787f",
"id": "car_ed7cc52bd41be35b3159572f73a1",
"last4": "4242",
"livemode": false,
"metadata": {},
"name": "TARO YAMADA",
"object": "card"
}
],
"has_more": false,
"object": "list",
"url": "/v1/customers/cus_2uc0JYeED5OPbxG/cards"
},
"created": 1478828796,
"default_card": "car_ed7cc52bd41be35b3159572f73a1",
"description": null,
"email": null,
"id": "cus_2uc0JYeED5OPbxG",
"livemode": false,
"metadata": {},
"object": "customer",
"subscriptions": {
"count": 0,
"data": [],
"has_more": false,
"object": "list",
"url": "/v1/customers/cus_2uc0JYeED5OPbxG/subscriptions"
}
}
「移行される情報」がWebPayからPAY.JPへ引き継がれ、「移行されない情報」が引き継がれていないことが確認できます。
WebPayにおけるカード情報Object customer.active_card
はhashなのに対し、PAY.JPでは customer.cards
というarrayになっていることにご注意ください。PAY.JPでは1つのCustomerに対して複数のカード情報を紐付けることができるので、 customer.cards
というarrayとなっています。
移行の流れ
移行の流れについて、具体的には下記の流れにて停止期間なく、移行を進めることが可能です。下記手順はPAY.JPへの移行を前提としたものです。
- WebPayとPAY.JPの双方に決定の連絡をしてください
- 事業者側で接続するシステムの実装を行って稼働させてください
a. PAY.JPで新規登録、メール認証、および本番申請を済ませておいてください
- 新規の取引については、WebPayではなく、PAY.JPで決済を実行するように設定を行い、WebPayに新たにカード情報が増えない状態を作ってください
a. WebPayの既存の顧客情報による取引は、WebPayのシステムで実行するよう設定してください
- WebPay側で新規のカード情報追加が行われなくなったことを確認してから、カード情報のデータ移管をWebPayとPAY.JPの両方へ依頼してください
a. データ移管の受付期限は3/31 23:59までです
- WebPayからPAY.JPにPCI DSSに準拠した形でカード情報のデータ移管を実施します
a. データ移管の最終実施日は4/30です
- PAY.JPでデータ取込手続きを実施した上で、事業者側にデータ移管完了の連絡が来て、すべての手続が完了します
a. PAY.JPのデータ取込は、手順5完了より2営業日以内を目安に実施いたします
データ移行のタイミングやその他細かい調整については、個別にやり取りしてサポートさせていただければと思います。
まずはWebPay、またはPAY.JPへ移行希望の旨をご連絡ください。
WebPay ご連絡先: support@webpay.jp
PAY.JP ご連絡先: support@pay.jp または お問い合わせフォーム
WebPayのRecursions Objectを利用されている事業者の方は、上記カード情報に加え、定期課金の移行が必要になるかと思います。
定期課金については、WebPay・PAY.JP間の移行対象ではないので、事業者のシステム側で移行作業が発生いたします。
具体的な移行方法については、利用されているユースケースや決済規模によって、一概とはいえないため、個別サポートとさせていただきます。
WebPayとPAY.JPの定期課金対応表
WebPayとPAY.JPの定期課金の対応表を下記にまとめました。新規実装については、下記情報と両サービスのドキュメントを参考にしていただければと思います。
|
WebPay |
PAY.JP |
関連Object |
Recursions |
Plan Subscription |
周期 |
月/年次 |
月次のみ |
初回課金のスケジューリング |
recursion.first_scheduled に指定 |
subscription.trial_end に指定 |
月末課金日の挙動 |
前月の課金日に準ずる e.g. 31日が課金日: 1/31 -> 2/28 -> 3/28 |
任意課金日( plan.billing_day )に準ずる e.g. 31日が課金日: 1/31 -> 2/28 -> 3/31 |
Webhookの対応 |
有り |
有り |
定期課金 | WebPay: 開発者向けクレジットカード決済サービス
Webhook | WebPay: 開発者向けクレジットカード決済サービス
定期課金 - PAY.JP
Webhook - PAY.JP
審査について
WebPayをすでにご利用の方もPAY.JPのご利用には基本的に審査が必要となります。
審査は本番申請を受付後、下記の流れで行われます。
- 提携先カード会社によるVisa, MasterCard用の審査(最短2営業日程度)
- Visa, MasterCard用の審査結果のご連絡
- 「追加情報」の本番申請が済んでいる場合、JCB, American Express, Diners Club, Discoverの審査へ
- JCB, American Express, Diners Club, Discover用の審査(Visa, MasterCard用の審査可決後 15営業日程度)
- JCB, American Express, Diners Club, Discoverの各審査結果のご連絡
- 審査結果に基づきJCB, American Express, Diners Club, Discover用の各本番機能の提供
Visa・MasterCardに限り、審査が不要な場合がございますが、確認まで2営業日ほどのお時間をいただきます。
審査を進めていくにあたって、サービスの内容などについて追加情報や情報の修正を求める場合があります。また、カード会社の都合により、目安となるスケジュールから多少前後する可能性があります。
事業者のみなさまには大変ご迷惑をおかけいたしますが、よろしくお願いいたします。
PAY.JP 新規登録
PAY.JP 本番申請
移行に関する説明会・個別相談会
PAY.JPでは少しでも事業者のみなさまが負担なく、スムーズに移行ができるよう、11月18日(金)19:30~より「PAY.JPのサービス、ならびにWebPayからPAY.JPへの移行に関する説明会」を実施いたします。
このブログで紹介した内容に加え、WebPayとPAY.JPのAPIにおける細かい違いや注意点に関する説明を行う予定です。懇親会も予定しており、困っていることや疑問点をPAY.JPのメンバーに直接聞いていただくお時間も用意しております。
また説明会とは別で、オンライン通話などを用いて移行に関する「個別相談会」を継続的に実施していきたいと考えております。
1回20分程度のお時間で、appear.inやSkypeを利用したオンライン個別相談会を想定しておりますが、ご希望が御座いましたら対面での相談も可能でございます。
説明会、または個別相談会への参加をご希望の方は、下記申し込みフォームよりそれぞれお申込みください。
PAY.JP 説明会 申し込みフォーム
PAY.JP 個別相談会 申し込みフォーム
その他移行に関してご不明点などございましたら、メール、Facebookメッセージ、またはお問い合わせフォームよりPAY.JPへご連絡ください。
[参考情報]
PAY.JP API リファレンス
PAY.JP API 利用ガイド - PAY.JP