送受信パラメータの仕様

トークン決済はカード情報を入力する画面が加盟店様側の画面となるため、加盟店様のシステムにてカード情報非保持、非通過に対応するためのシステム設計上の難易度も高くなってまいります。 トークン決済の利用を希望される場合はシステム構築の観点も含め、十分に検討をお願いいたします。

1-1.トークン取得(JavaScript版)

(1)Javascript格納先

トークン取得のためのJavascriptのリンクは以下になります。
【本番環境】 https://static.secure.epsilon.jp/js/token.js
【テスト環境】 https://static.beta.epsilon.jp/js/token.js

(2)トークン発行処理の導入手順

以下はクレジットカードAPIへ接続する前に加盟店様にて実施いただく内容になります。 コード例について、弊社では一切の責任を負いません。
実装に当たっては、加盟店様にて十分な検証を行なっていただくよう、お願いいたします。

購入画面の全体イメージ

<!DOCTYPE html>
<html><head>
<meta charset="UTF-8">
<!--本番環境をご利用の場合は本番環境のURLを設定してください-->
<script src= 'https://static.beta.epsilon.jp/js/token.js'></script>
<title>加盟店様購入画面</title>
<script>
<!--トークン結果取得-->
function execTrade ( response ) {
if( response.resultCode != 000 ){
window.alert( ‘購入処理中にエラーが発生しました’ )
}else{
//カード情報は念のため値を除去
document.getElementById(‘cardno’).value=””; 
document.getElementById(‘expire_year’).value=””
document.getElementById(‘expire_month’).value=””
document.getElementById(‘securitycode’).value=””
//予め購入フォームに用意したtokenフィールドに、値を設定
document.getElementById(‘token’).value = response.tokenObject.token;
//スクリプトからフォームをsubmit
document.getEmentsById(‘purchaseForm’).submit() 
}
}

<!--トークン発行-->
function postForm( calltype ) {
var cardObj = {};
cardObj.cardno = document.getElementById('cardno').value;
cardObj.expire = document.getElementById('expire_year').value + document.getElementById('expire_month').value;
cardObj.securitycode = document.getElementById('securitycode').value;
cardObj.holdername = document.getElementById('holdername').value;
EpsilonToken.init(document.getElementById("contract_code").value);
if( calltype == 'string')
{
EpsilonToken.getToken( cardObj , "execTrade" );
}else{
EpsilonToken.getToken( cardObj , execTrade );
}
}
</script>
</head>
<body>
<form id='getTokenForm'>
<p>     カード番号:<input type='text' value='' name='cardno' id='cardno' />
</p>
<p>     カード有効期限:<input type='text' value='' name='expire_year' id='expire_year' />/     <input type='text' value='' name='expire_month' id='expire_month' />
</p>
<p>     セキュリティコード:<input type='text' value='' name='securitycode' id='securitycode' />
</p>
<p>     名義人:<input type='text' value='' name='holdername' id='holdername' />
</p>
<p>
<!--結果をオブジェクトで受け取る場合-->
<input type='button' value='購入する(object)' onclick="postForm('object')" />
<!--結果を一覧で受け取る場合-->
<input type='button' value='購入する(string)' onclick="postForm('string')" />
</p>
</form>
<form id='purchaseForm' action='(加盟店様URL)' method='post'>
<p>
<input type='hidden' value='' name='kameitenn_chumon_bango'  />
<!-- 加盟店での注文番号等、決済を特定できる情報 -->
<input type='hidden' value='' name='token'  />
<!-- 取得したトークンを設定するプレースホルダ -->
</p>
</form>
<p>
</body>
</html>

課金区分の指定

// 課金区分 (1:一回のみ 21~32:定期課金)
// 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
$mission_code = $_REQUEST['mission_code'];		

パラメータ(注文情報の生成)

