[prev in list] [next in list] [prev in thread] [next in thread]
List: interchange-users
Subject: Re: [ic] SOAP in a payment module - help requested
From: Josh Lavin <josh () perusion ! com>
Date: 2013-12-20 15:55:14
Message-ID: 20131220155514.GX23751 () mr-eko ! kdw ! us
[Download RAW message or body]
Quoting Stefan Hornburg (Racke) (racke@linuxia.de):
> On 12/20/2013 02:45 PM, Glenn McCalley wrote:
> > Greetings,
> >
> > The client for one of our stores requires us to use a "non-standard" payment \
> > service that provides them with some reporting on sales. We have processed these \
> > payments using an IC payment module hacked from the authorizenet module for \
> > several years.
> > Now, the payment processor has rewritten their system under Windows and is
> > requiring a SOAP / XML type transaction. (-I- think somebody must have gone
> > to a Micro$oft road show...).
> >
> > My usual approach is to write a program run from the command line with dummy
> > data just to get a transaction to process. When that succeeds, integrate the \
> > core code from that program into an IC Payment module and there we are. This \
> > time I just can't get the durn thing to work AT ALL - can't even get a response \
> > from the server like "invalid card". All I can get is "Object reference not set \
> > to an instance of an object". Having not worked with SOAP, and finding Google \
> > entries for that message equally obtuse I am floundering and out of time.
> >
> > SO! If there is someone out there who knows of a working SOAP payment module
> > I can hack up or wwho has relevant experience who would like to take a crack at \
> > this compensation is available.
> >
>
> We developed this year a payment module for Ipayment, which is based on \
> XML::Compile::SOAP (better suited for SOAP than old crufty SOAP::Lite).
There are currently two Interchange payment modules that use SOAP (via
SOAP::Lite), CyberSource and PaypalExpress.
I am also developing a payment module using SOAP/XML, but found both of
those examples to be pretty complicated.
Here is a snippet from my module in-progress, which is the SOAP call and
response, simplified for me...
my $host = charge_param('test') ? 'staging.merchantware.net' : \
'ps1.merchantware.net';
## the query hash is the stuff you are sending.
my @parms;
while (my ($k,$v) = each %query) {
push @parms, SOAP::Data->name($k => $v);
}
my $soap = SOAP::Lite->new( proxy => \
"https://$host/Merchantware/ws/RetailTransaction/v4/Credit.asmx" ); \
$soap->default_ns('http://schemas.merchantwarehouse.com/merchantware/40/Credit/'); \
$soap->on_action( sub { join '', @_ } ); # make it ok for .NET my $reply = \
$soap->call($method, @parms);
#::logDebug("mw result: $reply");
#::logDebug("mw: ". uneval($reply) );
my $reply_hash;
if ($reply->fault) {
## not handled yet
}
else {
$reply_hash = $reply->valueof('Body/' . $method . 'Response/' . $method . \
'Result'); }
Maybe that will help you along. You can find support from many
consultants, including Perusion at http://www.perusion.com.
--
Josh Lavin
Perusion -- Expert Interchange Consulting http://www.perusion.com/
... ask me about job opportunities ...
_______________________________________________
interchange-users mailing list
interchange-users@icdevgroup.org
http://www.icdevgroup.org/mailman/listinfo/interchange-users
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic