DGFT Veritrans4G開発ガイド

お問い合わせ
  • TOP
  • MDK(SDK)導入ガイド
  • MDK(SDK)インターフェースガイド
  • ID決済

ファミペイ

本ガイドについて

本ガイドの内容

本ガイドは、(株)DGフィナンシャルテクノロジーが提供するVeriTrans4Gのファミペイサービスをインターネット店舗等に導入するための、WEBアプリケーション開発者向けのガイドです。

ファミペイサービス概要

ファミペイサービスは、加盟店様のサイトで購入された商品の代金を、ファミペイのユーザIDで決済できるサービスです。

  • ファミペイ利用登録を行ったユーザが利用できる、パスワードのみの簡単な支払い方法です。
  • 事前にチャージして支払いする方法となります。
  • チャージ方法は、店舗のレジでチャージする方法や、ファミマTカード(クレジットカード)をアプリに登録してクレジットカードでチャージする方法などがあります。
    利用可能なチャージ方法やチャージ手順についてはファミペイサイトの情報やアプリをご参照ください。

決済の画面遷移のイメージを以下に示します。

MDKの処理概要

機能一覧(決済要求コマンド)

使用可能な決済要求コマンドを下記表に示します。

決済要求種類
/コマンド
概要
申込
(与信+売上)
/Authorize
決済の申し込み(オーソリ)と売上を同時に要求します。
キャンセル
/Cancel
決済を取消(キャンセル)します。
取消金額は全額のみとなります。

決済処理シーケンス

【ファミペイ:決済申込時の処理】

図 3-2 1 MDK利用時システム処理概要図(ファミペイ申込)
図 3-2 1 MDK利用時システム処理概要図(ファミペイ申込)
No. 基本機能 処理説明
1 決済申込要求 ECサイトに渡された決済申込情報を電文化し、決済サーバーに送信します。
2 結果応答の受信 決済サーバーから返戻された結果を受信します。結果が成功(決済可能)の場合、「3. リダイレクト指示」を実施します。消費者ブラウザに返すリダイレクト先のURLが決済サーバーより返戻された結果に含まれます。
3 リダイレクト指示 決済サーバーにより返戻されたリダイレクト先のURL(決済URL)を用いて、消費者ブラウザにファミペイの決済URLへのリダイレクト指示を送信します。※1
4 申込結果通知(PUSH) この通知は、決済申込により与信が成功した場合のみ通知されます。
MAP(Merchant Administration Portal)の契約情報確認・変更のページより登録申請した結果通知受信URLに、決済サーバーよりPOSTで通知されますので、決済結果を受け取り、注文データ等に反映します。
5 完了画面要求 消費者ブラウザから結果を受信し、完了画面を送信します。

消費者側の状況により通信断や誤ってブラウザを閉じる、といったケースではこのシーケンスは発生しません。確実に決済結果が取得できるように必ず【4.申込結果通知(PUSH)】を受信してください。

なお、申込結果通知と完了画面要求のリダイレクト結果が加盟店に届く順番は保証されていません。どちらが先に届いても問題とならないようにご対応ください

※1 HTTPレスポンスヘッダ(Locationヘッダ)にリダイレクト先URLを設定し、HTTPステータスコード=302でリダイレクトするか、JavaScriptを利用してリダイレクト先URLに自動遷移させてください。

【ファミペイ:キャンセル処理】

図 3-2 2 MDK利用時システム処理概要図(ファミペイキャンセル要求)
図 3-2 2 MDK利用時システム処理概要図(ファミペイキャンセル要求)
No. 基本機能 処理説明
1 取消要求 キャンセルの対象となる取引情報を電文化し、決済サーバーに送信します。
2 結果応答 決済サーバーより結果応答を受信します。

結果通知受信処理

結果通知受信処理の対象

ファミペイの結果通知受信処理の対象は以下の機能です。

表1 通知対象一覧
決済サービス名 決済申込
(与信売上)
キャンセル
ファミペイ

通信電文仕様(共通部)および店舗受信後応答仕様は、『開発ガイド』をご参照ください。
ファミペイ固有の通知電文インターフェースにつきましては、「5.3.2 ファミペイの結果通知電文」をご参照ください。

インターフェース詳細

ここではファミペイサービスで利用するMDKインターフェース項目を説明します。

  • 「設定」欄の内容は以下の通りです。

    要求電文 ...
    必須項目:○  任意項目:△  設定不可:×  その他条件付:※、※n(条件は説明欄、または欄外に記入)
    応答電文 ...
    必ず返戻:○  処理成功時のみ返戻:△  返戻なし:×  その他条件付:※
  • orderId(取引ID)について

    店舗で任意に採番してください。申込処理毎に付ける必要があります。他の取引IDと重複しないよう採番してください。他決済サービスとも重複できません。
    また、テスト取引で使用した取引IDを、本番取引で再度使用することはできません。
    取引IDには、半角英数字以外に"-"(ハイフン)、"_"(アンダースコア)も使用可能です。

    ※他決済サービスと「書式・制限」が異なりますので、ご注意ください。

  • 応答電文について

    応答電文には、本書に記載されていないフィールド(パラメータ)も存在しますが、通常は、記載されているフィールド以外は加盟店様の方で意識する必要はございません。

5-1 ファミペイ

申込

要求電文:CvspayAuthorizeRequestDto
フィールド名 項目名 書式・制限 説明 設定
orderId 取引ID 半角英数字
27桁以内
店舗側で採番した取引IDを指定

※決済事業者にこの項目を連携するため、他決済サービスと異なる「書式・制限」になります。

serviceOptionType サービスオプションタイプ 右記参照 利用するサービスオプションタイプを指定
"famipay":ファミペイ
amount 決済金額 半角数字
8桁以内
決済金額(合計金額)を指定
withCapture 売上フラグ 右記参照 "true":与信同時売上

※指定が無い場合は、与信同時売上となります。

payType 決済種別 半角数字
1桁
決済種別を指定
"0":オンライン決済

※指定が無い場合は、オンライン決済となります。

successUrl 決済完了時URL URLに使用可能な半角文字
256桁以内
決済成功時に、店舗側サイトに画面遷移を戻すためのURLを指定(クエリパラメータ指定可)

※未指定の場合は、MAP(Merchant Administrator Portal)から登録申請した値を使用。

cancelUrl 決済キャンセル時URL URLに使用可能な半角文字
256桁以内
決済キャンセル時に、店舗側サイトに画面遷移を戻すためのURLを指定(クエリパラメータ指定可)

※未指定の場合は、MAP(Merchant Administrator Portal)から登録申請した値を使用。

errorUrl 決済エラー時URL URLに使用可能な半角文字
256桁以内
決済エラー時に、店舗側サイトに画面遷移を戻すためのURLを指定(クエリパラメータ指定可)

※未指定の場合は、MAP(Merchant Administrator Portal)から登録申請した値を使用。

pushUrl プッシュURL URLに使用可能な半角文字
256桁以内
「ダミー取引」時の決済申込完了通知を受信するURLを指定(クエリパラメータ指定可)

※未指定の場合は、MAP(Merchant Administrator Portal)から登録申請した値を使用。

※本パラメータは店舗側システムの開発時にのみ利用されることを想定しており、ダミー取引で指定可能です。

応答電文:CvspayAuthorizeResponseDto
フィールド名 項目名 書式・制限 説明 設定
serviceType 決済サービスタイプ 半角英数字
10桁以内
要求電文を送信した決済サービスタイプ
mstatus 処理結果コード 半角英数字
32文字以内
"success":正常終了
"failure":異常終了
vResultCode 詳細結果コード 半角英数字
16文字
処理の結果を詳細に表すコード
4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。
詳細は『結果コード一覧』を参照ください。
merrMsg エラーメッセージ 文字列
1024バイト以内
処理結果を日本語で表示します。
marchTxn 電文ID 文字列
100桁以内
決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID
1つの取引IDに対して、複数のIDが付与されます。
orderId 取引ID 半角英数字
100桁以内
決済要求時に店舗様にて任意に採番し送信された取引ID
custTxn 取引毎に付くID 半角英数字
100桁以内
決済サーバーがオーダー(取引ID)と紐付ける為に採番するID
txnVersion MDKバージョン 半角英数字5桁 電文のバージョン
問題発生時などに用いますが、通常ご利用になることはありません。
redirectUrl リダイレクトURL 文字列 決済事業者が提供する決済URL。
決済申込を行った場合は、こちらのURLにそのまま遷移させます。

