NAV
POP API(v1.8.1)

導入

概要

  1. 消費者様は購入操作を実施します。
  2. ECサイトはPOPのAPIにリクエストを送信しpayment_keyを取得します。
  3. POPはレスポンスでpayment_keyを返戻します。
  4. ECサイトはhtmlページを作成し、消費者様のブラウザへ返戻します。
  5. 消費者様は注文の詳細を確認し、支払ボタンをクリックします。ECサイトが作成したJavaScriptでpop.pay(payment_key, options)を呼び出します。消費者様は決済情報を入力し、確認ボタンをクリックします。POP JSは決済情報をPOPに送信します。
  6. POPは決済情報を元に処理を行い、決済結果を返戻します。このとき、POP JSは、ECサイトが作成したJavaScriptコールバックまたはリクエストパラメータで指定されたURLを呼び出します。
  7. POPは決済結果をECサイトに通知します。

payment flow

準備

VeriTransに登録を行い、MAP(Merchant Administration Portal)にログインするためのIDとパスワードを取得する必要があります。 アプリケーションの開発にあたって、VeriTransが発行するPOP_SERVER_KEYPOP_CLIENT_KEYをご利用いただく必要があります。これらはMAPのAPI設定から取得可能です。

バックエンド

ECサイトではPOPからpayment_keyを取得してください。 payment_keyを取得後、フロントエンドに進むことができます。

POPとの連携

ECサイトはPOPと通信し、概要のステップ #2 を実現します。 消費者様が購入操作を実施した際に、ECサイトでは決済に必要な情報をリクエストとしてPOPのAPI呼び出しを行ってください。 POPは、レスポンスpayment_keyを返戻します。 payment_keyフロントエンドで使用します。

エンドポイント

Payment Key

https://pay3.veritrans.co.jp/pop/v1/payment-key

リクエスト

ECサイトがPOPからpayment_keyを取得するためのリクエストパラメータについて説明します。

HTTPメソッド

POST

リクエストヘッダ

POP_SERVER_KEY = "Test-POP-Server-Key";

AUTH_STRING = Base64("Test-POP-Server-Key:");

AUTH_STRING = "VGVzdC1QT1AtU2VydmVyLUtleTo=";

次の2つのヘッダをHTTPリクエストに設定します。

POPはBASIC認証によりHTTPリクエストの検証を行います。ユーザ名にPOP_SERVER_KEYを、パスワードは空文字を設定してください。 API設定からPOP_SERVER_KEYをご確認いただけます。

Authorization ヘッダの値はAUTH_STRINGで記載しております。 AUTH_STRINGはユーザ名とパスワードをbase64でエンコードした文字列です。

AUTH_STRING = Base64(POP_SERVER_KEY + :)

リクエストパラメータ

必要最小限のパラメータを指定した場合は以下の通りです。

{
    "order_id" : "ORDER-0001",
    "gross_amount" : 10000
}

指定可能なパラメータを全て指定した場合は以下の通りです。

{
    "order_id" : "ORDER-0001",
    "gross_amount" : 10050,
    "shipping_amount" : 50,
    "dummy" : true,
    "capture" : true,
    "payment_key_expiry_duration" : 1440,
    "success_url" : "https://example.com/success",
    "failure_url" : "https://example.com/failure",
    "incomplete_url" : "https://example.com/incomplete",
    "push_url" : "https://example.com/push",
    "enabled_payment_types" : [
        "card",
        "cvs",
        "bank"
    ],
    "card" : {
        "mpi" : false,
        "paynow_account_id" : "TEST-ACCOUNT-101",
        "save_card" : "always",
        "skip_card_selection" : false
    },
    "cvs" : [
        {
            "payment_sub_type" : "sej",
            "payment_expiry_duration" : 60
        },
        {
            "payment_sub_type" : "econ",
            "payment_expiry_date" : "20200401"
        },
        {
            "payment_sub_type" : "other",
            "payment_expiry_date" : "20200401",
            "payment_expiry_hhmm" : "2359"
        }
    ],
    "bank" : {
        "payment_type" : [
            {
                "payment_sub_type" : "atm",
                "payment_expiry_duration" : 60
            }
        ],
        "contents" : "テスト請求",
        "contents_kana" : "テストセイキュウ"
    },
    "email" : {
        "customer_name" : "スミス ジョン",
        "customer_email_address" : "smith.john@example.com"
    },
    "items" : [
        {
            "id" : "ITEM-0001",
            "name" : "ITEM NAME *",
            "price" : 10000,
            "quantity" : 1
        }
    ],
    "custom_message" : {
        "show_items_additional_message" : true,
        "items_additional_message" : "[*] サンプルメッセージ"
    }
}

リクエストには、以下のパラメータが指定可能です。

パラメータ 説明
order_id
string(100) (required)
取引ID。取引毎に一意になるように指定してください。半角英数字と ‘-'(ハイフン)と ’_‘(アンダースコア)のみ指定可能です。他の文字は使用できません。
gross_amount
number(10) (required)
送料を含む合計金額。
必ず0より大きい値となるよう設定してください。
shipping_amount
number(8) (optional)
配送料。
dummy
boolean (optional)
ダミー取引を実施するために設定します。ダミーリクエストでは実際の決済処理が発生いたしません。VeriTransとの結合テスト用にご利用ください。
Values: true or false (Default: false)
success_url
string(256) (optional)
決済成功時のリダイレクトURL。指定されていない場合、MAPのPOP設定の「システム設定」タブにある「決済成功時URL」に設定の値を使用します。
failure_url
string(256) (optional)
決済失敗時のリダイレクトURL。指定されていない場合、MAPのPOP設定の「システム設定」タブにある「決済失敗時URL」に設定の値を使用します。
incomplete_url
string(256) (optional)
通信エラーや途中離脱によりPOPの画面遷移が未完了により決済結果不明時(決済ゲートウェイは、決済結果成立、決済結果失敗、決済未実施)のリダイレクトURL。指定されていない場合、MAPのPOP設定の「システム設定」タブにある「決済未完了時URL」に設定の値を使用します。
push_url
string(256) (optional)
PUSH通知送信用URL。指定されていない場合、MAPのPOP設定の「システム設定」タブにある「PUSH通知送信先URL」に設定の値を使用します。
enabled_payment_types
array (optional)
利用可能にする決済方法を配列で指定します。指定されていない場合、MAPのPOP設定の「システム設定」タブにある「有効な決済方法」に設定の値を使用します。
Values:
card - カード決済
cvs - コンビニ決済
bank - 銀行決済
capture
boolean (optional)
売上フラグ。与信取得と売上を同時に実行するかどうかを決定します。
Values: true or false (Default: true)
payment_key_expiry_duration
number(6) (optional)
payment_keyが生成されてから利用不可となるまでの有効期間を「分」で指定します。
Maximum value: 129600 (90日)
Default: 1440 (1日)
card
object (optional) カード決済用パラメータ
カード決済専用のパラメータです。
cvs
array (optional) コンビニ決済用パラメータ
コンビニ決済専用のパラメータです。
bank
array (optional) 銀行決済用パラメータ
銀行決済専用のパラメータです。
email
object (optional) 消費者様へのメール通知用パラメータ
消費者様の名前とメールアドレスを指定するためのパラメータです。
items
array (optional) 商品情報
注文情報に含まれる商品情報の配列です。指定されていない場合、注文情報画面と決済確認画面で商品情報が表示されません。
custom_message
object (optional) カスタムメッセージ
商品補足説明文の表示と内容を指定するためのパラメータです。

