[ic] SOAP in a payment module - help requested
Stefan Hornburg (Racke)
racke at linuxia.de
Fri Dec 20 14:57:59 UTC 2013
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).
You can take a look at that, we are also available for professional support.
Regards
Racke
> Cheers,
> Glenn.
> glenn at bnetmd.net
> 410-303-2073
>
> -------------------------------------------------------------------------------------
> just for grins - this is my test program
> -------------------------------------------------------------------------------------
> #!/usr/bin/perl
> use strict;
> use warnings;
> use SOAP::Lite;
>
> my $chargedata = "";
>
> GetData();
>
> my @PARAMS = ( SOAP::Data->name(processGift => $chargedata));
>
> # define the SOAP object
> my $server = SOAP::Lite->new()
> ->uri("https://cmdi.net/ccService")
> ->proxy("https://p23.cmdi.net/ccServiceHost/ccServiceHost.svc?wsdl")
> ->on_action ( sub { "https://cmdi.net/ccService/IProcessCard/processGift"; } );
>
> # call the CMDI server and get an answer
> my $result = $server->call('processGift', @PARAMS);
> die $result->faultstring if $result->fault;
>
> # print the answer
> print "-----------------------------------------------\n";
> print "Raw Answer:\n";
> print $result->result;
> print "-----------------------------------------------\n";
> print "Faultstring:\n";
> print $result->faultstring;
> print $result->fault->{'detail'} . "\n";
>
>
>
> ######################################################################
> # GetData sets the dummy transaction data to be sent #
> ######################################################################
> sub GetData {
> # set up the transaction info
> $chargedata .= " <processGift>";
> $chargedata .= " <ccData>";
> $chargedata .= " <token>7FA5C543-A276-4D76-959D-10B384AA5A78</token>";
> $chargedata .= " <callercode>cmdi_test</callercode>";
> $chargedata .= " <callertid>RNCtest001</callertid>";
> $chargedata .= " <prefix></prefix>";
> $chargedata .= " <fname>Glenn</fname>";
> $chargedata .= " <mname></mname>";
> $chargedata .= " <lname>McCalley</lname>";
> $chargedata .= " <suffix></suffix>";
> $chargedata .= " <addr1>123 Some Street</addr1>";
> $chargedata .= " <city></city>";
> $chargedata .= " <state></state>";
> $chargedata .= " <zip>21161</zip>";
> $chargedata .= " <giftdte>11/18/2013</giftdte>";
> $chargedata .= " <giftamt>1.00</giftamt>";
> $chargedata .= " <nameoncard></nameoncard>";
> $chargedata .= " <cardno>4444333322221111</cardno>";
> $chargedata .= " <expmo>09</expmo>";
> $chargedata .= " <expyr>2017</expyr>";
> $chargedata .= " <cvv>321</cvv>";
> $chargedata .= " </ccData>";
> $chargedata .= " </processGift>";
> }
>
>
>
> _______________________________________________
> interchange-users mailing list
> interchange-users at icdevgroup.org
> http://www.icdevgroup.org/mailman/listinfo/interchange-users
>
--
LinuXia Systems => http://www.linuxia.de/
Expert Interchange Consulting and System Administration
ICDEVGROUP => http://www.icdevgroup.org/
Interchange Development Team
More information about the interchange-users
mailing list