Jump to content

Chase-PaymenTech (Orbital) gateway


robinm

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!

Link to comment
Share on other sites

  • 1 year later...

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.

Link to comment
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

Link to comment
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.

Link to comment
Share on other sites

  • 3 weeks later...

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.

Link to comment
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.

Link to comment
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
Link to comment
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,'.','');

Link to comment
Share on other sites

  • 7 months later...

"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.

Link to comment
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.

Link to comment
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.

Link to comment
Share on other sites

  • 2 weeks later...

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
Link to comment
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.

Link to comment
Share on other sites

  • 2 weeks later...

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 mmartinez@ipcommerce.com.

Edited by mmartinez
Link to comment
Share on other sites

  • 4 months later...
  • 4 months later...
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

Link to comment
Share on other sites

  • 7 months later...

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!!

Link to comment
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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated