form post URL encoded


H

Hristo Panayotov

Hi folks ! Just registered. I need to send to a Payment Gateway encrypted XML /base64/. Here are their requirements :
=====================
2.Parameter encryption
Java
/String base64Xml = URLEncoder.encode(xml.toString(),"UTF-8");
sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
String base64 = encoder.encode(base64Xml.getBytes());
Php:
$base64 =base64_encode(urlencode($baseStr));
3.Data Submit
<form action=“https://payment.server.com/payment/Interface” method=“post”>
<input type=”hidden” name=”TradeInfo” value=”<%= base64 %>”/>
<input type=”submit” value=”submit” />
</form>
===================
I do everything to complete my XML then I encode it base64 and try to send.They said that cannot decode it. Why? - they dont know. Me too as I'm newby in Perl. They said that maybe my string is not correctly URL encoded...Here is the part of my sending :

#======= Encode XML base64 ================================
use MIME::Base64 ;
$enco = encode_base64($wr);

#======= Send request to Payment Gateway ==================
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new();
my $req = POST 'https://payment.server.com/payment/Interface'; [
type=>'hidden',
name=> 'TradeInfo',
value=> $enco,
type=>'submit',
value=>'submit',

];


$content = $ua->request($req)->as_string;
# print "Content-type: text/html\n\n";
print $content;
======================
$enco is encoded string. When I sent them $enco in a file they decode it correctly. But when I send through Post method they cant

I receive a error.jsp?error=1001 all the time I send
Mybe something wrong in my post? Or ?....
Any help ??????????????????????????????????
 
Ad

Advertisements

R

Rainer Weikusat

Hristo Panayotov said:
=====================
2.Parameter encryption
Java
/String base64Xml = URLEncoder.encode(xml.toString(),"UTF-8");
sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
String base64 = encoder.encode(base64Xml.getBytes());
Php:
$base64 =base64_encode(urlencode($baseStr));
3.Data Submit
<form action=“https://payment.server.com/payment/Interface†method=“postâ€>
<input type=â€hidden†name=â€TradeInfo†value=â€<%= base64 %>â€/>
<input type=â€submit†value=â€submit†/>
</form>
===================
I do everything to complete my XML then I encode it base64 and try to send. They said that cannot decode it. Why? - they dont know. Me too as I'm newby in Perl. They said that maybe my string is not correctly URL encoded...Here is the part of my sending :

#======= Encode XML base64 ================================
use MIME::Base64 ;
$enco = encode_base64($wr);

#======= Send request to Payment Gateway ==================
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
$ua = LWP::UserAgent->new();
my $req = POST 'https://payment.server.com/payment/Interface'; [
type=>'hidden',
name=> 'TradeInfo',
value=> $enco,
type=>'submit',
value=>'submit',

];


$content = $ua->request($req)->as_string;
# print "Content-type: text/html\n\n";
print $content;
======================
$enco is encoded string. When I sent them $enco in a file they
decode it correctly. But when I send through Post method they cant

Quick guess: Are you posting the text with correct line endings, that
is \xd\xa after each line? (you should probably also do somethin a la
binmode(STDOUT) to stop perl from messing with the data).
 
H

Hristo Panayotov

ThanQ Ben ! It is one of my first Perl tries ;) Could U help me some ? itko59 at gmail dot com
 
H

Hristo Panayotov

ThanQ very much ! I'll have in mind ur suggestion. Have to learn !
ThanQ again !
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top