コンビニ決済のみ、都度決済にて作成した処理を一部変更することでリダイレクトなし(決済選択画面、コンビニ選択画面の表示なし)に決済を実施することができます。
# 決済区分 (使用したい決済方法を指定してください。登録時に申し込まれていない決済方法は指定できません。)
# 指定方法はCGI設定マニュアルの「決済区分について」を参照してください。
st_code = {
"card" => "10000-0000-00000-00000-00000-00000-00000 ",
"normal" => "10100-0000-00000-00010-00000-00000-00000 ",
"conveni" => "00100-0000-00000-00000-00000-00000-00000 ",
"atobarai" => "00000-0000-00000-00010-00000-00000-00000 ",
}
# コンビニコード直接決済 conveni_code = param["conveni_code"][0] || "" user_tel = param["user_tel"][0] || "" user_name_kana = param["user_name_kana"][0] || ""
data = {
"version" => "2",
"contract_code" => contract_code,
"user_id" => user_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" => st_code[st],
"mission_code" => mission_code,
"item_price" => @item_price,
"process_code" => process_code,
"memo1" => memo1,
"memo2" => memo2,
"xml" => "1",
"character_code" => "UTF8"
}
data["conveni_code"] = conveni_code
data["user_tel"] = user_tel
data["user_name_kana"] = user_name_kana
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
// 決済区分 (使用したい決済方法を指定してください。登録時に申し込まれていない決済方法は指定できません。)
// 指定方法はCGI設定マニュアルの「決済区分について」を参照してください。
$st_code = array( 'normal' => '10100-0000-00000-00010-00000-00000-00000',
'card' => '10000-0000-00000-00000-00000-00000-00000',
'conveni' => '00100-0000-00000-00000-00000-00000-00000',
'atobarai'=> '00000-0000-00000-00010-00000-00000-00000',
);
$conveni_code = $_REQUEST['conveni_code']; $user_tel = $_REQUEST['user_tel']; // ユーザ電話番号 $user_name_kana = $_REQUEST['user_name_kana']; // ユーザー名(カナ)
$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' );
$request->addPostParameter('conveni_code' , $conveni_code );
$request->addPostParameter('user_tel', $user_tel );
$request->addPostParameter('user_name_kana', mb_convert_encoding( $user_name_kana, "UTF-8", "auto" ) );
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
#決済コード # normalのみ契約状況に応じて書き換える select_st_code: "normal" : "10100-0000-00000-00010-00000-00000-00000" "card" : "10000-0000-00000-00000-00000-00000-00000" "conveni" : "00100-0000-00000-00000-00000-00000-00000" "atobarai" : "00000-0000-00000-00010-00000-00000-00000"
param.add( new BasicNameValuePair("conveni_code", si.getConveniCode().toString()));
param.add( new BasicNameValuePair("user_tel", si.getUserTel()));
param.add( new BasicNameValuePair("user_name_kana", si.getUserNameKana()));
SettlementSendInfo si = this.getSettlmentSendInfo(); Listparam = 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、応答内容の解析は、都度課金と同様。
# normal -> 画面より「指定無し」を選択した場合(サンプルでは、クレジットカード決済、コンビニ決済を指定)
# card -> 画面より「カード決済」を選択した場合
# conveni -> 画面より「コンビニ決済」を選択した場合
my %select_st_code = ( 'normal' => '10100-0000-00000-00000-00000-00000-00000',
'card' => '10000-0000-00000-00000-00000-00000-00000',
'conveni' => '00100-0000-00000-00000-00000-00000-00000',
);
# コンビニ指定決済
my $conveni_code = $q->param("conveni_code");
my $user_tel = $q->param("user_tel");
my $user_name_kana = $q->param("user_name_kana");
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)
);
$data{conveni_code} = $conveni_code; # コンビニコード
$data{user_tel} = $user_tel; # ユーザ電話番号
$data{user_name_kana} = $user_name_kana; # ユーザ名カナ
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
オーダー情報送信先 CGI(https://beta.epsilon.jp/cgi-bin/order/receive_order3.cgi)へ設定しているパラメータについて、
以下項目を記載のように指定することでご利用いただけます。
<種別説明>
◎:必須項目 イプシロンが提供している値を設定してください。
○ :必須項目 表中の説明に従い設定してください。
● :必須項目 注文単位でユニークな値を設定してください。
△:一部必須 コンビ二種別の場合必須項目となります。
- :任意項目 未設定の場合は説明に記載されている値が設定されます。
| № | 項目名 | パラメータ名 | 種別 | 属性 | 例 | 説明 |
|---|---|---|---|---|---|---|
| 9 | 決済区分 | st_code | ○ | nnnnn-nnnn-nnnnn-nnnnn- nnnnn-nnnnn-nnnnn (n:0or1) |
00100-0000-00000- 00000-00000-00000-00000 |
コンビニ決済のみ使用するよう指定 |
| 19 | コンビニ種別 | conveni_code | ○ | nn | 11 | 11:セブンイレブン、21ファミリーマート、 31:ローソン、32:セイコーマート、33:ミニストップ |
| 20 | 電話番号 | user_tel | △ | 半角数字 9桁以上11桁以下 | 0312345678 | コンビニ種別に21、31、32を選択した場合必須 |
| 21 | 氏名(カナ) | user_name_kana | △ | イプシロンタロウ | コンビニ種別に21を選択した場合必須 |
応答結果が正常に受け取れた場合は、以下のパラメータが返却されます。
| № | 項目名 | パラメータ名 | 種別 | 属性 | 説明 |
|---|---|---|---|---|---|
| 1 | トランザクションコード | trans_code | ◎ | 半角数字 | イプシロンで発行する取引単位のID、全てユニークの番号 |
| 2 | オーダー番号 | order_number | ○ | URLエンコード済み | 設定した「order_number」と同様 |
| 3 | 支払い状態 | state | ◎ | 半角数字 | 支払いの状態が表示 1:支払い済み、0:決済未完了 コンビニ決済の場合入金処理が行われた時に支払い済みとなるため、オンライン取引の際には0が設定される |
| 4 | ユーザーID | user_id | ○ | URLエンコード済み | 設定した「user_id」と同様 |
| 5 | ユーザー氏名 | user_name | ○ | URLエンコード済み(S-JIS) | 設定した「user_name」と同様 |
| 6 | 処理区分 | process_code | ○ | 半角数字 | 設定した「process_code」と同様 コンビニ決済の場合「1」が設定 |
| 7 | 価格 | item_price | ○ | 半角数字 | 設定した「item_price」と同様 |
| 8 | 予備1 | memo1 | ○ | URLエンコード済み(S-JIS) | 設定した「memo1」と同様 |
| 9 | 予備2 | memo2 | ○ | URLエンコード済み(S-JIS) | 設定した「memo2」と同様 |
| 10 | 課金区分 | mission_code | ○ | 半角数字 | 設定した「mission_code」と同様 コンビニ決済の場合「1」が設定 |
| 11 | メールアドレス | user_mail_add | ○ | URLエンコード済み | 設定した「user_mail_add」と同様 |
| 12 | 決済区分 | st_code | ○ | URLエンコード済み | 設定した「st_code」と同様 コンビニ決済でブランド指定の場合 「00100-0000-00000-00000- 00000-00000-00000」が設定 |
| 13 | 契約コード | contract_code | ◎ | 半角数字 | 設定した「contract_code」と同様 |
| 14 | 商品名 | item_name | ○ | URLエンコード済み(S-JIS) | 設定した「item_name」と同様 |
| 15 | 決済方法 | payment_code | ◎ | 半角数字 | 実際に選択された決済方法を設定 3:コンビニ決済 *当応答ではコンビニ決済のみ返ってきます。 |
| 16 | 商品コード | item_code | ○ | URLエンコード済み | 設定した「item_code」と同様 |
| 17 | コンビニ種別 | conveni_code | ○ | 半角数字 | 決済に利用したコンビニのブランドおよびペイジー 11:セブンイレブン、21ファミリーマート、 31:ローソン、32:セイコーマート、88:ペイジー |
| 18 | 受付番号 | receipt_no | ◎ | 半角数字 | コンビニ各社の受付番号 セブンイレブン:13桁 ファミリーマート:12桁 ローソン、セイコーマート、ミニストップ:7桁 |
| 19 | 企業コード | kigyou_code | △ | 半角数字(5桁) | コンビニ決済:ファミリーマート を選択時のみ設定 |
| 20 | 払込票URL | haraikomi_url | △ | URLエンコード済み デコード後 英数字と「:」「/」「.」「~」「?」「=」「&」の記号 |
コンビニ決済:セブンイレブン選択時のみ設定 |
| 21 | 入金済みフラグ | paid | ◎ | 半角数字(1桁) | 支払いの状態が表示。 1:支払い済み 、0:決済未完了 コンビニ決済の場合入金処理が行われた時に支払い済みとなるため、オンライン取引の際には0が設定される |
| 22 | 受付日時 | receipt_date | ○ | URLエンコード済み デコード後 YYYY-MM-DD hh:mm:ss |
イプシロンでコンビニ決済を受け付けた日時が設定 |
| 23 | コンビニ支払期限 | conveni_limit | ◎ | URLエンコード済み デコード後 YYYY-MM-DD |
当日 + 0~10日のコンビニ会社への入金期限の設定。 未設定の場合はイプシロン管理画面の設定が採用されます。 イプシロン管理画面の設定より「conveni_limit」の指定が優先されます。 |
| 24 | コンビニ入金日時 | conveni_time | × | URLエンコード済み デコード後 YYYY-MM-DD hh:mm:ss |
購入者様がコンビニへ入金した日時 オンライン取引の際には未入金ですので空文字が設定 |
if response["result"] != "1" then # 成功した場合
# 何で決済されたのか判断
if response["payment_code"] == "3" then
# コンビニ決済
if response["conveni_code"] == "11" then # セブンイレブン
# セブンイレブンの場合
result_html = setsumei[11] + "
\n";
result_html += "払込票 : ここをクリック
\n"%[response["haraikomi_url"]]
result_html += "払込票番号 : %s
\n"%[response["receipt_no"]]
elsif response["conveni_code"] == "21" then # ファミマ
# ファミリーマートの場合
result_html = setsumei[21] + "
\n";
result_html += "企業コード: %s
\n"%[response["kigyou_code"]]
result_html += "注文番号 : %s
\n"%[response["receipt_no"]]
elsif response["conveni_code"].to_i().between?(31 , 36) then # 31から36までの間は同じHTML
# ローソン、セイコーマートの場合
result_html = setsumei[response[ "conveni_code"].to_i() ] + "
\n";
result_html += "お支払い受付番号 : %s
\n"%[response["receipt_no"]]
else
print_html("支払情報の取得に失敗しました:%s"%[response["conveni_code"]],payment_name[response["payment_code"]],response["item_name"],response['item_price'],nil)
exit 0;
end
result_html += "
支払期限:%s年 %s月 %s日
\n"%response["conveni_limit"].split("-")
print_html("",payment_name[response["payment_code"]],response["item_name"],response['item_price'],result_html);
exit 0;
else # その他の決済
# それ以外の決済の場合
print_html("",payment_name[response["payment_code"]],response["item_name"],response["item_price"],"ご注文ありがとうございました。")
exit 0;
end
else # 失敗した場合
print_html("取得に失敗",nil,nil,nil,nil)
exit
end
my $result_html;
if (int($response{'payment_code'}) == 3){
# コンビニ支払の場合
if (int($response{'conveni_code'}) == 11){
# セブンイレブンの場合
$result_html = $setsumei{11} . "
\n";
$result_html .= sprintf "払込票 : ここをクリック
\n",$response{'haraikomi_url'};
$result_html .= sprintf "払込票番号 : %s
\n",$response{'receipt_no'};
}
elsif (int($response{'conveni_code'}) == 21){
# ファミリーマートの場合
$result_html = $setsumei{21} . "
\n";
$result_html .= sprintf "企業コード: %s
\n",$response{'kigyou_code'};
$result_html .= sprintf "注文番号 : %s
\n",$response{'receipt_no'};
}
elsif ( 31 <= int($response{'conveni_code'}) && int($response{'conveni_code'}) <= 36 ){
# ローソン、セイコーマートの場合
$result_html = $setsumei{$response{'conveni_code'}} . "
\n";
$result_html .= sprintf "お支払い受付番号 : %s
\n",$response{'receipt_no'};
}
else { # 不明(異常)
print_html("支払情報の取得に失敗しました $response{'conveni_code'}");
exit 0;
}
$result_html .= sprintf "
支払期限:%s年 %s月 %s日
\n",split(/-/,$response{'conveni_limit'});
print_html("",$payment_name{$response{'payment_code'}},$response{'item_name'},$response{'item_price'},$result_html);
exit 0;
}
else {
# それ以外の決済の場合
print_html("",$payment_name{$response{'payment_code'}},$response{'item_name'},$response{'item_price'},"ご注文ありがとうございました。");
exit 0;
}
StringBuffer stringBuffer = new StringBuffer();
Resource epResource = (Resource)request.getAttribute("ep_resource");
String errMsg= request.getAttribute("err_msg") == null ? "" : (String)request.getAttribute("err_msg");
GetSalesResultInfo salesResultInfo = (GetSalesResultInfo)request.getAttribute("resultInfo");
String paymentName = "";
// 表示用の変数作成
if( salesResultInfo.getPaymentCode() != null ){
paymentName = epResource.getPayment_code().get(salesResultInfo.getPaymentCode());
}
String itemName = salesResultInfo.getItemName();
String itemPrice = salesResultInfo.getItemPrice();
String description = "";
// 説明を作成
// コンビニだけ異なる
if( "3".equals(salesResultInfo.getPaymentCode()) ){
int conveniCode = 0;
if( !salesResultInfo.getConveniCode().isEmpty() ){
try{
conveniCode = Integer.parseInt(salesResultInfo.getConveniCode());
}catch(Exception e){
// 引っ掛けておくだけでとりあえず何も行わない
// EPの現状の想定では数字のみであるはず
}
}
// 説明文を追加
stringBuffer.append(epResource.getConveni_description().get(salesResultInfo.getConveniCode()));
stringBuffer.append("
\n");
if( "11".equals(salesResultInfo.getConveniCode()) ){
//セブンイレブン
stringBuffer.append(String.format("払込票 : ここをクリック
\n", salesResultInfo.getHaraikomiUrl()));
stringBuffer.append(String.format("払込票番号 : %s
\n", salesResultInfo.getReceiptNo()));
}else if( "21".equals(salesResultInfo.getConveniCode()) ){
//ファミリーマート
stringBuffer.append(String.format("企業コード : %s
\n", salesResultInfo.getKigyouCode()));
stringBuffer.append(String.format("注文番号 : %s
\n", salesResultInfo.getReceiptNo()));
}else if( 31 <= conveniCode && conveniCode <= 36){
//ローソン等
stringBuffer.append(String.format("お支払い受付番号 : %s
\n", salesResultInfo.getReceiptNo()));
}else{
// 不明
errMsg = String.format("支払情報の取得に失敗しました(%s)",salesResultInfo.getConveniCode() );
}
description = stringBuffer.toString();
}else{ // コンビニ以外は共通
description = "ご注文ありがとうございました。";
}
my $result_html;
if (int($response{'payment_code'}) == 3){
# コンビニ支払の場合
if (int($response{'conveni_code'}) == 11){
# セブンイレブンの場合
$result_html = $setsumei{11} . "
\n";
$result_html .= sprintf "払込票 : ここをクリック
\n",$response{'haraikomi_url'};
$result_html .= sprintf "払込票番号 : %s
\n",$response{'receipt_no'};
}
elsif (int($response{'conveni_code'}) == 21){
# ファミリーマートの場合
$result_html = $setsumei{21} . "
\n";
$result_html .= sprintf "企業コード: %s
\n",$response{'kigyou_code'};
$result_html .= sprintf "注文番号 : %s
\n",$response{'receipt_no'};
}
elsif ( 31 <= int($response{'conveni_code'}) && int($response{'conveni_code'}) <= 36 ){
# ローソン、セイコーマートの場合
$result_html = $setsumei{$response{'conveni_code'}} . "
\n";
$result_html .= sprintf "お支払い受付番号 : %s
\n",$response{'receipt_no'};
}
else { # 不明(異常)
print_html("支払情報の取得に失敗しました $response{'conveni_code'}");
exit 0;
}
$result_html .= sprintf "
支払期限:%s年 %s月 %s日
\n",split(/-/,$response{'conveni_limit'});
print_html("",$payment_name{$response{'payment_code'}},$response{'item_name'},$response{'item_price'},$result_html);
exit 0;
}
else {
# それ以外の決済の場合
print_html("",$payment_name{$response{'payment_code'}},$response{'item_name'},$response{'item_price'},"ご注文ありがとうございました。");
exit 0;
}
取引での注文受付完了後、取引の詳細な情報を確認するための処理です。
コンビニ決済のみ、都度決済にて作成した処理にて、取得するXMLに以下パラメータが追加されます。
| № | 項目名 | パラメータ名 | 種別 | 属性 | 説明 |
|---|---|---|---|---|---|
| 1 | コンビニ種別 | conveni_code | ◎ | 半角数字 | 11:セブンイレブン、21ファミリーマート、 31:Lawson、32:セイコーマート、88:ペイジー |
| 2 | 受付番号 | receipt_no | ◎ | 半角数字 | コンビニ各社の受付番号 セブンイレブン:13桁 ファミリーマート:12桁 ローソン、セイコーマート:7桁 ペイジーの受付番号 7桁 |
| 3 | 企業コード | kigyou_code | △ | 半角数字(5桁) | コンビニ決済:ファミリーマート ペイジー を選択時のみ設定
|
| 4 | 払込票URL | haraikomi_url | △ | URLエンコード済み デコード後 英数字と「:」「/」「.」「~」「?」「=」「&」の記号 |
セブンイレブン選択時のみ設定 |
| 5 | 入金済みフラグ | paid | ◎ | 半角数字(1桁) | 支払いの状態が表示されます。 1:支払い済み 、0:決済未完了 コンビニ決済・ペイジーの場合入金処理が行われたときに支払い済みとなりますのでオンライン取引の際には0が設定されることとなります。 |
| 6 | 受付日時 | receipt_date | ◎ | URLエンコード済み デコード後 YYYY-MM-DD hh:mm:ss |
イプシロンでコンビニ決済・ペイジーを受け付けた日時が設定されます。 |
| 7 | コンビニ支払期限 | conveni_limit | ◎ | URLエンコード済み デコード後 YYYY-MM-DD |
コンビニ会社・ペイジーへの入金期限となります。 支払日を越えての入金はできませんのでご注意ください。 |
| 8 | コンビニ入金日時 | conveni_time | × | URLエンコード済み デコード後 YYYY-MM-DD hh:mm:ss |
購入者様がコンビニ・ペイジーへ入金した日時となります。 オンライン取引の際には未入金ですので空文字が設定されます。 |
# CGIのパラメータを取得
cgi = CGI.new(:accept_charset => 'Shift_JIS')
param = cgi.params
#送信パラメータ一覧を取得
param.each do | key,val |
response.push("%s=%s"%[key,val[0]])
end
# 成功応答 print "Content-type:text/plain\n\n"; print "1\n"; # 成功応答 #print "0 999 DB_ERROR\n";# 失敗応答
# CGIのパラメータを取得
my $cgi = new CGI;
# 送信パラメータ一覧を取得
for ( $cgi->param ){
push( @response, sprintf("%s=%s", $_, uri_unescape($cgi->param($_)) ) );
}
# 応答 print "Content-type:text/plain\n\n"; print "1\n"; # 成功時 #print "0 999 DB_ERROR\n"; # 失敗時
// 応答はtext/plain
response.setContentType("text/plain");
Config config = (Config)request.getAttribute("ep_config");
// パラメータを取得
StringBuffer paramBuf = new StringBuffer();
// 受信時刻を設定
paramBuf.append(new SimpleDateFormat("yyyy/MM/dd HH:mm:ss ").format(Calendar.getInstance().getTime()));
//paramBuf.append(" ");
for( String name: Collections.list(request.getParameterNames())) {
paramBuf.append(String.format("%s=%s,", name,new String(URLDecoder.decode(request.getParameter(name),"UTF-8").getBytes("UTF-8"),"UTF-8" )));
}
// 末尾のカンマを削除
paramBuf.deleteCharAt(paramBuf.length() - 1);
// 改行を追加
paramBuf.append("\n");
// ファイルオープン
try{
// ファイルに受信内容を保存
java.io.File notify_text = new java.io.File(config.getNotify_file());
notify_text.createNewFile();
FileWriter fw = new FileWriter(notify_text,true);
fw.write(paramBuf.toString());
fw.close();
}catch(Exception e){
// 見せる場所がない
e.printStackTrace();
// 応答を返す 0:異常 1:正常 response.getWriter().write(config.getNotify_responce());
# CGIのパラメータを取得
my $cgi = new CGI;
# 送信パラメータ一覧を取得
for ( $cgi->param ){
push( @response, sprintf("%s=%s", $_, uri_unescape($cgi->param($_)) ) );
}
# 応答 print "Content-type:text/plain\n\n"; print "1\n"; # 成功時 #print "0 999 DB_ERROR\n"; # 失敗時
コンビニ決済を選択したユーザーが、実際にコンビニで入金を行った結果を受け取るための機能です。
イプシロン側から、ユーザーID、価格等のパラメータを送信します。入金通知が不要な加盟店様は設定不要です。
イプシロン管理画面のシステム情報>コンビニ・ペイジー入金通知送信先 URLに設定いただいた場合、
コンビニでの入金が確認された取引の情報を以下のようにPOSTします。
| № | 項目名 | パラメータ名 | 種別 | 説明 |
|---|---|---|---|---|
| 1 | トランザクションコード | trans_code | 半角数字 | 該当取引の「trans_code」、イプシロンでユニークに採番 |
| 2 | オーダー番号 | order_number | 半角英数字 | 該当取引の「order_number」と同様 |
| 3 | ユーザーID | user_id | URLエンコード済み | 該当取引の「user_id」と同様 |
| 4 | メールアドレス | user_mail_add | 半角英数字と「.」「_」「-」「@」 | 該当取引の「user_mail_add」と同等 |
| 5 | 入金済みフラグ | paid | 数字 | 1:入金済み が設定 |
| 6 | 商品名 | item_name | URLエンコード済み(S-JIS) | 該当取引の「item_name」と同様 |
| 7 | 価格 | item_price | 半角数字 | 該当取引の「item_price」と同様 |
| 8 | コンビニ名 | conveni_name | URLエンコード済み(S-JIS) | セブンイレブン、ファミリーマート、ローソン、セイコーマート、ペイジー |
9 |
コンビニコード | conveni_code | 数字 | 11:セブンイレブン 21:ファミリーマート 31:ローソン 32:セイコーマート 88:ペイジー |
10 |
入金日時 | conveni_date | YYYY-MM-DD hh:mm:ss | コンビニ決済・ペイジーの入金日時 |
11 |
予備1 | memo1 | URLエンコード済み(S-JIS) | 該当取引の「memo1」と同様 |
12 |
予備2 | memo2 | URLエンコード済み(S-JIS) | 該当取引の「memo2」と同様 |
正常に受信した入金結果をイプシロンサーバへ送信していただく必要がございます。
弊社で受信できない場合、以下の間隔でコンビニ決済入金結果通知のリトラ イを実施いたします。
| № | 項目名 | 属性 | 説明 |
|---|---|---|---|
| 1 | 結果コード | 半角数字 | 1:正常に入金結果を受信した場合 0:正常に入金結果を受信出来なかった場合 |
| 2 | エラー番号 | 半角数字 | 上記が0の場合任意の3桁の番号 エラー番号を送信しない場合は不要 |
| 3 | エラー内容 | S-JIS | 上記が0の場合任意の文言 |