Paygentで3Dセキュアを使用する
概要
Paygentと連携した決済で3Dセキュアを利用する方法を説明します。
Paygent側の設定
3Dセキュア(EMV 3Dセキュア)に申し込む
まずは、3Dセキュア(EMV 3Dセキュア)に申し込んでください。 ※3Dセキュア1.0には未対応です
「3Dセキュア結果受付ハッシュ鍵」を発行する
つぎに、申し込み設定完了メールに記との手順に従って「3Dセキュア結果受付ハッシュ鍵」を発行します。
▼リンクタイプでEMV 3Dセキュア(3Dセキュア 2.0)をご利用の場合 システムタイプをリンクまたはリンク+モジュールでご利用頂いている加盟店様が EMV 3Dセキュア(3Dセキュア 2.0)をご利用される場合、 ペイジェントオンラインから『3Dセキュア結果受付ハッシュ鍵』の生成が必要となります。 (※ハッシュ鍵の生成がされていないと決済エラーが発生します。)
3Dセキュア結果受付ハッシュ鍵の生成の方法については、下記となります。
- ペイジェントオンラインに管理ユーザにてログイン
- メンテナンス>システム管理情報
- 3Dセキュア結果受付ハッシュ鍵 「鍵を作る」をクリック
- 3Dセキュア結果受付ハッシュ鍵が表示されます。
※詳細はペイジェントオンラインマニュアル(P.218)5-c.3Dセキュア結果受付ハッシュ鍵をご確認ください。
発行はPaygentオンラインから行えます。 詳しくは加盟店サポートサイトをご確認ください。
Kuroco側の設定
3Dセキュアの設定をする
ECの店舗情報設定に「3Dセキュア結果受付ハッシュ鍵」を設定します。
支払い方法設定からクレジットカード決済のオプションで3Dセキュアを利用するに設定します。
APIにリクエストを送る
SKU等を作成し、ECOrder::purchase
のエンドポイントに以下のリクエストします。
JSON
{
"product_id": 41201,
"quantity": 1,
"ec_payment_id": 58,
"card_token": "tok_CY9YQzCwS8Efm1ngz6jM7cKr4a",
"card_options": {
"card_3dsec_return_url": "/order/3dsec/"
}
}
Curl
curl -X 'POST' \
'https://shibazaki-kuroco-dev.g.kuroco.app/rcms-api/1/ec/ordre' \
-H 'accept: */*' \
-H 'X-RCMS-API-ACCESS-TOKEN: d97aaaad1c068d596bd8d3dd37a75343d5d135827c89a434ac5b9c704a9305ab' \
-H 'Content-Type: application/json' \
-d '{
"product_id": 41201,
"quantity": 1,
"ec_payment_id": 58,
"card_token": "tok_CY9YQzCwS8Efm1ngz6jM7cKr4a",
"card_options": {
"card_3dsec_return_url": "/order/3dsec/"
}
}'
card_3dsec_return_url には3Dセキュア認証後にリダイレクトさせたいフロントのURLを指定してください
レスポンス例
{
"errors": [],
"messages": [
"注文が完了しました。"
],
"ids": [
1
],
"ext_data": {
"credit_card_3dsec_resp": {
"out_acs_html": "<form name=\"submitForm\" action=\"https://・・・
}
}
}
システム上、注文が分かれるような下記の組み合わせでの購入を行うとエラーとなります 個別に購入するようなフロント実装で対応をお願いします
- 通常商品とDL商品
- 発売済み商品と予約商品
- クーポン利用とクーポン利用ではない購入
{
"errors": [
{
"code": "unprocessable_entity",
"message": "3Dセキュアを利用している場合は配送・DLを1つにまとめる必要があります、予約商品や配送・DL商品が混ざっている場合は個別に注文してください。"
}
],
"x-rcms-request-id": "a32b81da-a923-410b-af1e-f1853343aca8"
}
レスポンスのout_acs_html
で、必要なHTMLが得られますので、こちらをフロント側で表示させてください。
こちらはフロント側の処理で自動でsubmitさせるようにしても問題ありません
Paygentの仕様変更によりHTMLが変わる可能性があります。
その場合はKuroco側の対応も必要になる可能性があります。
ステータスの確認をする
このタイミングでは、Kuroco側の注文情報は便宜上決済失敗として扱っております管理画面から確認する際には「決済失敗を除く」のチェックを外して検索して下ださい。
「OK」を押して3Cセキュア認証画面で行う認証が問題無ければ注文情報は決済完了ステータスになります。
また、Paygentの管理画面からも認証状態が確認できます。
売上処理を行う
商品の発送などと同時に「売上/配送」画面から売り上げ処理を行います。
配送を伴わない商品はこちらから売上処理を行わないパターンもあります。
3Dセキュアの処理とは関係なくECサービスの共通処理なので詳細は割愛します。
Paygentの管理画面から「消込済」になっていることを確認します。
エラー時の対応
- 3Dセキュア承認エラー、承認画面でのタイムアウト
- 注文情報、もしくはPaygent管理画面からエラー内容が確認出来ます。
- フロントページの戻りURLに「dsec_error=1」のクエリパラメータを付与してリダイレクトします。
- 3Dセキュア認証が通った後にクレジットカードのオーソリに失敗した場合は管理者宛にメール送信するようにしています。(フロント実装によっては個別に対応をお願いします)
関連ドキュメント
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。