消費者ブラウザから店舗側の完了画面へリダイレクトする時のクエリパラメータ

リダイレクト受信内容:決済サーバーから消費者ブラウザ経由で店舗へリダイレクト(GET)される内容
フィールド名 項目名 書式・制限 説明 設定
mstatus 処理結果コード 半角英数字
32文字以内
"success":正常終了
"failure":異常終了
vResultCode 詳細結果コード 半角英数4桁 処理の結果を詳細に表すコード
詳細は『結果コード一覧』を参照ください。
orderId 取引ID 半角英数字100文字以内 決済要求時に店舗様にて任意に採番し送信された取引ID
txnType トランザクションタイプ 文字列
右記参照
通知対象となるトランザクションのタイプが設定されます。
"Authorize"
cvspayOrderId 決済事業者
取引番号
半角英数字12文字以内 決済事業者側で発番された取引番号

※mstatus=failureの場合は設定されません。

vAuthInfo 改ざんチェック用
ハッシュ値
文字列
右記参照
下記文字列を連結し、SHA-256によって算出したハッシュ値
  • マーチャントCCID
  • パラメータ値の連結文字列(authParams が示す順序で連結)
  • パスワード
    なお、パラメータ値を連結する際は、パラメータ名や区切り文字は含めず、パラメータ値のみを連結しています。連結した文字列をバイナリに変換する際の文字エンコーディングは、UTF-8を使用しています。
authParams ハッシュ値算出
パラメータ順序
文字列
右記参照
vAuthInfoのハッシュ値を算出する元とした文字列の、パラメータの連結順序を示す値
パラメータ名のカンマ区切り文字列をBase64エンコードしています。デコードを行うと文字列が復元されます。
例)
  "orderId,vResultCode,mstatus"
  "mstatus,orderId,vResultCode"
(順序は固定ではないため、リクエスト受信のたびに動的に処理する必要があります。)
(重要)

これらのパラメータはブラウザを経由して連携されるため、画面遷移が正常に行われないケースでは取得することができません。そのため、決済サーバーから直接送信される「5-3 結果通知電文」の受信と組み合わせて確実に結果を取得するようにしてください。

vAuthInfoおよびauthParamsを利用した改ざんチェックについて

決済サーバーから消費者ブラウザを経由して店舗側の結果画面に遷移(リダイレクト)しますが、ここで店舗側システムが受け取ったクエリパラメータが改ざんされていないことを検証するためのパラメータが、vAuthInfoとauthParamsです。

店舗側システムで算出したハッシュ値が、クエリパラメータより取得したvAuthInfoと一致している場合は、パラメータは改ざんされていない、とみなすことができます。
この改ざんチェックは、悪意を持った第三者によって、不正なリダイレクト電文を受信する可能性がありますので、実装を強く推奨しています。
実装方法の詳細につきましては、弊社より提供しているサンプルプログラムをご参照ください。

取消

要求電文:CvspayCancelRequestDto
フィールド名 項目名 書式・制限 説明 設定
orderId 取引ID 半角英数字
100桁以内
上記「orderId(取引ID)について」参照
serviceOptionType サービスオプションタイプ 右記参照 利用するサービスオプションタイプを指定
"famipay":ファミペイ
応答電文:CvspayCancelResponseDto
フィールド名 項目名 書式・制限 説明 設定
serviceType 決済サービスタイプ 半角英数字
10桁以内
要求電文を送信した決済サービスタイプ
mstatus 処理結果コード 半角英数字
32文字以内
"success":正常終了
"failure":異常終了
"pending":保留
vResultCode 詳細結果コード 半角英数字
16文字
処理の結果を詳細に表すコード
4桁ずつ4つのブロックで構成され、各ブロックでサービス毎の処理結果を表します。
詳細は『結果コード一覧』を参照ください。
merrMsg エラーメッセージ 文字列
1024バイト以内
処理結果を日本語で表示します。
marchTxn 電文ID 文字列
100桁以内

決済サーバーにて決済処理電文(内部処理も含む)毎に付与するID
1つの取引IDに対して、複数のIDが付与されます。
orderId 取引ID 半角英数字
100文字以内
決済要求時に店舗様にて任意に採番し送信された取引ID
custTxn 取引毎に付くID 文字列
100桁以内
決済サーバーがオーダー(取引ID)と紐付ける為に採番するID
txnVersion MDKバージョン 半角英数字5桁 電文のバージョン
問題発生時などに用いますが、通常ご利用になることはありません。
cancelReqDatetime 取消要求日時 半角数字14桁 YYYYMMDDhhmmss形式
balance 残高 半角数字7桁以内 現在の決済金額を返します。
cancelPoint キャンセルポイント数 半角数字10桁以内 キャンセルしたポイント数
balancePoint ポイント残高 半角数字10桁以内 ポイント利用キャンセル後の通常ポイント残高

共通

検索

  • 「設定」欄の内容は以下の通りとなります。

    要求電文 ...
    必須項目:○  任意項目:△  設定不可:×  その他条件付:※(条件は説明欄に記入)
    応答電文 ...
    必ず返戻:○  該当取引存在時に返戻:△  返戻なし:×  その他条件付:※
  • 複数指定は0~の添字を指定します。

    例)exparam.serviceTypeCd[0]=card&exparam.serviceTypeCd[1]=cvspay
  • ワイルドカードは値の一部と"*"を組み合わせて検索します。"*"のみの指定はできません。

    例)exparam.searchParameters.common.orderId=123*
  • 通常の検索の他、マスタ情報取得が可能です。マスタ情報取得時のインターフェースは後記します。

要求電文:SearchRequestDto
※以下は、共通の検索要求フィールドです。
検索フィールド名 検索項目名 書式・制限 複数指定 ワイルドカード 説明 設定
requestId リクエストID 半角英数字記号
128文字以内
リクエストIDを指定します。指定した場合は、それ以外のパラメータは指定できなくなります。
serviceTypeCd 決済サービスタイプ 右記参照 検索対象の決済を指定します。未指定の場合は、全決済が検索対象となります。
"cvspay":cvspay(ファミペイ)
newerFlag 最新トランザクションフラグ 右記参照 成功、失敗に関係なく、最新トランザクションのみを検索する場合に使用します。
"true": 1取引内の最新トランザクションのみ検索
"false": 全てのトランザクションを検索

※指定しない場合は"false"になります。

containDummyFlag ダミー決済対象フラグ 右記参照 ダミー取引も検索する場合に使用します。
"true": ダミー取引も検索する
"false": ダミー取引は検索しない

※指定しない場合は"false"になります。

maxCount 検索最大件数 1~1000 取得したい検索結果の最大件数です。未指定の場合、最大値となります。

※短時間で大量の検索を繰り返すような処理はサーバに負荷が掛かりますのでご遠慮頂けますようお願いします。

common  共通
orderId 取引ID 半角英数字
100桁以内
検索したい取引IDを指定します。
orderStatus 取引決済状態 右記参照 以下のいずれかを指定します。
"initial":初期状態
"end":終了
"end_presentation":画面遷移正常終了
"pending":保留
"validation_error":検証エラー
"expired":期限切れ
"error":エラー
command コマンド 右記参照 決済で使用するコマンドを指定します。
"Authorize":申込
"Cancel":取消
mstatus ステータスコード 右記参照 決済結果として返戻されるステータスコードを指定します。
"success":成功
"failure":失敗
"pending":保留
txnDatetime.from 取引日(From) 文字列12桁 取引日時の範囲(From)を指定します。
YYYYMMDDhhmm形式
txnDatetime.to 取引日(To) 文字列12桁 取引日時の範囲(To)を指定します。
YYYYMMDDhhmm形式
amount.from 金額(From) 数字12桁以内 決済金額の範囲(From)を指定します。
amount.to 金額(To) 数字12桁以内 決済金額の範囲(To)を指定します。
※以下は、ファミペイ固有の検索要求フィールドです。
cvspay ファミペイ
detailOrderType 詳細オーダー決済状態 右記参照 ※「detailOrderType」の詳細は「6-2 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態)」を参照
detailCommandType 詳細コマンドタイプ 右記参照 ※「detailCommandType」の詳細は「6-2 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態)」を参照
cvspayType cvspay種別 右記参照 cvspayの種別を指定する。

※現在は、"famipay"(ファミペイ)のみ

payType 決済種別 右記参照 決済種別を指定する。

※現在は、"0"(オンライン)のみ

cvspayOrderId 決済事業者
取引番号
文字列
12桁以内
決済事業者側で発番された取引番号
応答電文:SearchResponseDto
※以下は、共通の検索結果フィールドです。
検索フィールド名 検索項目名 書式・制限 説明 設定
result 処理結果
serviceType サービスタイプ 右記参照 "search"
mstatus 処理結果コード 半角英数字
32文字以内
処理の結果ステータスが格納されます。
"success":正常終了
"failure":異常終了
vResultCode 詳細結果コード 半角英数字
16文字
処理の結果を詳細に表すコードとなります。
詳細は『結果コード一覧』を参照ください。
merrMsg エラーメッセージ 文字列1024
バイト以内
処理結果を日本語で表示します。
overMaxCountFlag 最大件数超えフラグ 右記参照 検索対象データが要求電文で指定した検索最大件数より多いかどうかを表します。
"true": 最大件数以上 "false": 最大件数未満
searchCount 検索結果件数 0~1000 検索結果件数(オーダー件数)が格納されます。
orderInfos オーダー情報リスト 複数のオーダー情報(orderInfo)が格納されます。
orderInfo オーダー情報 検索条件に該当した取引の情報が該当件数分繰り返されます。0~1000件(要求電文で指定した検索最大件数まで)となります。
index インデックス 0~999 検索された情報のインデックスが格納されます。
serviceTypeCd 決済サービスタイプ 右記参照 決済の種類が格納されます。
"cvspay":cvspay(ファミペイ)
orderId 取引ID 文字列 取引の取引IDが格納されます。
orderStatus 取引決済状態 右記参照 決済の状態が格納されます。
"initial":初期状態
"end":終了
"end_presentation":画面遷移正常終了
"pending":保留
"validation_error":検証エラー
"expired":期限切れ
"error":エラー

※このフィールドは、取引IDに関連する注文データの状態を完全に表現するものではありません。サービスタイプによっては詳細な状態遷移を別のフィールドに保持している場合がありますので、店舗側システムの用途に合わせてsuccessDetailTxnTypeや、決済固有の状態フィールドをご参照ください。

lastSuccessTxnType 最終成功トランザクションタイプ 文字列 直近の成功したコマンド名が格納されます。
successDetailTxnType 詳細トランザクションタイプ 文字列 取引の詳細な状態が格納されます。
検索要求電文の各決済のdetailOrderType参照。
properOrderInfo 固有オーダー情報 各決済サービスの固有オーダー情報が格納されます。後述の一覧参照。
transactionInfos 決済トランザクションリスト 複数の決済トランザクション情報(transactionInfo)が格納されます。
transactionInfo 決済トランザクション情報 検索条件に該当した取引の情報が該当件数分繰り返されます。
txnId トランザクション管理ID 文字列 決済サーバーが採番する管理IDとなります。
command コマンド 文字列 実行されたコマンド名が格納されます。

※MDKで要求したコマンドだけでなく、決済サーバーの内部処理コマンドも含まれます。

mstatus 処理結果コード 半角英数字
32文字以内
処理の結果ステータスが格納されます。
"success":正常終了
"failure":異常終了
"pending":保留
vResultCode 詳細結果コード 文字列16桁 処理の結果を詳細に表すコードとなります。
詳細は『結果コード一覧』を参照ください。
txnDatetime 取引日時 文字列23桁 取引日時が格納されます。
YYYY-MM-DD hh:mi:ss.mmm形式
amount 金額 半角数字12桁以内 決済した金額が格納されます。
properTransactionInfo 固有トランザクション情報 各決済サービスの固有トランザクション情報が格納されます。後述の一覧参照。
☆ 以下の情報は、上記 「固有オーダー情報」 「固有トランザクション情報」 内の階層にセットされます。
※以下は、ファミペイ固有の検索結果フィールドです。
properOrderInfo ファミペイ 固有オーダー情報
cvspay種別 cvsType 文字列 決済申込時に指定したcvspay種別
決済種別 payType 文字列 決済申込時に指定した決済種別
与信同時売上フラグ withCapture 文字列 決済申込時に指定した与信同時売上フラグ
申込金額 authorizeAmount 半角数字
7桁以内
決済申込時に指定した金額
残高 balance 半角数字
7桁以内
残高(現在の決済金額)
決済申込日時 authorizeDatetime 文字列
14桁
決済申込日時
YYYYMMDDhhmmss形式
決済事業者取引番号 cvspayOrderId 文字列
12桁以内
決済事業者側で発番された取引番号
properTransactionInfo ファミペイ 固有トランザクション情報
決済センターエラーコード cvspayResultCode 文字列 決済センターから返却されたエラーコードが格納されます。
決済事業者取消取引番号 cvspayCancelOrderId 文字列
12桁以内
決済取消時に決済事業者側で発番された取引番号
詳細コマンドタイプ detailCommandType 文字列

