Jump to content
robinm

Chase-PaymenTech (Orbital) gateway

Recommended Posts

Does anyone have the Orbital payment gateway module already built? We just switched from another provider and I am surprised that this gateway is not a standard choice.

 

Support has sent me the API, but I thought I should check here first before attempting to build my own.

 

Any assistance appreciated!! thx!

Share this post


Link to post
Share on other sites

Considering this is only the second request in the last year, I would guess that the answer is going to be no. :( However, let me ask anyway...

 

Can Chase / Paymentech be used as a payment gateway?

 

http://www.chasepaymentech.com/portal/community/chase_paymentech/public/public_website/partners/partner_directory/ecommerce_solution_partners/orbital_gateway_partners

 

Thanx.

Share this post


Link to post
Share on other sites

With some assistance from Matt I was able to hack some code I scooped off the net together to create the attached.

 

It does the job, but check the code comments to make sure you have everything setup as you need. (paymenttech.php should be copied to the modules/gateways folder)

 

You also have to have the minixml.inc.php file in the root, and its associated classes folder also at the root.

 

I have included the pieces. Good Luck!

 

PS> One thing that seems to be broken and that I haven't figured out yet is why when automation fails, it stops trying anything that follows. Not a huge problem, but something to be aware of.

paymenttech.zip

Share this post


Link to post
Share on other sites

THANX! I'll give it a try and see how it goes for me.

You also have to have the minixml.inc.php file in the root, and its associated classes folder also at the root.
Do you mean the root of our WHMCS install, or the root of the site itself?

Share this post


Link to post
Share on other sites

Hi again... I don't really see any inline comments, so some guidance would be appreciated. :) These would be the lines to customize, right?

 

defineGatewayField("paymenttech","text","merchantid","","Merchant ID","20","");
defineGatewayField("paymenttech","yesno","testmode","","Test Mode","","");

Obviously I have to put my Merchant ID # in the first line - but where am I supposed to put it? Does it replace the 'Merchant ID' or does it populate one of the "" blank fields?

 

Thanx.

Share this post


Link to post
Share on other sites

Actually leave those fields as they are. You should copy the component to your modules/gateways folder. Then while in WHMCS go to the Settings -> Payment Gateways page.

 

From there, select the Paymenttech option and you should be presented with these items as text boxes. Fill in the details that are particular to your install.

 

I hope this helps.. You should not need to change the code.

Share this post


Link to post
Share on other sites

I should also mention that the component was not the cause of my automation problems. I had to set my PHP allowed memory to 256M (as described in another post) This was related to invoice generation and not this component.

Share this post


Link to post
Share on other sites

Replace line 24 with..

 

<code>

$passed_amount = number_format($params['amount'],2);

$my_totalamount = str_replace(".","",$passed_amount); // no decimal in passed amount

</code>

 

Found that trailing zeros are missing so $20.00 gets sent through as 0.02 and $12.30 would be charged as 1.23 The above code snippet fixes this issue.

 

Note: This version also strips the Authorization Code and stores it to the corresponding Transaction record.

paymenttech.zip

Edited by robin
added ZIP

Share this post


Link to post
Share on other sites

Grrr... Worked great until tonight (and after I posted the source) isn't that always the way...

 

The code above adds a comma separator for the thousands.

 

Use this instead..

$passed_amount = number_format($params['amount'],2,'.','');

Share this post


Link to post
Share on other sites

OK, thank you. I'm yet to try this because my Paymentech Account is for my physical Card Swipe, which is apparently different from an 'orbital account' they say. It would be convenient if I could use my existing Merchant Number with them. :(

Share this post


Link to post
Share on other sites

"You also have to have the minixml.inc.php file in the root, and its associated classes folder also at the root."

 

Where do you get this file and the classes folder? Is this something from a version of WHMCS earlier than 4.1.2, which is what I'm running? I can't find that anywhere.

Share this post


Link to post
Share on other sites

Thanks, Robin - that took care of one of the problems (I was getting 500 errors).

 

Now, I'm in the process of doing the certification that Orbital requires these days, and I need to record the auth / response code for each of the test transctions. I couldn't see where to find that.

 

Perhaps you could PM me and we can work on this together... then put it in the Comminuty Addons area.

Share this post


Link to post
Share on other sites
Thanks, Robin - that took care of one of the problems (I was getting 500 errors).

 

Now, I'm in the process of doing the certification that Orbital requires these days, and I need to record the auth / response code for each of the test transctions. I couldn't see where to find that.

 

Perhaps you could PM me and we can work on this together... then put it in the Comminuty Addons area.

 

Line 199:

addInvoicePayment($params['invoiceid'],$authCode,"","","paymenttech","on");

 

Your invoice (when viewed in admin) should have the auth code listed at the bottom of the page in the Transactions table.

 

As well, you can uncomment line 177:

// logTransaction("PaymentTech",$result,"Result Info");

 

This will record the XML response packet to the Gateway Log for inspection/troubleshooting.

Share this post


Link to post
Share on other sites

Thanks, Robin.

 

Oddly enough, there isn't anything in the Transactions table. However I do get three entries in the gateway log for each time it tries to process.

 

Entry 1

<Request>

<AC>

<CommonData>

<CommonMandatory HcsTcsInd="T" MessageType="AC" LangInd="00" TzCode="706" AuthOverrideInd="N" Version="2" TxCatg="7" CardHolderAttendanceInd="01">

<AccountNum AccountTypeInd="91">xxxxxxxxxxxxxxxx</AccountNum>

<POSDetails POSEntryMode="01" />

<MerchantID>xxxxxxxxxxxxxxxxxxxx</MerchantID>

<TerminalID POSConditionCode="59" CardPresentInd="N" AttendedTermDataInd="01" TermLocInd="01" CATInfoInd="06" TermEntCapInd="05">001</TerminalID>

<BIN>000002</BIN>

<OrderID>20062</OrderID>

<AmountDetails>

<Amount>3000</Amount>

</AmountDetails>

<TxTypeCommon TxTypeID="G" />

<Currency CurrencyCode="840" CurrencyExponent="2" />

<CardPresence>

<CardNP>

<Exp>1210</Exp>

</CardNP>

</CardPresence>

<TxDateTime>09000403162010</TxDateTime>

</CommonMandatory>

<CommonOptional>

<CardSecVal />

<ECommerceData ECSecurityInd="07">

<ECOrderNum>20062</ECOrderNum>

</ECommerceData>

</CommonOptional>

</CommonData>

<Auth>

<AuthMandatory FormatInd="H" />

<AuthOptional>

<AVSextended>

<AVSname>Paul Srch</AVSname>

<AVSaddress1>PO Box 2984</AVSaddress1>

<AVScity>Cumming</AVScity>

<AVSstate>GA</AVSstate>

<AVSzip>l6l2x9</AVSzip>

</AVSextended>

</AuthOptional>

</Auth>

<Cap>

<CapMandatory>

<EntryDataSrc>02</EntryDataSrc>

</CapMandatory>

<CapOptional />

</Cap>

</AC>

</Request>

 

 

Entry 2

HTTP/1.1 100 Continue

 

HTTP/1.1 412 Precondition Failed

Date: Tue, 16 Mar 2010 13:00:06 GMT

Content-Length: 239

Connection: close

Content-Type: text/html; charset=iso-8859-1

 

<?xml version="1.0" encoding="UTF-8"?><Response><QuickResponse HcsTcsInd="T" Version="2"><ProcStatus>20412</ProcStatus><StatusMsg StatusMsgLth="52">Precondition Failed: Security Information is missing</StatusMsg></QuickResponse></Response>

 

Entry 3

Precondition Failed: Security Information is missing

 

I suspect (after being hit with the obvious stuck) that the security information error is the issue. However, I'm not sure I know what to fix.

 

I will say that I changed the code a bit, to reflect the information I got from the Orbital folks. First, I changed the two $gateway_url lines (lines 38 and 40) to reflect the ones Orbital sent be to use for test and production, respectively.

 

I also changed line 151 so that Content-type is "application/PIT47 (also changed the DTD statement on line 175) to reflect the information I got from Orbital. Those were the only changes.

 

Thoughts?

Edited by siteone

Share this post


Link to post
Share on other sites

I will take a look at this. For now, I suggest that you edit this message to remove your account details.

Share this post


Link to post
Share on other sites

From what I can tell, the error means that they don't have your online systems (external) IP address as an allowed IP address. You are communicating with their gateway server since you are getting sane responses.

 

Give Orbital a call and make sure they have your IP address.

Share this post


Link to post
Share on other sites

XHIBIT

 

Hello, my name is Makenzie Martinez and I work for IP Commerce which is the company that actually runs and manages the Chase Paymentech XpressLab. I can assist you with set up for the Hosted Payment Page. If you will send me your email address, I'll send your some additional information about the Hosted Payment Page, in addition to helping you get started. You may reach me by phone at 303-357-5040 or email me at [email protected].

Edited by mmartinez

Share this post


Link to post
Share on other sites

Going to Orbital also... any updates in the code or status from Aug 2007.

 

I see your post is dated recently Makenzie. Have you integrated this often with WHMCS?

Share this post


Link to post
Share on other sites
Thanks, Robin - that took care of one of the problems (I was getting 500 errors).

 

Now, I'm in the process of doing the certification that Orbital requires these days, and I need to record the auth / response code for each of the test transctions. I couldn't see where to find that.

 

Perhaps you could PM me and we can work on this together... then put it in the Comminuty Addons area.

Hello,I want to integrate orbital gateway payment in website using php ,so please give details to how merge api and xml in php code. please i waiting your reply

Share this post


Link to post
Share on other sites

I am looking to add paymentech/Orbital gateway .. has this code been certified by Orbital (meaning I can just add my Ip and run with it?) ... are there any required updates? It looks like the siteone made a few necessary adjustments (correct URL, etc) ..

 

Is there a final, currnet working version of this?

 

Thanks!!

Share this post


Link to post
Share on other sites

This is the version I am using on my install. I have been using this version for over a year without any problems.

 

It is based on the original code and has been altered for my own use. We did have a USD and CAD account at one time but have since gone to just CAD. As a result, the code for USD was commented out (lines 23 & 93..)

 

As well, I have improved linking and reporting by adding a link wihtin the log back to the invoice which is being paid. Logging also includes the reason the transaction failed or the authCode if success.

 

The miniXML object had some issues with DOCTYPE so there is some intersting code (work around) at line 182.

 

There are some commented out debug lines which will aid in integration (ie. lines 145, 147, 178,... ) If you are able to read PHP, this code should be quite straightforward and easily traced for your system.

paymenttech.php.txt

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

By using this site, you agree to our Terms of Use & Guidelines