カード決済用パラメータ

{
    "card" : {
        "mpi" : false,
        "paynow_account_id" : "TEST-ACCOUNT-101",
        "save_card" : "always",
        "skip_card_selection" : false
    }
}
{
    "card" : {
        "mpi" : true,
        "3ds_version" : "2",
        "paynow_account_id" : "TEST-ACCOUNT-101",
        "save_card" : "always",
        "skip_card_selection" : false,
        "cardholderEmail" : "smith.john@example.com",
        "cardholderHomePhoneNumber" : "0312345678",
        "cardholderHomePhoneNumberCountry" : "81",
        "cardholderMobilePhoneNumber" : "08012345678",
        "cardholderMobilePhoneNumberCountry" : "81",
        "cardholderWorkPhoneNumber" : "08012345678",
        "cardholderWorkPhoneNumberCountry" : "81"
    }
}

以下はカード決済専用のパラメータです。

パラメータ 説明
mpi
boolean (optional)
注文に対して3Dセキュア(本人認証)を実行するかどうかを決定します。設定されていない場合、MAPのPOP設定の「システム設定」タブにある"本人認証"に設定の値を使用します。
Values: true or false
paynow_account_id
string(100) (optional)
消費者様毎に一意の会員ID。 該当する会員情報が存在しない場合は、カードが登録された場合に限り、指定されたIDで新規に会員情報を作成します。
※別途ワンクリック継続課金の契約が必要です。
save_card
string(20) (optional)
消費者様が未登録のカードで決済を行う際に、カード情報を登録するかどうかを、消費者様に選択させるかどうかを決定します。paynow_account_id を設定している場合のみ、このパラメータを設定できます。
Values:
always: 未登録のカードは常に登録されます。
optional: 消費者様は未登録のカード情報を登録するかどうかを選択できます。
Default: always
skip_card_selection
boolean (optional)
登録済みのカードを選択する画面をスキップして、初期選択カードで決済を行うようにするフラグです。paynow_account_id を設定している場合のみ、このパラメータを設定できます。
Values:
true: 登録済みのカード一覧は表示されず、初期選択カードが自動的に選択されます。
false: 登録済みのカード一覧が表示され、消費者様は登録済みのカード、または新しく別のカードを選択可能です。
Default: false
3ds_version
string(1) (optional)
mpiがtrueに指定されている場合、本人認証バージョンを設定することが可能です。
このパラメータが指定されていない場合、MAPのPOP設定の「システム設定」タブにある「本人認証バージョン」に設定の値を使用します。
Values: 1 or 2
cardholderEmail
string(254) (optional)
カード保有者メールアドレス。3Dセキュア(本人認証)の処理で使用されます。
3Dセキュア(本人認証)が有効の場合、指定が必要になります。mpiパラメータの説明もあわせてご確認ください。
cardholderHomePhoneNumber
string(15) (optional)
カード保有者自宅電話番号。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ハイフン使用不可)
3Dセキュア(本人認証)が有効の場合、指定が必要になります。mpiパラメータの説明もあわせてご確認ください。
cardholderHomePhoneNumberCountry
string(3) (optional)
カード保有者自宅電話番号の国コード。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ITU-T E.164 で規定された地域別国コードを指定)
Default:81(※日本の国コード)

電話番号を設定した場合は、必ず国コードが必要になります。
日本の番号はデフォルト値がセットされますので設定不要ですが、海外の番号をセットした場合は必ず正しい国コードを設定してください。
cardholderMobilePhoneNumber
string(15) (optional)
カード保有者携帯電話番号。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ハイフン使用不可)
3Dセキュア(本人認証)が有効の場合、指定が必要になります。mpiパラメータの説明もあわせてご確認ください。
cardholderMobilePhoneNumberCountry
string(3) (optional)
カード保有者携帯電話番号の国コード。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ITU-T E.164 で規定された地域別国コードを指定)
Default:81(※日本の国コード)

電話番号を設定した場合は、必ず国コードが必要になります。
日本の番号はデフォルト値がセットされますので設定不要ですが、海外の番号をセットした場合は必ず正しい国コードを設定してください。
cardholderWorkPhoneNumber
string(15) (optional)
カード保有者勤務先電話番号。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ハイフン使用不可)
3Dセキュア(本人認証)が有効の場合、指定が必要になります。mpiパラメータの説明もあわせてご確認ください。
cardholderWorkPhoneNumberCountry
string(3) (optional)
カード保有者勤務先電話番号の国コード。3Dセキュア(本人認証)の処理で使用されます。
このパラメータには半角数字のみ使用可能です。(ITU-T E.164 で規定された地域別国コードを指定)
Default:81(※日本の国コード)

電話番号を設定した場合は、必ず国コードが必要になります。
日本の番号はデフォルト値がセットされますので設定不要ですが、海外の番号をセットした場合は必ず正しい国コードを設定してください。

コンビニ決済用パラメータ

{
    "cvs" : [
        {
            "payment_sub_type" : "sej",
            "payment_expiry_duration" : 60
        },
        {
            "payment_sub_type" : "econ",
            "payment_expiry_date" : "20200401"
        },
        {
            "payment_sub_type" : "other",
            "payment_expiry_date" : "20200401",
            "payment_expiry_hhmm" : "2359"
        }
    ]
}

以下はコンビニ決済専用のパラメータです。

パラメータ 説明
payment_sub_type
string (required)
消費者様が決済する際に選択可能なコンビニ名やグループ名を設定します。 cvsパラメータが存在する場合は、少なくとも1つはpayment_sub_typeを設定する必要があります。cvsパラメータが存在しない場合は、MAPのPOP設定の「システム設定」タブにある「コンビニ決済情報」の「有効な決済サブタイプ」に設定の値を使用します。
Values:
sej - セブン-イレブン
lawson - ローソン・ミニストップ・セイコーマート
famima - ファミリーマート
econ - ローソン・ファミリーマート・ミニストップ・セイコーマート
other - デイリーヤマザキ・ヤマザキデイリーストア
payment_expiry_duration
number (optional)
payment_keyを取得してからお支払いが有効な期間を日数で設定します。このパラメータとpayment_expiry_dateが未指定の場合は、以下のデフォルト値が適用されます。
sej: 60 日
econ: 60日
lawson: 60日
famima: 60日
other: 60 日
payment_expiry_date
string(8) (optional)
お支払い有効期限。 (YYYYMMDD 形式)
payment_expiry_durationの最大値を超える期限を設定することはできません。
payment_expiry_hhmm
string(4) (optional)
お支払い有効期限時分。 (hhmm 形式)
payment_expiry_dateが設定されている場合のみ設定可能です。
Default:2359

銀行決済用パラメータ

{
    "bank" : {
        "payment_type" : [
            {
                "payment_sub_type" : "atm",
                "payment_expiry_duration" : 60
            }
        ],
        "contents" : "テスト請求",
        "contents_kana" : "テストセイキュウ"
    }
}

以下は銀行決済専用のパラメータです。

