# 後払い用パラメータ consignee_postal = param["consignee_postal"][0] || "" consignee_name = param["consignee_name"][0] || "" consignee_pref = param["consignee_pref"][0] || "" consignee_address = param["consignee_address"][0] || "" consignee_tel = param["consignee_tel"][0] || "" orderer_postal = param["orderer_postal"][0] || "" orderer_name = param["orderer_name"][0] || "" orderer_pref = param["orderer_pref"][0] || "" orderer_address = param["orderer_address"][0] || "" orderer_tel = param["orderer_tel"][0] || "" atobarai_para = consignee_postal.length + consignee_name.length + consignee_address.length + consignee_tel.length + orderer_postal.length + orderer_name.length + orderer_address.length + orderer_tel.length data["delivery_code"] = 99 data["consignee_postal"] = consignee_postal data["consignee_name"] = consignee_name data["consignee_address"] = "%s%s"%[@pref_list[consignee_pref], consignee_address] data["consignee_tel"] = consignee_tel data["orderer_postal"] = orderer_postal data["orderer_name"] = orderer_name data["orderer_address"] ="%s%s"%[@pref_list[orderer_pref], orderer_address] data["orderer_tel"] = orderer_tel
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
$consignee_pref = $_REQUEST['consignee_pref']; $consignee_postal = $_REQUEST['consignee_postal']; $consignee_name = $_REQUEST['consignee_name']; $consignee_address = $_REQUEST['consignee_address']; $consignee_tel = $_REQUEST['consignee_tel']; $orderer_pref = $_REQUEST['orderer_pref']; $orderer_postal = $_REQUEST['orderer_postal']; $orderer_name = $_REQUEST['orderer_name']; $orderer_address = $_REQUEST['orderer_address']; $orderer_tel = $_REQUEST['orderer_tel']; $request->addPostParameter('delivery_code',99); $request->addPostParameter('consignee_postal',$consignee_postal); $request->addPostParameter('consignee_name', $consignee_name); $request->addPostParameter('consignee_address',sprintf( "%s%s", $pref_list[$consignee_pref], $consignee_address)); $request->addPostParameter('consignee_tel', $consignee_tel); $request->addPostParameter('orderer_postal', $orderer_postal); $request->addPostParameter('orderer_name', $orderer_name ); $request->addPostParameter('orderer_address', sprintf( "%s%s", $pref_list[$orderer_pref], $orderer_address)); $request->addPostParameter('orderer_tel', $orderer_tel);
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
// 後払い用パラメータの先頭項目に値が有る場合は後払い用パラメータも設定 param.add( new BasicNameValuePair("delivery_code",si.getDeliveryCode())); param.add( new BasicNameValuePair("consignee_postal",si.getConsigneePostal())); param.add( new BasicNameValuePair("consignee_name",si.getConsigneeName())); param.add( new BasicNameValuePair("consignee_address",si.getConsigneeAddress())); param.add( new BasicNameValuePair("consignee_tel",si.getConsigneeTel())); param.add( new BasicNameValuePair("orderer_postal",si.getOrdererPostal())); param.add( new BasicNameValuePair("orderer_name",si.getOrdererName())); param.add( new BasicNameValuePair("orderer_address",si.getOrdererAddress())); param.add( new BasicNameValuePair("orderer_tel",si.getOrdererTel()));
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
# 後払い指定決済 my $consignee_pref = $q->param("consignee_pref"); my $consignee_postal = $q->param("consignee_postal"); my $consignee_name = $q->param("consignee_name"); my $consignee_address = $q->param("consignee_address"); my $consignee_tel = $q->param("consignee_tel"); my $orderer_pref = $q->param("orderer_pref"); my $orderer_postal = $q->param("orderer_postal"); my $orderer_name = $q->param("orderer_name"); my $orderer_address = $q->param("orderer_address"); my $orderer_tel = $q->param("orderer_tel"); # 後払い決済用パラメータが入力されている場合は送信パラメータに含めておく # その場合delivery_codeは99固定 $data{delivery_code} = 99; $data{consignee_postal} = $consignee_postal; $data{consignee_name} = $consignee_name; $data{consignee_address} = sprintf( "%s%s", PREF_LIST()->{$consignee_pref}, $consignee_address); $data{consignee_tel} = $consignee_tel; $data{orderer_postal} = $orderer_postal; $data{orderer_name} = $orderer_name; $data{orderer_address} = sprintf( "%s%s", PREF_LIST()->{$orderer_pref}, $orderer_address); $data{orderer_tel} = $orderer_tel;
※オーダー情報送信先 CGIへPOST、応答内容の解析は、都度課金と同様。
後払い決済利用時、都度決済にて送信しているパラメータに加え、
以下のパラメータを追加することで、購入者様による入力の手間を省くことが可能です。
<種別説明>
◎:必須項目 イプシロンが提供している値を設定してください。
○ :必須項目 表中の説明に従い設定してください。
● :必須項目 注文単位でユニークな値を設定してください。
△:一部必須 コンビ二種別の場合必須項目となります。
- :任意項目 未設定の場合は説明に記載されている値が設定されます。
確認画面は必ず表示されます。
№ | 項目名 | パラメータ名 | 種別 | 属性 | 例 | 説明 |
---|---|---|---|---|---|---|
1 | 配送区分 | delivery_code | ○ | 半角数字 2桁以下 | 99 | 99:後払い決済利用 |
2 | 送り先郵便番号 (荷受人) |
consignee_postal | ○ | 半角数字 7桁 | 1234567 | 配送区分を指定した場合は必須。 送り先の郵便番号を設定 |
3 | 送り先名 | consignee_name | ○ | EUC or S-JIS 64byte | イプシロンタロウ | 配送区分を指定した場合は必須。 送り先の名称 送り先の名前 ※後払い利用時は全半角21文字以下 入力画面にて、ユーザーにて修正が必要な場合があります。 |
4 | 送り先住所 | consignee_address | ○ | 全半角文字 48文字以下 | 東京都渋谷区1-1-1 | 配送区分を指定した場合は必須。 送り先の住所 |
5 | 送り先電話番号 | consignee_tel | ○ | 半角数字 12桁以下 | 0312345678 | 配送区分を指定した場合は必須。 送り先の電話番号 市外局番から入力のこと |
6 | 注文主郵便番号 (購入者) |
orderer_postal | ○ | 半角数字 7桁 | 1234567 | 配送区分を指定した場合は必須。 注文主の郵便番号を設定 |
7 | 注文主名 | orderer_name | ○ | EUC or S-JIS 64byte | イプシロンタロウ | 配送区分を指定した場合は必須。 注文主の名称 注文主の名前 ※後払い利用時は全半角21文字以下 入力画面にて、ユーザーにて修正が必要な場合があります。 |
8 | 注文主住所 | orderer_address | ○ | 全半角文字 48文字以下 | 東京都渋谷区1-1-1 | 配送区分を指定した場合は必須。 注文主の住所 |
9 | 注文主電話番号 | orderer_tel | ○ | 半角数字 12桁以下 | 0312345678 | 配送区分を指定した場合は必須。 送り先の電話番号 市外局番から入力のこと |
後払い決済につきましては、他の決済方法と相違して一連の取引で決済は完結いたしません。
決済申し込み時に審査中の場合、後日審査結果が決済業者より通知されます。
また、出荷報告頂いた後、支払い対象となる決済の確定が決済業者より通知されます。
したがいまして、後払い決済の決済状況変更となった場合に、情報をイプシロン⇒加盟店様へ通知いたします。
イプシロン管理画面のシステム情報>後払い決済ステータス変更通知送信先に登録いただくことで、通知されます。
# 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";# 失敗応答
$request = array(); foreach( $_REQUEST as $k => $v ){ array_push( $request, sprintf("%s = %s", $k, $v )); } $fio = fopen( $output_file,"a" ); fwrite( $fio,sprintf("%s %s\n", date("Ymd H:i:s"), join(",",$request ) ) ); fclose($fio);
# 成功パターン echo "1\n"; # 失敗パターン # echo "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.getDeferred_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"; # 失敗時
№ | 項目名 | パラメータ名 | 属性 | 説明 |
---|---|---|---|---|
1 | トランザクションコード | trans_code | 半角数字 | 該当取引の「trans_code」、イプシロンでユニークに採番 |
2 | オーダー番号 | order_number | 半角英数字 | 該当取引の「order_number」と同様 |
3 | ステータス | state | 半角数字 | 該当取引のステータス |
4 | 決済方法 | payment_code | 半角数字 | 実際に選択された決済方法を設定 18:GMO後払い決済 |
ステータスの変更通知について加盟店様で正常受信をイプシロンサーバに送信していただく必要がございま す。
弊社で加盟店様の正常結果を受信しない場合、24 時間通知のリトライを実施いたします。
したがいまして、通知を正常に受信された場合、以下の方法で弊社に正常結果を応答してください。
№ | 項目名 | 属性 | 説明 |
---|---|---|---|
1 | 結果コード | 半角数字 | 1:正常に変更通知を受信した場合 0:正常に変更通知を受信出来なかった場合 |