※「detailCommandType」の詳細は「6-2 検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態)」」を参照

決済センターへの要求日時 cvspayRequestDatetime 文字列14文字 決済センターへの要求日時が格納されます。
YYYYMMDDhhmmss形式
決済センターからの返戻日時 cvspayResponseDatetime 文字列14文字 決済センターからの返戻日時が格納されます。
YYYYMMDDhhmmss形式

結果通知電文

結果通知電文の概要

実装方法の詳細につきましては、弊社より提供しているサンプルプログラムをご参照ください。

  • 機能概要

    決済サーバーから店舗システムへ決済の結果通知を行います。
    通知は、HTTPのPOSTを利用します。

    ※プロトコルはHTTP(Port:80)、HTTPS(Port:443)に対応しています。
    処理の概要については『結果通知受信処理』をご参照ください。

  • HMACについて

    POSTにてデータを通知するとき、リクエストヘッダーにHMACを設定します。
    また、HMAC値は、リクエストボディから算出します。
    アルゴリズムは「HmacSHA256」が設定されます。

    表2 リクエストヘッダーに設定するHMACフィールド
    フィールド名 設定値
    content-hmac h={アルゴリズム名};s={CCID};v={HMAC値}
  • 結果通知受信処理結果について

    決済サーバーからの通知に対して店舗側システムがHTTPステータスコード"200"を返戻した場合、受信処理が正常に
    終了したものと判断します。"200"以外のコードを返した場合は、受信失敗と判断し、一定期間、通知を繰り返します。

    ※返戻した場合、受信処理が正常に終了したものと判断します。

ファミペイの結果通知電文

ファミペイにおける結果通知電文の通知タイミングは、ファミペイ側で決済申込みが成立したタイミング(決済サーバーからの要求が成功したタイミング)となります。この時点では、店舗側の完了画面URLへの遷移はまだ行われていません。
消費者が画面遷移の途中で離脱した場合や、通信環境の問題で画面遷移時にタイムアウトが発生した場合には、最終遷移先の完了画面URLまで到達しない場合がありますので、このような場合にも、決済サーバーからの通知を店舗側システムで受信して頂くことで、決済が成立したことを検知することができます。

表3 ファミペイの結果通知機能
No. 通知機能 通知タイミング 注意事項
1 決済申込完了通知
(Authorize)

※ブラウザを介する通信

決済申込が成立(成功)したタイミングで送信されます。 決済申込が失敗した場合は送信されません。

以下に、ファミペイの結果通知項目を示します。

項番 フィールド名 項目名 書式・制限 説明
1 numberOfNotify 通知件数 半角数字4桁以内 1度に通知可能な件数は100件、
101件以上は次回通知
2 pushTime 送信時刻 半角数字14桁 決済サーバーから通知した時刻
yyyyMMddHHmmss形式
3 pushId 識別ID 半角数字8桁 プッシュ処理を行うたびに採番されるID。
注)他の決済サービスで使用されたIDと重複する場合があります。
通知件数分下記の項番(4~11)を繰り返します。なお、フィールド名の後ろに4ケタの連番(0000~0999)を付与する。
4 orderId 取引ID 半角英数字100桁以内 取引ID
cvspayType cvspay種別

※右記の説明を参照

利用するcvspay種別

※現在は、"famipay"(ファミペイ)のみ