パラメータ 説明
payment_type
array (optional)
銀行決済情報の配列。
payment_type.payment_sub_type
string(3) (required)
消費者様が決済する際に選択可能な銀行決済の利用方式を設定します。payment_typeパラメータが存在しない場合は、MAPのPOP設定の「システム設定」タブにある「銀行情報」の「有効な決済サブタイプ」に設定の値を使用します。
Value:
atm - ATM決済(ペイジー)
payment_type.payment_expiry_duration
number(2) (optional)
payment_keyを取得してからお支払いが有効な期間を日数で設定します。
Maximum value: 60 (Default: 60)
payment_type.payment_expiry_date
string(8) (optional)
お支払い有効期限。 (YYYYMMDD 形式)
payment_expiry_durationの最大値を超える期限を設定することはできません。
contents
string(12) (required)
インフォメーションとしてATM等に表示する請求内容。
contents_kana
string(24) (required)
インフォメーションとしてATM等に表示する請求内容(カナ)。
このパラメータには全角カナ文字が使用可能です。

消費者様へのメール通知用パラメータ

{
    "email" : {
        "customer_name" : "スミス ジョン",
        "customer_email_address" : "smith.john@example.com"
    }
}

以下は消費者様へのメール通知専用のパラメータです。

パラメータ 説明
customer_name
string(256) (optional)
メール通知の際に表示される消費者様の名前を設定します。このパラメータには全角/半角文字が使用可能です。
customer_email_address
string(256) (optional)
消費者様へのメール通知を送信する宛先のメールアドレスを設定します。

商品情報

{
    "items" : [
        {
            "id" : "ITEM-0001",
            "name" : "ITEM 1 NAME",
            "price" : 10000,
            "quantity" : 1
        },
        {
            "id" : "ITEM-0002",
            "name" : "ITEM 2 NAME",
            "price" : 10000,
            "quantity" : 2
        }
    ]
}

以下のパラメータで複数の商品項目を追加できます。quantitypriceパラメータはgross_amountの値を計算するために使用されます。

パラメータ 説明
id
string(20) (required)
注文内で一意となる商品ID。
name
string(200) (required)
商品名。
このパラメータには全角/半角文字が使用可能です。
price
number(8) (required)
商品金額。
quantity
number(9) (required)
商品個数。
必ず0より大きい値となるよう設定してください。

カスタムメッセージ

{
    "custom_message" : {
        "show_items_additional_message" : true,
        "items_additional_message" : "[*] サンプルメッセージ"
    }
}

以下はカスタムメッセージ専用のパラメータです。

パラメータ 説明
show_items_additional_message
boolean (optional)
商品補足説明をPOPクライアント上と決済結果の通知メールに表示させるかどうかを決定します。設定されていない場合、MAPのPOP設定の「システム設定」タブにある"商品補足説明表示"に設定の値を使用します。
Values: true or false
items_additional_message
string(200) (optional)
商品補足説明。itemsが設定されていない場合、POPクライアント上と決済結果の通知メールに表示されません。設定されていない場合、MAPのPOP設定の「システム設定」タブにある"商品補足説明"に設定の値を使用します。
このパラメータには全角/半角文字が使用可能です。

レスポンス

レスポンスパラメータ

payment_key取得成功時のレスポンス

{
    "payment_key" : "28GTzdVOZNeImaHMDeQF1319",
    "result_code" : "R000",
    "status" : "success",
    "message" : "\"Payment Key\" has been generated successfully",
    "payment_key_expiry_time" : "20200401000000"
}

payment_key取得失敗時のレスポンス

{
    "result_code" : "RC01",
    "status" : "failure",
    "message" : "Invalid \"Order ID\""
}

POPは、ECサイトからリクエストを受信した場合、以下のパラメータをレスポンスとして返戻します。

パラメータ 説明
payment_key
string(24) (optional)
決済リクエストに対してPOPが生成した一意のpayment_key
エラー発生時は返戻されません。
result_code
string(4) (required)
成功または失敗の具体的な理由を示す4文字の結果コード
status
string(7) (required)
処理のステータス。
Values: success or failure
message
string(256) (required)
処理結果の詳細を表すメッセージ。
payment_key_expiry_time
string(14) (optional)
payment_keyの有効期限。(YYYYMMDDhhmmss 形式)
エラー発生時は返戻されません。

HTTPステータスコード

POPはレスポンスで以下のHTTPステータスコードを返戻します。

ステータスコード 説明
201 Created リクエストは成功しました。
400 Bad Request リクエストパラメータのバリデーションに失敗しました。詳細についてはレスポンスパラメータresult_codemessageを参照してください。
401 Unauthorized マーチャント認証に失敗しました。
500 Internal Server Error POPで原因不明のエラーが発生しました。

フロントエンド

フロントエンドでは、ECサイト上にPOPのページを表示させる必要があります。 POPクライアントを消費者様のブラウザにロードさせることで、POPと通信を行います。 POPクライアント単体で、一連の決済処理を行うことが可能です。

POPクライアント導入手順

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
            content="width=device-width, initial-scale=1.0">
        <script type="text/javascript"
            src="<pop.js URL>"
            data-client-key="<POP_CLIENT_KEY>">
        </script>
    </head>
    <body>
        <input type="button"
            id="pay-button"
            class="btn"
            value="Pay">
        <script type="text/javascript">
            var options = {};
            var payButton = document.getElementById('pay-button');
            payButton.addEventListener('click', function() {
                pop.pay("<payment-key>", options);
            });
        </script>
    </body>
</html>

POPクライアントは、バックエンドにて、POPから payment_keyを取得後に開始されます。

  1. POPから payment_keyを取得後、ブラウザに返戻するページにpop.jsをインクルードします。
  2. MAP(Merchant Administration Portal)から取得したPOP_CLIENT_KEYを、pop.js scriptタグの data-client-key属性の値に設定します。
  3. pop.pay関数をpayment_keyを引数に渡して呼び出すことで、決済処理が開始されます。

POP JS

POP JSは、payaccountManagementshowhideの4つの関数を公開しています。

pop.js URL

https://pay3.veritrans.co.jp/pop/v1/javascripts/pop.js

pay(paymentKey, options)

POPクライアントの決済画面を表示するための関数です。

パラメータ:

