Perlサンプル


#!/usr/local/bin/perl

print "Content-type: text/html\n\n";
print "";

# POST以外は拒否する
if ($ENV{'REQUEST_METHOD'} eq 'POST') {
  read(STDIN, $alldata, $ENV{'CONTENT_LENGTH'});
} else {
  print "不正なアクセスです。";
  return;
}

# リクエストを送信
eval {

  use LWP::UserAgent;

  our $ua = LWP::UserAgent->new;
  our $url = 'https://gw.ccps.jp/payment.aspx';
  our $query_string = $alldata;

  my $req = HTTP::Request->new(POST => $url);
  $req->content_type('application/x-www-form-urlencoded');
  $req->content($query_string);

  my $res = $ua->request($req);
  our $kb = $res->content;
};
if($@) {
  print "Error!!!";
}

@pairs2 = split(/&/,$kb);

foreach $pair2 (@pairs2)
{
  if(index($pair2, "=")){
    ($name2, $value2) = split(/=/, $pair2);
    $value2 =~ tr/+/ /;
    $value2 =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $retv{$name2} = $value2;
  }
}

# rstの値で決済の成否判定
if($retv{rst}=="1"){
  print ( "

決済は成功しました。

" ); } else{ print ( "

決済失敗

エラーコード:" . $retv{ec} . "

" ); }