9 cvspayOrderId 決済事業者取引番号 半角英数字12桁以内 決済事業者側で発番された取引番号
5 txnType トランザクションタイプ ※右記の説明を参照 "Authorize":決済申込完了通知
6 txnTime 処理日時 半角数字14桁 yyyyMMddHHmmss形式
7 vResultCode 詳細結果コード 半角英数字4桁 処理結果コードの詳細は、
結果コード一覧』をご参照ください。
8 mstatus 処理ステータス 半角英数字8桁以内 "success":正常終了
(fairureの場合は通知されません。)
10 dummy ダミー決済フラグ 半角数字1桁 ダミー取引を示す場合は"1"を設定します。
(注意事項)
  • pushId(識別ID)は、他の決済サービスで使用されたIdと重複する場合がありますので、ユニークキーとして処理しないようにしてください。
  • 項目の並び順は、必ずしも表の順序とは一致しません。

その他 補足事項

キャンセルに関する注意事項

キャンセルの要求可能期間

ファミペイにおける、キャンセルの要求可能期間を下表に示します。

表4 キャンセルの要求可能期間
要求種類 要求可能期間
キャンセル 決済申込成功から60日間

検索(Search)に関する補足(詳細コマンドタイプ/詳細オーダー決済状態)

決済サーバーでは、システム内部データとして詳細コマンド(処理要求の種類)と詳細な決済状態(その取引がどのような状態にあるか)を管理しています。
通常の運用では、店舗様システムではこれらの内部情報を利用する必要はありませんが、店舗様システムにおいて取引の状態検索が必要なケースや、障害等のお問い合わせ時の参照情報として、これらの内部データをSearchコマンドで公開しています。
下表にSearchコマンドにて利用可能な内部データの一覧を示します。

表5 詳細コマンドタイプと詳細オーダー決済状態
詳細コマンドタイプ コマンド成功時の詳細オーダー決済状態
論理名 論理名
決済認可 PreAuth 決済申込 Init
決済中止 QuitAuth 決済中止 QuitAuth
与信売上 AuthCapture 与信売上 AuthCapture
取消(与信売上) VoidAuthCapture 取消(与信売上) VoidAuthCapture

注)一覧に記載していないコマンドタイプと状態も存在します。

導入・テストに関する補足

決済サーバーに接続し、テストを実施するための各種手続き・手順の詳細につきましては、『導入テストガイド』を参照してください。

決済申込時の画面遷移をシミュレートする

弊社では、ファミペイのテストのための疑似環境を提供しています。
Authorizeコマンドの結果として返戻されたリダイレクトURL(CvspayAuthorizeResponseDto.redirectUrl)に消費者のブラウザを遷移させると、以下の疑似環境が表示されます。
ファミペイの認証画面のイメージが表示されますので、そのまま「ログイン」ボタンをクリックして次の画面に遷移します。

図3 疑似環境(ダミーファミペイ-PCログイン画面)
図3 疑似環境(ダミーファミペイ-PCログイン画面)

ファミペイの注文内容確認画面が表示されます。
赤枠の設定項目にシミュレートしたい内容を設定し、確定ボタンをクリックすることで以降の遷移を確認することができます。

図4 疑似環境(ダミーファミペイ-決済画面)
図4 疑似環境(ダミーファミペイ-決済画面)

設定内容と遷移先についての対応表を以下に記載します。

結果選択 リスト選択
(失敗時のエラー内容選択)
遷移先
成功 - 加盟店の決済完了画面に遷移します。
失敗 残高不足エラー 決済時にエラーとなる場合のシミュレートです。
残高不足エラーメッセージが表示され、キャンセルボタンのみ表示されます。
キャンセルボタンをクリックすると、加盟店のキャンセル画面へ遷移します。
不正パラメータ
(AuthorizeNotify)
パラメータエラーにより、決済エラーとなる場合のシミュレートです。
疑似環境のシステムエラー画面に遷移します。

決済申込・取消コマンドのエラーをシミュレートする

AuthorizeとCancelコマンドの要求金額("amount")の下一桁の値を調整することで、意図的にエラーを発生させることができます。
要求金額の下一桁と、返戻されるvResultCodeの対応表を以下に記載します。

金額の
下1桁
Authorize
(申込み)
Cancel
(取消)
0 4001(成功) 4001(成功)
1 4GD1(エラー)
2 4ED1(エラー)
3 4001(成功)
4
5
6 4GD3(エラー)
7 4ED2(ペンディング)
8 4001(成功)
9

返戻されるエラーコード(vResultCode)につきましては、今後、予告なしに変更させて頂く場合がございます。