名前 説明
paymentKey
string (required)
バックエンドでPOPから取得したpayment_keyです。
options.onSuccess
function (optional)
決済成功時コールバック関数。リクエストで設定されたsuccess_urlをオーバーライドします。
options.onFailure
function (optional)
決済失敗時コールバック関数。リクエストで設定されたfailure_urlをオーバーライドします。
options.onIncomplete
function (optional)
決済未完了時コールバック関数。リクエストに設定された incomplete_urlをオーバーライドします。
options.skipOrderSummary
boolean (optional)
「true」の場合は、注文情報画面は表示されません。
Values: true or false(Default: false
options.autoReturn
boolean (optional)
POPクライアントの決済完了画面を自動的に閉じるかどうかを決定します。
true: autoReturnDelayで指定された秒数が経過すると、決済完了画面を自動的に閉じます。
false: 決済完了画面は自動的に閉じられません。
Values: true or false
(Default: false
options.autoReturnDelay
number (optional)
決済完了画面が自動的に閉じるまでの時間(秒単位)。autoReturn = trueの場合にのみ適用されます。
(Default: 0、すなわち決済完了画面がすぐに終了します)
options.language
string (optional)
POPクライアントでの表示言語。対応している値は enjazhです。
(Default: ja

onSuccess, onFailure および onIncompleteでは、決済結果として、引数で一つのパラメータを受け取ることができます。

accountManagement(account_mgmt_key, options)

POPクライアントの会員管理画面を表示するための関数です。

名前 説明
account_mgmt_key
string (required)
会員管理機能 - バックエンドによって、POPから受け取ったaccount_mgmt_keyです。
options.language
string (optional)
POPクライアントでの表示言語。対応している値は enjazhです。
(Default: ja

show()

AJAXにより payment_keyを取得している間、ロード中であることを表示するためのヘルパー関数です。

AJAX成功後、決済処理を続行するためにpop.pay()を呼び出します。AJAXが失敗した場合には、ロード中の表示を終了するためにpop.hide()を呼び出します。

hide()

POPクライアントのロード中の表示を非表示にします。 AJAXでpayment_keyを取得中、pop.show()がロード中の画面を表示した際に使用する、pop.show()の補完的な関数です。

function ajaxGetPaymentKey(transactionData, callback){
    var paymentKey;

    // ECサイトにPayment Keyを取得するためのリクエストを送信し、結果をpaymentKey変数に保存する

    if(paymentKey){ // Payment Keyの取得に成功
        callback(null, paymentKey);
    } else { // エラーメッセージを表示
        callback(new Error('Failed to fetch Payment Key'), null);
    }
}

// ECサイトのお支払いボタンのclickイベントで呼び出されるコード
payButton.onclick(function(){
    pop.show();
    ajaxGetPaymentKey(transactionData, function(error, paymentKey){
        if(error){
            pop.hide();
        } else {
            pop.pay(paymentKey);
        }
    });
});

payment ajax flow

JSコールバック

    pop.pay(payment_key, {
            onSuccess: function(result){console.log('success');console.log(result);},
            onFailure: function(result){console.log('failure');console.log(result);},
            onIncomplete: function(result){console.log('incomplete');console.log(result);}
    })

pop.jspop.pay() 関数では、決済結果通知statusにそれぞれ対応したコールバック関数を指定することができます。 これらのコールバック関数はリクエストで指定したリダイレクトURLよりも優先されます。

コールバック関数に渡されるresultオブジェクトは、決済結果通知に記載されている値と同じです。

決済結果

POPが決済結果をECサイトにどのように提供するかについて説明します。

  1. ECサイトが指定したURLへのリダイレクト
  2. MAP(Merchant Administration Portal)での確認

transaction status

リダイレクトによる決済結果通知

POPクライアントでの処理が終了した後、以下のパラメータがECサイトが指定したURLに送信されます。(リクエスト セクションに記載されている、success_url または failure_url がこれに該当します)
これらのパラメータは、name1=value1&name2=value2 という形式で、ECサイトが指定したURLにPOSTされます。

各決済共通で返戻されるパラメータと、決済毎に異なるパラメータが存在します。

パラメータの改ざんチェック方法につきましては、結果通知受信処理のセクションをご覧ください。

共通パラメータ

パラメータ 説明
merchant_id
string(22) (required)
マーチャントID。
order_id
string(100) (required)
取引ID。
status
string(10) (required)
決済結果。
Values: success or failure
result_code
string(4) (required)
成功または失敗の具体的な理由を示す4文字の結果コード
m_status
string(10) (optional)
決済ゲートウェイの決済結果。
決済ゲートウェイへのリクエスト送信前にエラーが発生した場合、返戻されません。
Values: success, failure or pending
v_result_code
string(16) (optional)
決済ゲートウェイの結果コード。
決済ゲートウェイへのリクエスト送信前にエラーが発生した場合、返戻されません。
決済ゲートウェイが返戻する結果コードの詳細につきましては、こちらから「結果コード一覧」を参照してください。
payment_type
string(15) (optional)
消費者様が選択した決済種別。
Values: card, mpi, cvs or bank
transaction_datetime
string(14) (optional)
取引日時。(YYYYMMDDhhmmss 形式)
dummy
boolean (required)
ダミー取引かどうかを示す値。
Values: true or false
signature
string(128) (required)
改ざんチェック用の署名。詳しくは結果通知受信処理をご覧ください。

カード決済パラメータ

カード決済時に共通パラメータと合わせて返戻されるパラメータです。

パラメータ 説明
acquirer_code
string(2) (optional)
仕向け先コード。
auth_code
string(7) (optional)
応答承認番号。
masked_card_number
string(20) (optional)
取引で使用された、マスクされたカード番号。カード番号は 000000*00 という形式で返戻されます(上6桁下2桁のみ数字表示され、その他は ‘*'(アスタリスク)に変換されます)。

コンビニ決済パラメータ

コンビニ決済時に共通パラメータと合わせて返戻されるパラメータです。

パラメータ 説明
result_type
string (optional)
結果通知の種別を表す値。
Value:
applied - 決済申込時の結果通知の際に設定される値。
payment_sub_type
string(5) (optional)
消費者様が選択したコンビニ。
Values:
sej - セブン-イレブン
lawson - ローソン・ミニストップ・セイコーマート
famima - ファミリーマート
econ - ローソン・ファミリーマート・ミニストップ・セイコーマート
other - デイリーヤマザキ・ヤマザキデイリーストア
receipt_number
string(32) (optional)
コンビニから返戻される受付番号。消費者様がお支払いをする際に必要となります。
haraikomi_url
string(256) (optional)
払込票を表示するためのURL。消費者様は払込票を使用してお支払いを行うことも可能です(payment_sub_typesejまたはotherの場合のみ)。

銀行決済パラメータ

銀行決済時に共通パラメータと合わせて返戻されるパラメータです。

パラメータ 説明
result_type
string (optional)
結果通知の種別を表す値。
Value:
applied - 決済申込時の結果通知の際に設定される値。
payment_sub_type
string(5) (optional)
消費者様が選択した銀行決済の利用方式。
Value:
atm - ATM決済(ペイジー)
agency_code
string(8) (optional)
収納機関番号。消費者様がお支払いをする際に必要となります。
customer_no
string(20) (optional)
お客様番号。消費者様がお支払いをする際に必要となります。
confirm_no
string(6) (optional)
確認番号。消費者様がお支払いをする際に必要となります。

会員ID決済パラメータ

会員情報が取引で使用された際は、追加のパラメータが返戻されます。

パラメータ 説明
paynow_account_id
string(100) (optional)
POPにリクエストされた会員IDが返戻されます。
paynow_status
string(10) (optional)
決済時の会員ID決済機能の処理結果。
Values: success or failure

MAP(Merchant Administration Portal)

取引の状態については、MAP(Merchant Administration Portal)の「取引検索」メニューで検索を実施することで確認できます。

transaction status map

通知

POPは、ECサイトに以下の通知を非同期で実施します。

  1. PUSH通知
  2. メール通知

PUSH通知

POPは、リクエストで指定されたpush_urlにPUSH通知を送信することで、ECサイトに決済の結果を通知します。

パラメータはJSON形式で、ECサイトがリクエストで指定したpush_urlにPOSTされます。

push_urlで受信したパラメータの改ざんチェック方法につきましては、結果通知受信処理のセクションをご覧ください。

PUSH通知パラメータは、リダイレクトによる決済結果通知パラメータとおよそ共通しており、各決済共通で返戻されるパラメータと、決済毎に異なるパラメータが存在します。

共通パラメータ

リダイレクトによる決済結果通知の共通パラメータを参照してください。

カード決済パラメータ

リダイレクトによる決済結果通知のカード決済パラメータを参照してください。

カード決済パラメータ - 不正検知

不正検知機能の詳細につきましては、VeriTransまでお問い合わせください。

カード決済パラメータ - 会員ID決済

会員IDでの決済が行われた際に追加されるパラメータは、リダイレクトによる決済結果通知の会員ID決済パラメータを参照してください。
また、カード情報が登録・使用された場合、以下のパラメータが追加で返戻されます。

パラメータ 説明
card_id
string(100) (optional)
会員IDに紐づくカード情報のカードID。
MAPのPOP設定の「システム設定」タブにある「カード決済情報」の「PUSH通知付加情報」の「カードID」の設定が有効の場合のみ返戻されます。

コンビニ決済パラメータ

コンビニ決済では申込と入金のそれぞれに対し、ECサイトへの決済結果通知が行われます。

1. 決済申込完了通知: 決済申込が完了し、消費者様がお支払いに必要な情報を受け取ったことを通知します。
2. 入金完了通知: 消費者様のお支払いが完了したことを通知します。

決済申込完了通知

パラメータ 説明
result_type
string (required)
結果通知の種別を表す値。
Value:
applied - 決済申込時の結果通知の際に設定される値。
payment_sub_type
string(5) (required)
消費者様が選択したコンビニ。
Values:
sej - セブン-イレブン
lawson - ローソン・ミニストップ・セイコーマート
famima - ファミリーマート
econ - ローソン・ファミリーマート・ミニストップ・セイコーマート
other - デイリーヤマザキ・ヤマザキデイリーストア
receipt_number
string(32) (optional)
コンビニから返戻される受付番号。消費者様がお支払いをする際に必要となります。
haraikomi_url
string(256) (optional)
払込票を表示するためのURL。消費者様は払込票を使用してお支払いを行うことも可能です(payment_sub_typesejまたはotherの場合のみ)。
first_name
string(20) (optional)
消費者様がPOPクライアント上で入力した名。MAPのPOP設定の「システム設定」タブにある「コンビニ決済情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。
last_name
string(20) (optional)
消費者様がPOPクライアント上で入力した姓。MAPのPOP設定の「システム設定」タブにある「コンビニ決済情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。
telephoneno
string(11) (optional)
消費者様がPOPクライアント上で入力した電話番号。MAPのPOP設定の「システム設定」タブにある「コンビニ決済情報」の「PUSH通知付加情報」の「電話番号」の設定が有効の場合のみ返戻されます。


入金完了通知

パラメータ 説明
result_type
string (required)
結果通知の種別を表す値。
Values
paid - 消費者様の入金が完了した際に設定される値。
payment_sub_type
string(5) (required)
消費者様が選択したコンビニ。
Values:
sej - セブン-イレブン
lawson - ローソン・ミニストップ・セイコーマート
famima - ファミリーマート
econ - ローソン・ファミリーマート・ミニストップ・セイコーマート
other - デイリーヤマザキ・ヤマザキデイリーストア
receipt_number
string(32) (required)
消費者様がお支払いの際に使用した受付番号。
cvs_type
string(10) (required)
消費者様が実際にお支払いを行ったコンビニ店舗。
Values:
sej - セブン-イレブン
econ-lw - ローソン
econ-fm - ファミリーマート
econ-mini - ミニストップ
econ-other - セイコーマート
other - その他(デイリーヤマザキ)
received_amount
string(6) (required)
消費者様がお支払いした金額。

銀行決済

銀行決済では申込と入金のそれぞれに対し、ECサイトへの決済結果通知が行われます。

1. 決済申込完了通知: 決済申込が完了し、消費者様がお支払いに必要な情報を受け取ったことを通知します。
2. 入金完了通知: 消費者様のお支払いが完了したことを通知します。

決済申込完了通知

パラメータ 説明
result_type
string (required)
結果通知の種別を表す値。
Value:
applied - 決済申込時の結果通知の際に設定される値。
payment_sub_type
string(5) (required)
消費者様が選択した銀行決済の利用方式。
Value:
atm - ATM決済(ペイジー)
agency_code
string(8) (optional)
収納機関番号。消費者様がお支払いをする際に必要となります。
customer_no
string(20) (optional)
お客様番号。消費者様がお支払いをする際に必要となります。
confirm_no
string(6) (optional)
確認番号。消費者様がお支払いをする際に必要となります。
first_name
string(20) (optional)
消費者様がPOPクライアント上で入力した名。MAPのPOP設定の「システム設定」タブにある「銀行情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。
last_name
string(20) (optional)
消費者様がPOPクライアント上で入力した姓。MAPのPOP設定の「システム設定」タブにある「銀行情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。
first_name_kana
string(20) (optional)
消費者様がPOPクライアント上で入力した名(カナ)。MAPのPOP設定の「システム設定」タブにある「銀行情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。
last_name_kana
string(20) (optional)
消費者様がPOPクライアント上で入力した姓(カナ)。MAPのPOP設定の「システム設定」タブにある「銀行情報」の「PUSH通知付加情報」の「氏名」の設定が有効の場合のみ返戻されます。


入金完了通知

パラメータ 説明
result_type
string (required)
結果通知の種別を表す値。
Value:
paid - 消費者様の入金が完了した際に設定される値。
payment_sub_type
string(5) (required)
消費者様が選択した銀行決済の利用方式。
Value:
atm - ATM決済(ペイジー)
transaction_datetime
string(14) (required)
入金日時。(YYYYMMDDhhmm 形式)
received_amount
string(10) (required)
入金金額。
agency_code
string(8) (required)
収納機関コード。
customer_no
string(20) (required)
お客様番号。
confirm_no
string(6) (required)
確認番号。
company_code
string(5) (required)
収納企業コード。

メール通知

マーチャント様と消費者様への決済結果のメール通知について説明します。

マーチャント様へのメール通知

マーチャント様へのメール通知機能が有効になっており、マーチャント様のメールアドレスが登録されている場合、POPは決済毎に以下のタイミングでメールを送信します。

カード決済 - 決済の結果が成功または失敗の時、POPは1回メールを送信します。
コンビニ決済、銀行決済 - POPは最大2回メールを送信します。
1. 決済申込の結果が成功または失敗の時。
2. 消費者様のお支払いが完了した時。

消費者様へのメール通知

消費者様へのメール通知機能が有効になっており、リクエストcustomer_email_addressが設定されている場合、POPは決済毎に以下のタイミングでメールを送信します。

カード決済 - 決済の結果が成功の時、POPは1回メールを送信します。
コンビニ決済、銀行決済 - POPは最大2回メールを送信します。
1. 決済申込の結果が成功の時。
2. 消費者様のお支払いが完了した時。

消費者様へのメールのfromには、MAPのPOP設定の「システム設定」タブに登録された送信元メールアドレスが設定されますが、メールは弊社ドメイン(veritrans.co.jp)から送信されます。送信元ドメインと送信元メールアドレスのドメインが異なっていると、メール受信先がなりすましメール対策を行っている場合、受信が拒否される可能性があります。

受信を拒否されないようにするため、以下の対策を行ってください。

送信元メールアドレスに指定したドメインのDNSにSPFレコードを追加し、SPFレコードに、ベリトランスのメールサーバーの情報「cvs.veritrans.co.jp」を登録します。
本対策に関しましては、ドメインのネットワーク管理者にご相談ください。

結果通知受信処理

// Step 1 - 全パラメータとその値を取得してください。

// Step 2 - signatureパラメータを除いた全てのパラメータをアルファベット順にソートしてください。

// Step 3 - パラメータを name=value の形式にし、`POP_SERVER_KEY`を後ろに付加した文字列を生成してください。
// booleanのパラメータは"true"または"false"の文字列をvalueとして使用してください。
inputString = ( name1=value1&name2=value2&...&nameN=valueN )
              + ":" + POP_SERVER_KEY;

// Step 4 - SHA512ハッシュ関数により署名を生成してください。
signature = SHA512( inputString );

// Step 5 - 結果通知で受信したsignatureパラメータと、他のパラメータから生成した署名の値を比較してください。

POPは、リダイレクトによる決済結果通知PUSH通知の両方で、パラメータにsignatureを追加します。 signature は通知に含まれるパラメータ名とその値により生成されます。

ECサイトで同様のロジックにより署名を生成し、POPから受け取ったsignatureと比較してください。両方の署名が一致している場合にのみ、ECサイトで後続処理を行ってください。

リンク生成機能

POPは通常のPOPクライアントに加え、決済画面のリンクURL生成機能も提供しています。 ECサイトは取得したURLを電子メールやSMSのメッセージ機能等を使って消費者様に送信し、POPが生成した決済画面に誘導することが可能です。その決済画面からPOPクライアントが表示されます。リダイレクト機能やPOP JSのオプションは使用できません。本機能はMAP(Merchant Administration Portal)からもご利用いただけます。

Payment Link

https://pay3.veritrans.co.jp/pop/v1/link-pay


POST

リクエストに設定するヘッダの詳細はリクエストヘッダを参照してください。

以下のパラメータを除いて、バックエンドリクエストパラメータのすべてのパラメータを設定できます。

POPは有効なリクエストに対して、バックエンドレスポンスパラメータに加えて、以下の表のパラメータをレスポンスとして返戻します。 リクエストに失敗した際にPOPから返戻される結果コードについては、結果コードを参照してください。

成功時のレスポンス

{
    "payment_key" : "28GTzdVOZNeImaHMDeQF1319",
    "result_code" : "R000",
    "status" : "success",
    "message" : "\"Payment Key\" has been generated successfully",
    "payment_key_expiry_time" : "20200401000000",
    "pay_link_url" : "https://pay3.veritrans.co.jp/pop/v1/payment-link?payment_key=28GTzdVOZNeImaHMDeQF1319&client_key=client101"
}

失敗時のレスポンス

{
    "result_code" : "RC01",
    "status" : "failure",
    "message" : "Invalid \"Order ID\""
}
パラメータ 説明
pay_link_url
string(256) (optional)
POPが生成した決済画面のリンクURL。
エラー発生時は返戻されません。

POPから返戻されるHTTPステータスコードについては、HTTPステータスコードを参照してください。

会員管理機能

会員管理機能のご利用により、ECサイトの会員(消費者様)が利用するカード情報をVeriTransに登録し、次回の購入時には登録済みのカード情報で決済させることが可能になります。カード情報の登録・更新・削除の画面は、POPが消費者様に提供しますので、ECサイトでは会員が利用するカード情報を意識する必要はございません。 この機能は、POPの決済処理と同じ要領で実装できます。詳しくは、概要, バックエンドおよびフロントエンドを参照してください。
※別途ワンクリック継続課金の契約が必要です。

開発手順

  1. 消費者様は、カード情報の管理画面を開くための操作を行います。
  2. ECサイトはPOPのAPIにリクエストし、account_mgmt_keyを取得します。
  3. POPはレスポンスでaccount_mgmt_keyを返戻します。
  4. ECサイトはhtmlページを作成し、消費者様のブラウザへ返戻します。
  5. htmlファイルはpop.accountManagement(<account_mgmt_key>, options)を呼び出します。これにより、消費者様はブラウザに表示された画面から、カード情報の登録・更新・削除を行うことが可能です。

バックエンド

ECサイトはPOPにリクエストを送信して、account_mgmt_keyを取得します。POPより返戻されたaccount_mgmt_key会員管理機能 - フロントエンドで使用します。

エンドポイント

Account Management Key

https://pay3.veritrans.co.jp/pop/v1/paynow-acctmgmt-key

リクエスト

HTTPメソッド

POST

リクエストヘッダ

リクエストに設定するヘッダの詳細はリクエストヘッダを参照してください。

リクエストパラメータ

{
    "paynow_account_id" : "TEST-ACCOUNT-101",
    "dummy" : true,
    "account_mgmt_key_expiry_duration" : 1440
}

リクエストには、以下のパラメータが指定可能です。

パラメータ 説明
paynow_account_id
string(100) (required)
会員ID。消費者様毎に一意になるように指定してください。該当する会員情報が存在しない場合は、カードが登録された場合に限り、指定されたIDで新規に会員情報を作成します。
dummy
boolean (optional)
ダミー会員に対し会員管理機能を利用するために設定します。VeriTransとの結合テスト用にご利用ください。
Values: true or false (Default: false)
account_mgmt_key_expiry_duration
number(6) (optional)
account_mgmt_keyが生成されてから利用不可となるまでの有効期間を「分」で指定します。
Maximum value: 129600 (Default: 1440)

レスポンス

POPは有効なリクエストに対して、会員管理機能 - フロントエンドに必要なaccount_mgmt_keyを返戻します。 リクエストに失敗した際にPOPから返戻される結果コードについては、結果コードを参照してください。

レスポンスパラメータ

成功時のレスポンス

{
    "account_mgmt_key" : "uxhn7T0eWt22XHycTNr11702",
    "result_code" : "R000",
    "status" : "success",
    "message" : "Success",
    "account_mgmt_key_expiry_time" : "20200401000000"
}

失敗時のレスポンス

{
    "result_code" : "RC2B",
    "status" : "failure",
    "message" : "Invalid value for \"Account Management Key Expiry Duration\""
}
パラメータ 説明
account_mgmt_key
string(24) (optional)
リクエストに対してPOPが生成した一意のaccount_mgmt_key
エラー発生時は返戻されません。
result_code
string(4) (required)
成功または失敗の具体的な理由を示す4文字の結果コード
status
string(7) (required)
処理のステータス。
Values: success or failure
message
string(256) (required)
処理結果の詳細を表すメッセージ。
account_mgmt_key_expiry_time
string(14) (optional)
account_mgmt_keyの有効期限。(YYYYMMDDhhmmss 形式)
エラー発生時は返戻されません。

HTTPステータスコード

POPから返戻されるHTTPステータスコードについては、HTTPステータスコードを参照してください。

フロントエンド

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
            content="width=device-width, initial-scale=1.0">
        <script type="text/javascript"
            src="<pop.js URL>"
            data-client-key="<POP_CLIENT_KEY>">
        </script>
    </head>
    <body>
        <input type="button"
            id="manage-paynowid-button"
            class="btn"
            value="Managing PayNowID">
        <script type="text/javascript">
            var options = {};
            var managePayNowIDButton = document.getElementById('manage-paynowid-button');
            managePayNowIDButton.addEventListener('click', function() {
                pop.accountManagement("<account_mgmt_key>", options);
            });
        </script>
    </body>
</html>

POPクライアントは、会員管理機能 - バックエンドにて、POPからaccount_mgmt_keyを取得後に開始されます。

  1. POPからaccount_mgmt_keyを取得後、ブラウザに返戻するページにpop.jsをインクルードします。
  2. MAP(Merchant Administration Portal)から取得したPOP_CLIENT_KEYpop.js scriptタグのdata-client-key属性の値に設定します。
  3. pop.accountManagement関数をaccount_mgmt_keyを引数に渡して呼び出すことで、カード情報の管理画面が表示されます。

稼働確認

マーチャント様専用のアカウントに設定されているPOP_SERVER_KEYPOP_CLIENT_KEYをご利用いただく場合、 リクエストにて、dummytrueに設定していただくことで、ダミーモードでの取引が実施可能となります。

また、POPでは共用のテストアカウントもご用意しております。
共用のテストアカウントをご利用いただく際には、こちらから「テスト利用情報通知書」を参照してください。
「テスト利用情報通知書」には、共通アカウントのMAPログイン情報が記載されております。

準備のセクションもあわせてご確認ください。

決済別のテスト仕様

POPとの連携が問題なく実施できているかを確認するため、ECサイトでは以下の確認項目を実施していただく必要があります。全ての確認項目で問題がなければ、ECサイトの本番運用の準備が整います。

バックエンド

確認項目 期待される結果
POPに対しPayment Keyをリクエストする POPがPayment Keyを返戻する。

フロントエンド

確認項目 期待される結果
POPクライアント導入手順に従いHTMLを取得する POPの決済画面がブラウザ上に表示される。

決済結果

確認項目 期待される結果
success_urlへのリダイレクト 取引成功後、POPがリクエストで指定された決済成功時URLに、リダイレクトによる決済結果通知に記載されているパラメータを伴って消費者様を遷移させる。
failure_urlへのリダイレクト 取引失敗後、POPがリクエストで指定された決済失敗時URLに、リダイレクトによる決済結果通知に記載されているパラメータを伴って消費者様を遷移させる。
incomplete_urlへのリダイレクト 取引の途中でPOP画面を閉じた後、POPがリクエストで指定された決済未完了時URLに、リダイレクトによる決済結果通知に記載されているパラメータを伴って消費者様を遷移させる。
MAPで取引が更新されていることの確認 ダミー取引実施後、取引情報がMAPに表示されている。

決済結果通知

確認項目 期待される結果
push_urlへの決済結果の送信 取引完了後、POPがリクエストで指定された決済結果通知URLに、PUSH通知に記載されているパラメータを送信する。
設定したメールアドレスへのメール送信 取引完了後、設定したメールアドレスに取引の内容が記載されたメールが送信される。

クレジットカード

カード決済の与信取得および3Dセキュア(本人認証)のテストについて説明します。

クレジットカード決済

クレジットカード決済のテスト方法について説明します。

カード番号

以下のテストカード番号と任意の有効期限(一部を除く)および任意のセキュリティコードを設定いただくと、成功レスポンスが戻ります。

実在のクレジットカードを用いた場合はすべてエラーとなりますのでご注意ください。 テストカード以外で取引を実施された場合、v_result_codeAC09となります。

3Dセキュアのテストを実施する場合は以下のカード番号ではなく3Dセキュア用のカード番号を使用してください。

Brand Card Number
Visa 4111111111111111
MasterCard 5555555555554444
JCB 3528000000000007
AMEX 378282246310005
Diners 36666666666660

カード有効期限

任意の有効期限(MM/YY)が設定可能です。 なお、テストカード番号と合わせて以下の有効期限を入力いただくことで、エラーレスポンスが戻ります。

Expiration Date vResultCode Expiration Date vResultCode
01/99 AG33 09/99 AG61
02/99 AG41 10/99 AG49
03/99 AG64 11/99 AG48
04/99 AG39 12/99 AG44
05/99 AG45 01/98 AG47
06/99 AG70 02/98 AG71
07/99 AG46 03/98 AG51
08/99 AG72

セキュリティコード

任意の3桁あるいは4桁の数値が設定可能です。

3Dセキュア(本人認証)

3Dセキュアでは、本人認証タイプ毎に認証結果の判定方法(カード決済を行う/行わないの判定)が異なります。そのため、本人認証タイプ毎に想定されるシナリオ(認証成功/みなし認証成功/不正疑いによる認証NG/システム障害による認証不可等)をテストできるようにしています。

それぞれのシナリオについて3Dセキュア用のテストカード番号を準備しております。 カード番号により、3Dセキュア(本人認証)成功、失敗、認証不可、異常終了等のシナリオテストが実施可能です。

3Dセキュア用のテストカード番号は、3DS2.0補足資料の「B.シナリオ別コード一覧」に記載しております。「B.シナリオ別コード一覧」に記載のないカード番号で取引を実施された場合、v_result_codeはNH02となりますのでご注意ください。

3DS2.0補足資料(B.シナリオ別コード一覧)はこちらからダウンロードしてください。

コンビニエンスストア

コンビニ決済では、決済申込成功と決済申込失敗のテストが実施できます。

確認項目 期待される結果
コンビニ決済(成功)
電話番号の上2桁に 09, 08, 07, 06, 05のいずれかを指定してください
取引が成功していること
コンビニ決済(失敗)
電話番号の上2桁に 00, 01, 02, 03, 04のいずれかを指定してください
取引が失敗していること

銀行

銀行決済では、決済申込成功と決済申込失敗のテストが実施できます。

確認項目 期待される結果
銀行決済(成功)
合計金額の下1桁に0を指定してください
取引が成功していること
銀行決済(失敗)
合計金額の下1桁に0以外を指定してください
取引が失敗していること

本番運用の開始

VeriTransより発行された、マーチャント様専用のPOP_SERVER_KEYPOP_CLIENT_KEYをご利用ください。
リクエストにて、dummyの値をtrueに設定してテストを実施していただき、動作に問題がないことを十分に確認していただいた後、 dummyの値をfalseに設定していただくことで、切り替えが完了となります。

切り替えのタイミングは、マーチャント様の任意のタイミングで実施可能です。 なお、接続先のURLは特に変更していただく必要はございません。

結果コード

バックエンドフロントエンドでの処理結果に応じて、POPから結果コードが返戻されます。 フロントエンドにおける結果コードについては、リダイレクトによる決済結果通知PUSH通知にて返戻されます。
また、リダイレクトによる決済結果通知v_result_codeパラメータでは、決済ゲートウェイの結果コードについて確認することが可能です。

共通

以下の結果コードは共通であり、どのステップでも返戻される可能性があります。

結果コード 説明
R000 Successful transaction
RA01 Application Error - VeriTransで原因不明のエラーが発生した場合
RD01 Database Error - VeriTransのデータベース処理でエラーが発生した場合

バックエンド

バックエンドレスポンスで返戻される結果コードです。

結果コード 説明
RC01 “Order ID"が無効です
RC03 "Gross Amount"が無効です
RC04 "Shipping Amount"が無効です
RC06 "Enabled Payment Types"が無効です
RC07 "Success URL"が無効です
RC08 "Failure URL"が無効です
RC09 "Incomplete URL"が無効です
RC10 "Push URL"が無効です
RC12 “Payment Key Expiry Duration”が無効です
RC13 "Item - ID"が無効です
RC14 "Item - Name"が無効です
RC15 "Item - Price"が無効です
RC16 "Item - Quantity"が無効です
RC17 マーチャント認証に失敗しました。POP_SERVER_KEYをご確認ください
RC19 "CVS - Payment Sub Type"が無効です
RC20 取引がすでに存在しています
RC21 利用できない決済方法です
RC22 3Dセキュア(本人認証)は契約が無いため、ご利用いただけません
RC26 "Dummy"が無効です
RC27 "Capture"が無効です
RC28 "Card - MPI"が無効です
RC29 "Enabled Payment Types"が重複しています
RC30 サポートしていない"Media Type"です
RC31 必須パラメータが不足しています
RC32 GETメソッドは対応していません
RC33 商品リストが正しくありません
RC43 JSON文字列が無効です
RC44 テストアカウントでは、"Dummy"に"true"を設定してください
RC46 "CVS - Payment Expiry Duration"が無効です
RC50 利用できない"CVS - Payment Sub Type"です
RC51 "CVS - Payment Sub Type"が重複しています
RC5E "CVS - Payment Expiry Date"が無効です
RC5F "CVS - Payment Expiry Duration"と"CVS - Payment Expiry Date"を同時に設定することはできません
RC0Y "Enable Fraud Detection"が無効です
RC2A "PayNow Account ID"が無効です
RC2B “Account Management Key Expiry Duration”が無効です
RC2D "Save Card"が無効です
RC2E "Skip Card Selection"が無効です
RC2N リクエストパラメータの "Save Card"および"Skip Card Selection"を設定する際は、"PayNow Account ID"を設定してください
RC5A "Customer Email Address"が無効です
RC5B "Customer Name"が無効です
RC1L 利用できない"Bank - Payment Subtype"です
RC1M "Bank - Payment Expiry Duration"が無効です
RC1N "Bank - Payment Subtype"が無効です
RC1O "Bank - Payment Subtype"が重複しています
RC1R "Bank - Contents"が無効です
RC1S "Bank - Kana contents"が無効です
RC1V "Bank - Payment Expiry Date"が無効です
RC1W "Bank - Payment Expiry Duration"と"Bank - Payment Expiry Date"を同時に設定することはできません
RC1X "CVS - Payment Expiry HHMM"が無効です
RC5G "Custom Message - Show Items Additional Message"が無効です
RC5H "Custom Message - Items Additional Message"が無効です
RC5J "Card - 3D Secure Version"が無効です
RC5M "Cardholder Email Address"が無効です
RC5N "Cardholder Home Phone Number"が無効です
RC5O "Cardholder Mobile Phone Number"が無効です
RC5P "Cardholder Work Phone Number"が無効です
RC5Q "Cardholder Home Phone Number Country Code"が無効です
RC5R "Cardholder Mobile Phone Number Country Code"が無効です
RC5S "Cardholder Work Phone Number Country Code"が無効です

フロントエンド

以下の結果コードは、フロントエンドステップで返戻されます。

結果コード 説明
RC17 認証に失敗しました。POP_CLIENT_KEYをご確認ください
RC18 payment_keyが無効もしくは登録されていません
RC25 payment_keyステータスが無効です。現在の注文ステータスと一致しないPOPクライアントからのリクエストがある場合に発生します
RC34 payment_keyは期限切れです
RC5C 3Dセキュア(本人認証)を行うための時間が確保できません。3Dセキュア(本人認証)が有効かつPOP上で決済を実施したタイミングでpayment_keyの残り有効期限が1分未満の場合に発生します
RT01 カード情報の送信に失敗しました
RM01 決済ゲートウェイでエラーが発生しました
RM03 POPから決済ゲートウェイへのリクエスト中にエラーが発生しました。

FAQ

よくあるご質問については、こちらから「接続方式」の「POP(4G)」をご参照ください。

改訂履歴

v1.8.1

2025/4/9

「通知」の「PUSH通知」の「カード決済パラメータ - 会員ID決済」にcard_idパラメータを追加しました。

v1.8

2024/5/29

「バックエンド」の「リクエスト」の「カード決済用パラメータ」に3Dセキュア(本人認証)に関する記載を追加しました。

結果コードを更新しました。

v1.7.6

2024/3/13

「決済結果」の「リダイレクトによる決済結果通知」の「カード決済パラメータ」のauth_codeの桁数を変更しました。

「通知」の「結果通知受信処理」の手順から「step2a」を削除しました。

「リンク生成機能」の「エンドポイント」に注意点を追加しました。

「フロントエンド」の「POPクライアント導入手順」および「会員管理機能」の「フロントエンド」に記載のサンプルコードの「src」タグを更新しました。

「稼働確認」の「クレジットカード」の「カード番号」に3Dセキュア実施時の説明を追加しました。

「稼働確認」の「クレジットカード」の「3Dセキュア(本人認証)」にシナリオに関する説明を追加しました。

接続先ドメインをpay3.veritrans.co.jpに変更しました。

MAP(Merchant Administration Portal)のリンクの接続先ドメインをadmin3.veritrans.co.jpに変更しました。

v1.7.5

2023/7/5

「バックエンド」の「リクエスト」のpayment_key_expiry_durationに説明を追加しました。

「バックエンド」の「リクエスト」にコンビニ決済に関する記載を追加しました。

v1.7.4

2022/11/24

「バックエンド」の「リクエスト」のincomplete_urlに説明を追加しました。

コンビニ決済に関してlawsonfamimaの記載を追加しました。

v1.7.3

2021/10/25

「バックエンド」の「リクエスト」の「カード決済用パラメータ」に3ds_versionの記載を追加しました。

「通知」の「PUSH通知」の補足情報に、PUSHリトライオーバー通知機能の翌日送信について記載を追加しました。

Aegisサービス終了に伴い、enable_fraud_detection パラメータに関連する記載を削除しました。

3ds_versionに関する結果コードを追加しました。

結果コードRM03の説明を更新しました。

「通知」の「PUSH通知」の「コンビニ決済パラメータ」の「決済申込完了通知」のresult_typeパラメータをoptionalからrequiredに修正しました。

v1.7.2

2020/12/15

「通知」の「メール通知」にメールのなりすまし対策への対策SFPレコードについて記載を追加しました。

v1.7.1

2020/8/4

「バックエンド」の「リクエスト」のコンビニ決済用および銀行決済のpayment_expiry_durationパラメーターの記載を追加しました。

v1.7

2020/1/20

銀行決済の記載を追加しました。

リンク生成機能の記載を追加しました。

カスタムメッセージパラメータの記載を追加しました。

コンビニ決済に関する記載を追加しました。

TLSのサポート対象を変更しました。

v1.6

2019/3/27

payment_keyaccount_mgmt_keyの有効期限を設定するパラメータpayment_key_expiry_durationaccount_mgmt_key_expiry_durationの記載を追加しました。

payment_key_expiry_durationaccount_mgmt_key_expiry_durationに関する結果コードを追加しました。

PUSHリトライオーバー通知機能の記載を追加しました。

広告ブロックの拡張機能の記載を追加しました。

v1.5

2018/7/12

3Dセキュア(本人認証)利用時に不正検知を実施可能になりました。

不正検知に関する記載を更新しました。

v1.4

2018/5/18

消費者様へのメール通知機能の記載を追加しました。

FAQを追加しました。

MAP(Merchant Administration Portal)のリンクを更新しました。

バックエンドにHTTPステータスコードの記載を追加しました。

v1.3

2017/12/21

カード決済に会員ID決済の記載を追加しました。

会員管理機能の記載を追加しました。

v1.2

2017/8/31

カード決済に不正検知の記載を追加しました。

v1.1

2017/6/27

コンビニ決済の記載を追加しました。

pop.js URLを変更しました。

v1.0

2017/3/31

カード決済の実装方法について記載しています。