$request->addPostParameter('version', '2' );
$request->addPostParameter('contract_code', $contract_code);
$request->addPostParameter('user_id', $user_id);
$request->addPostParameter('user_name', mb_convert_encoding($user_name, "UTF-8", "auto"));
$request->addPostParameter('user_mail_add', $user_mail_add);
$request->addPostParameter('item_code', $item_code);
$request->addPostParameter('item_name', mb_convert_encoding($item_name, "UTF-8", "auto"));
$request->addPostParameter('order_number', $order_number);
$request->addPostParameter('st_code', $st_code[$st]);
$request->addPostParameter('mission_code', $mission_code);
$request->addPostParameter('item_price', $item_price);
$request->addPostParameter('process_code', $process_code);
$request->addPostParameter('memo1', $memo1);
$request->addPostParameter('memo2', $memo2);
$request->addPostParameter('xml', '1');
$request->addPostParameter('character_code', 'UTF8' );

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

パラメータ(注文情報の生成)

SettlementSendInfo si = this.getSettlmentSendInfo();
List param = new ArrayList();
Integer processCode = si.getProcessCode();
~
switch (processCode){
	case 1: case 2: // 初回/登録済み課金
		param.add( new BasicNameValuePair("version", si.getVersion().toString()));
		param.add( new BasicNameValuePair("contract_code", this.getConfig().getContract_code() ));
		param.add( new BasicNameValuePair("user_id", si.getUserId()));
		param.add( new BasicNameValuePair("user_name", si.getUserName()));
		param.add( new BasicNameValuePair("user_mail_add", si.getUserMailAdd()));
		param.add( new BasicNameValuePair("item_code", si.getItemCode()));
		param.add( new BasicNameValuePair("item_name", si.getItemName()));
		param.add( new BasicNameValuePair("order_number", si.getOrderNumber()));
		param.add( new BasicNameValuePair("st_code",  si.getStCode()));
		param.add( new BasicNameValuePair("mission_code",si.getMissionCode().toString()));
		param.add( new BasicNameValuePair("item_price", si.getItemPrice().toString()));
		param.add( new BasicNameValuePair("process_code", si.getProcessCode().toString()));
		param.add( new BasicNameValuePair("memo1", si.getMemo1()));
		param.add( new BasicNameValuePair("memo2", si.getMemo2()));
		param.add( new BasicNameValuePair("character_code", si.getCharacterCode()));
		param.add( new BasicNameValuePair("xml", si.getXml().toString()));

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

課金区分の指定

# 課金区分 (1:一回のみ 21~32:定期課金)	
# 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
my $mission_code = $q->param("mission_code") || 1;

パラメータ(注文情報の生成)

my %data = ();											
%data = (											
    version       => "2",               # バージョン											
    contract_code => $contract_code,    # 契約コード											
    user_id       => $user_id,          # ユーザーID											
    user_name     => $user_name,        # ユーザー名											
    user_mail_add =>											
    $user_mail_add,                          # ユーザーメールアドレス											
    item_code    => $item_code,              # 商品コード											
    item_name    => $item_name,              # 商品名											
    order_number => $order_number,           # 注文番号											
    st_code      => $select_st_code{$st},    # 決済区分											
    mission_code => $mission_code,           # 課金区分											
    item_price   => $item_price,             # 価格											
    process_code => $process_code,           # 処理区分											
    memo1        => $memo1,                  # 追加情報1											
    memo2        => $memo2,                  # 追加情報2											
    character_code => "UTF8",                  # 文字コード											
    xml => '1'    # 応答形式 (0:html 1:XML)											
);

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

(3)トークン発行時送信パラメータ
No. 項目名 パラメータ名 属性 必須 説明
契約コード contract_code 半角英数字
8byte(固定)
12345600 イプシロンが加盟店様ごとに採番 します。
申込時にイプシロンの申込完了画面及びメールにて通知します。
イプシロンオブジェクト cardObj オブジェクト cardObj 以下のプロパティ(cardno、expire、securitycode、holdername)を持つJavascriptオブジェクト形式です。
カード番号 cardno 半角数字
10桁~16桁以内
4111111111111110 イプシロンオブジェクト内のプロパティです。
トークン生成対象のカード番号を設定してください。
有効期限 expire 半角数字
6桁
202012 イプシロンオブジェクト内のプロパティです。
トークン生成対象のカード有効期限を設定してください。
セキュリティコード securitycode 半角数字
3-4桁
123   イプシロンオブジェクト内のプロパティです。
トークン生成対象のカードセキュリティコードを設定してください。
カード名義人 holdername 半角文字 EPSILON TAROU   イプシロンオブジェクト内のプロパティです。
トークン生成対象のカード名義人を設定してください。
(4)トークン発行結果受信パラメータ
No. 項目名 パラメータ名 属性 必須 説明
1 トークン生成結果 resultCode 半角数値 3桁 000 エラーについては「イプシロン決済システム仕様書」末尾のエラーコード一覧をご参照ください。
2 トークンオブジェクト tokenObject オブジェクト tokenObject   以下のプロパティ(toBeExpiredAt、token、maskedCardNo、isSecurityCodeSet、cardExpire)を持つJavascriptオブジェクト形式です。
3 トークン有効期限 toBeExpiredAt yyyy-MM-dd-HH-mm-ss形式 2017-12-15-10-30-00   トークンオブジェクト内のプロパティです。トークンの有効期限が設定されています。
4 トークン token 半角英数字 vn409tqrq3jqf4r0qdpowqpweqj3   トークンオブジェクト内のプロパティです。生成したトークンが設定されています。
5 マスクしたカード情報 maskedCardNo 頭1桁と下4桁以外を
マスクしたハイフンありの形式
4***-****-****-1234   トークンオブジェクト内のプロパティです。トークン生成対象のカード情報がマスクされた形式で設定されています。
6 セキュリティコード設定有無 isSecurityCodeSet 半角文字 true   トークンオブジェクト内のプロパティです。トークン生成対象のカードのセキュリティコード設定有無がbool値で設定されています。
7 カード有効期限 cardExpire 半角数字6桁 202012   トークンオブジェクト内のプロパティです。トークン生成に使用したカードの有効期限が設定されています。

1-2.トークン取得(API版)

トークン決済(API版)を利用する場合には、当社から接続に必要な情報である『公開鍵』および『ハッシュ値』の個別発行する必要がございます。
発行には時間を要しますので、お早めに個別発行依頼のご連絡を営業担当もしくはカスタマーサポートまでお願いいたします。

(1)トークン取得のための接続先URL

トークン取得のための接続先URLは以下になります。
※テスト環境と本番環境でURLが異なります。ご注意ください。
【本番環境】 https://secure.epsilon.jp/cgi-bin/order/token_api.cgi
【テスト環境】https://beta.epsilon.jp/cgi-bin/order/token_api.cgi


各種サンプルプログラムは下記よりダウンロード可能です。
【Android(Java)】 サンプルプログラムをダウンロード
【iOS(Swift)】サンプルプログラムをダウンロード

(2)トークン発行処理の導入手順

以下はクレジットカードAPIへ接続する前に加盟店様にて実施いただく内容になります。
実装に当たっては、加盟店様にて十分な検証を行なっていただくよう、お願いいたします。
「(1)トークン取得のための接続先URL」のURLに以下パラメータをPOSTで送信してください。
(3)トークン発行時送信パラメータ
No. 項目名 パラメータ名 属性 必須 説明
1 公開鍵 Encrypted 半角文字 MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuuJP6R/qMgyn1Ir1k53JhA0nr/d7lZ7cEeAjSNSy/uT4xMBo5JtLO4nIMW26d4LMuiUC+DHrT7XMyY6qy2e2d5VbL+b5gFgJjKERvg3MZUwX5ZHA3tkD8D0onYxIdubEl9MovM4uDxhWfS83W2/7QiYXYEiQhG5whWr2+HMDcrqMZWWjjagO9H68sMvrSiF5y47ymX47j1OL968uus69zcC+MCBsT9P2uudJEvO1F5LhFxxFvAuJR9kwV7Jw3UNb9CCPruEcV4lTTCERsrwwRjtItJIrNR9eXqeja5cSFsdxq+rx/QxOvphH4T4SSFXs9diUAJOjBVtq/+oCJCA/awIDAQAB   カード情報を公開鍵で暗号化した情報

カード番号等の情報をEncrypted作成手順に基づき、作成した値を設定してください。※1
2 契約番号 ShopID 半角数字 8桁 11111111   イプシロン契約番号 半角数字
3 ハッシュ値 KeyHash 半角文字 520bDrCZHv8g2p5HjFPic3alyYtKpcKxv3Ziuf0JdOk   事前に共有している公開鍵のハッシュ値

【Encryptedに暗号化されているカード情報】
下記項目をJSON形式にした情報が暗号化されている

No. 項目名 パラメータ名 属性 必須 説明
1 カード番号 cardno 半角数字 10桁~16桁以内 4111111111111110 Json形式のカード情報を公開鍵で暗号化
2 有効期限 expire 半角数字 6桁 202012 YYMM又はYYYYMM
3 セキュリティコード securitycode 半角数字 3-4桁 123   セキュリティコード
4 カード名義 holdername 半角文字 EPSILON TAROU   カード名義

【Encrypted作成手順】
(1) カード情報はjson形式で構築します。
例:{"cardNo":"4111111111111111","expire":"2001","securityCode":"123","holderName":"TAROYAMADA}
(2) (1)をイプシロンから提供された公開鍵を使ってRSA方式(2048bit)で暗号化します。
(3) BASE64でエンコードします。

検証環境では下記『公開鍵』と『ハッシュ値』をご利用ください。

『公開鍵』
BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6pJNbUB3uG9Qaj/ku4zU
tgdwJbY94s0IARfM8c7kUTXGFqaZociqU+3Llrlq7nfTXX+MbPo0IkGoWNaD+9yb
SxT/GjcOq+7APhTIqV3BjU0kFMYcH7S0UfTIIOmPWRsV1v+XTPc3dkPvJFCAB0w6
bK5iK9lMWTNV9u9gKHEgqQ3+0mfstwuWL+bjafSixYWW7rnVfz2TMu8dIWSPEGCR
6wp7M2pAEUfKwDs0sL+E40wFVsFSaW8KD+koO05VGNymU07UolymnwA+cBQEuFFN
w8ekhIMbeKxdiNRuPHDB2hGL29+TyhgGSxt6h9YdQkUxUtTA7YXOoV04c8EHK0sT
CwIDAQAB
END PUBLIC KEY-----

『ハッシュ値』
pTKZebKSpnlPcWTEk4y2XjimkRfxqcUYNwFXokI03J4 

課金区分の指定

// 課金区分 (1:一回のみ 21~32:定期課金)
// 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
$mission_code = $_REQUEST['mission_code'];		

パラメータ(注文情報の生成)

$request->addPostParameter('version', '2' );
$request->addPostParameter('contract_code', $contract_code);
$request->addPostParameter('user_id', $user_id);
$request->addPostParameter('user_name', mb_convert_encoding($user_name, "UTF-8", "auto"));
$request->addPostParameter('user_mail_add', $user_mail_add);
$request->addPostParameter('item_code', $item_code);
$request->addPostParameter('item_name', mb_convert_encoding($item_name, "UTF-8", "auto"));
$request->addPostParameter('order_number', $order_number);
$request->addPostParameter('st_code', $st_code[$st]);
$request->addPostParameter('mission_code', $mission_code);
$request->addPostParameter('item_price', $item_price);
$request->addPostParameter('process_code', $process_code);
$request->addPostParameter('memo1', $memo1);
$request->addPostParameter('memo2', $memo2);
$request->addPostParameter('xml', '1');
$request->addPostParameter('character_code', 'UTF8' );

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

パラメータ(注文情報の生成)

SettlementSendInfo si = this.getSettlmentSendInfo();
List param = new ArrayList();
Integer processCode = si.getProcessCode();
~
switch (processCode){
	case 1: case 2: // 初回/登録済み課金
		param.add( new BasicNameValuePair("version", si.getVersion().toString()));
		param.add( new BasicNameValuePair("contract_code", this.getConfig().getContract_code() ));
		param.add( new BasicNameValuePair("user_id", si.getUserId()));
		param.add( new BasicNameValuePair("user_name", si.getUserName()));
		param.add( new BasicNameValuePair("user_mail_add", si.getUserMailAdd()));
		param.add( new BasicNameValuePair("item_code", si.getItemCode()));
		param.add( new BasicNameValuePair("item_name", si.getItemName()));
		param.add( new BasicNameValuePair("order_number", si.getOrderNumber()));
		param.add( new BasicNameValuePair("st_code",  si.getStCode()));
		param.add( new BasicNameValuePair("mission_code",si.getMissionCode().toString()));
		param.add( new BasicNameValuePair("item_price", si.getItemPrice().toString()));
		param.add( new BasicNameValuePair("process_code", si.getProcessCode().toString()));
		param.add( new BasicNameValuePair("memo1", si.getMemo1()));
		param.add( new BasicNameValuePair("memo2", si.getMemo2()));
		param.add( new BasicNameValuePair("character_code", si.getCharacterCode()));
		param.add( new BasicNameValuePair("xml", si.getXml().toString()));

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

課金区分の指定

# 課金区分 (1:一回のみ 21~32:定期課金)	
# 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
my $mission_code = $q->param("mission_code") || 1;

パラメータ(注文情報の生成)

my %data = ();											
%data = (											
    version       => "2",               # バージョン											
    contract_code => $contract_code,    # 契約コード											
    user_id       => $user_id,          # ユーザーID											
    user_name     => $user_name,        # ユーザー名											
    user_mail_add =>											
    $user_mail_add,                          # ユーザーメールアドレス											
    item_code    => $item_code,              # 商品コード											
    item_name    => $item_name,              # 商品名											
    order_number => $order_number,           # 注文番号											
    st_code      => $select_st_code{$st},    # 決済区分											
    mission_code => $mission_code,           # 課金区分											
    item_price   => $item_price,             # 価格											
    process_code => $process_code,           # 処理区分											
    memo1        => $memo1,                  # 追加情報1											
    memo2        => $memo2,                  # 追加情報2											
    character_code => "UTF8",                  # 文字コード											
    xml => '1'    # 応答形式 (0:html 1:XML)											
);

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

(4)トークン発行結果受信パラメータ
No. 項目名 パラメータ名 属性 必須 説明
1 トークン生成結果 resultCode 半角数値 3桁 000 エラーについては「イプシロン決済システム仕様書」末尾のエラーコード一覧をご参照ください。
2 トークンオブジェクト tokenObject オブジェクト tokenObject   以下のプロパティ(toBeExpiredAt、token、maskedCardNo、isSecurityCodeSet、cardExpire)を持つJavascriptオブジェクト形式です。
3 トークン有効期限 toBeExpiredAt yyyy-MM-dd-HH-mm-ss形式 2017-12-15-10-30-00   トークンオブジェクト内のプロパティです。トークンの有効期限が設定されています。
4 トークン token 半角英数字 vn409tqrq3jqf4r0qdpowqpweqj3   トークンオブジェクト内のプロパティです。生成したトークンが設定されています。
5 マスクしたカード情報 maskedCardNo 頭1桁と下4桁以外を
マスクしたハイフンありの形式
4***-****-****-1234   トークンオブジェクト内のプロパティです。トークン生成対象のカード情報がマスクされた形式で設定されています。
6 セキュリティコード設定有無 isSecurityCodeSet 半角文字 true   トークンオブジェクト内のプロパティです。トークン生成対象のカードのセキュリティコード設定有無がbool値で設定されています。
7 カード有効期限 cardExpire 半角数字6桁 202012   トークンオブジェクト内のプロパティです。トークン生成に使用したカードの有効期限が設定されています。

レスポンスサンプル

{
 resultCode:"000",
 tokenObject:{
  token:"a33c8bec609ffc75726249d8d82286d529bd1deb973119cf497eeb54610ab9d2",
  toBeExpiredAt:"2016-09-26-17-56-38",
  maskedCardNo:"411111*******111",
  isSecurityCodeSet:true
 }
}

課金区分の指定

// 課金区分 (1:一回のみ 21~32:定期課金)
// 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
$mission_code = $_REQUEST['mission_code'];		

パラメータ(注文情報の生成)

$request->addPostParameter('version', '2' );
$request->addPostParameter('contract_code', $contract_code);
$request->addPostParameter('user_id', $user_id);
$request->addPostParameter('user_name', mb_convert_encoding($user_name, "UTF-8", "auto"));
$request->addPostParameter('user_mail_add', $user_mail_add);
$request->addPostParameter('item_code', $item_code);
$request->addPostParameter('item_name', mb_convert_encoding($item_name, "UTF-8", "auto"));
$request->addPostParameter('order_number', $order_number);
$request->addPostParameter('st_code', $st_code[$st]);
$request->addPostParameter('mission_code', $mission_code);
$request->addPostParameter('item_price', $item_price);
$request->addPostParameter('process_code', $process_code);
$request->addPostParameter('memo1', $memo1);
$request->addPostParameter('memo2', $memo2);
$request->addPostParameter('xml', '1');
$request->addPostParameter('character_code', 'UTF8' );

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

パラメータ(注文情報の生成)

SettlementSendInfo si = this.getSettlmentSendInfo();
List param = new ArrayList();
Integer processCode = si.getProcessCode();
~
switch (processCode){
	case 1: case 2: // 初回/登録済み課金
		param.add( new BasicNameValuePair("version", si.getVersion().toString()));
		param.add( new BasicNameValuePair("contract_code", this.getConfig().getContract_code() ));
		param.add( new BasicNameValuePair("user_id", si.getUserId()));
		param.add( new BasicNameValuePair("user_name", si.getUserName()));
		param.add( new BasicNameValuePair("user_mail_add", si.getUserMailAdd()));
		param.add( new BasicNameValuePair("item_code", si.getItemCode()));
		param.add( new BasicNameValuePair("item_name", si.getItemName()));
		param.add( new BasicNameValuePair("order_number", si.getOrderNumber()));
		param.add( new BasicNameValuePair("st_code",  si.getStCode()));
		param.add( new BasicNameValuePair("mission_code",si.getMissionCode().toString()));
		param.add( new BasicNameValuePair("item_price", si.getItemPrice().toString()));
		param.add( new BasicNameValuePair("process_code", si.getProcessCode().toString()));
		param.add( new BasicNameValuePair("memo1", si.getMemo1()));
		param.add( new BasicNameValuePair("memo2", si.getMemo2()));
		param.add( new BasicNameValuePair("character_code", si.getCharacterCode()));
		param.add( new BasicNameValuePair("xml", si.getXml().toString()));

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

課金区分の指定

# 課金区分 (1:一回のみ 21~32:定期課金)	
# 定期課金について契約がない場合は利用できません。また、定期課金を設定した場合決済区分はクレジットカード決済のみとなります。
my $mission_code = $q->param("mission_code") || 1;

パラメータ(注文情報の生成)

my %data = ();											
%data = (											
    version       => "2",               # バージョン											
    contract_code => $contract_code,    # 契約コード											
    user_id       => $user_id,          # ユーザーID											
    user_name     => $user_name,        # ユーザー名											
    user_mail_add =>											
    $user_mail_add,                          # ユーザーメールアドレス											
    item_code    => $item_code,              # 商品コード											
    item_name    => $item_name,              # 商品名											
    order_number => $order_number,           # 注文番号											
    st_code      => $select_st_code{$st},    # 決済区分											
    mission_code => $mission_code,           # 課金区分											
    item_price   => $item_price,             # 価格											
    process_code => $process_code,           # 処理区分											
    memo1        => $memo1,                  # 追加情報1											
    memo2        => $memo2,                  # 追加情報2											
    character_code => "UTF8",                  # 文字コード											
    xml => '1'    # 応答形式 (0:html 1:XML)											
);

※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。

「イプシロン決済システム仕様書」は管理画面にてダウンロードいただけます。

▼仕様書のダウンロードはこちら
管理画面【サポート】⇒【各種資料ダウンロード】