osCommerce Community Support Forums: Paymentech contribution - osCommerce Community Support Forums

Jump to content

Corporate Sponsors (view more of our hosting, developer, and service partners)


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Paymentech contribution Rate Topic: -----

#1 User is offline   Enrico Icon

  • Find Posts
  • Group: Community Member
  • Posts: 36
  • Joined: 25-May 04
  • Real Name:Enrico Palazo

Posted 11 April 2005 - 01:25 PM

Has anyone had success getting the contribution to work??
0

#2 User is offline   Wheat Icon

  • Find Posts
  • Group: Community Member
  • Posts: 12
  • Joined: 04-September 03
  • Real Name:wheat
  • Location:Chicago

Posted 18 April 2005 - 11:31 PM

See this thread

http://forums.oscomm...2&hl=paymentech
0

#3 User is offline   mservice@sisintl.com Icon

  • Find Posts
  • Group: Community Member
  • Posts: 1
  • Joined: 17-May 05
  • Real Name:Matt

Posted 17 May 2005 - 02:25 PM

Wheat, on Apr 18 2005, 07:31 PM, said:



We had minixml 1.3.0 installed and received the error regarding line 337 (see snippet below) - we then rolled back to 1.2.6 and still get the same error. Line 337 reads:

if ($procstatus->getValue() === '0') {

any ideas?
0

#4 User is offline   kitchenbitch Icon

  • Find Posts
  • Group: Community Member
  • Posts: 2
  • Joined: 15-September 05
  • Real Name:paul j. stevens
  • Location:Tampa, FL, USA

Posted 19 September 2005 - 02:44 PM

Getting things to work with Paymentech/Orbital is a bit challenging, but if it helps, here's some information, along with a couple of fixes, that I can pass along:

1. Paymentech has TWO environments: Test and Production. Each has to have a unique Merchant ID associated with it in order for things to be set up on their end correctly. Meaning, if you've selected Test mode through the OSC Admin and you pass Paymentech your Production Merchant ID, it won't work.

2. The Paymentech environments do not talk to each other. If you've got the OSC switch set to run in Test mode, you'll be sending data to their Test server. If you've got the OSC switch set to run in Production mode, you'll be sending data to their Production server. Each server needs to have your shopping cart's IP addresses loaded on it. If they're not, you'll bomb out with a 20412 error ("Precondition Failed: Security Information is missing"). The only way to get your IP addresses loaded on each server is to call the Orbital 800 number.

[FYI: Once the IP addresses have been added, you need to wait about an hour before you sending a sale through.]

3. Make sure that you've got the correct merchant information in the correct field in the OSC Admin. Paymentech sends their Orbital customers a document showing their "Group" number and "Merchant Number". The "Merchant Number" is the "Bank Merchant Number" or "Visa/Mastercard Merchant Number". Meaning, if there's ever a question about a sale and someone calls on it, the "Merchant Number" would come into play. For sending data to the Paymentech Test and Production environments, the GROUP number needs to be sent. If the Group number is NOT sent, Paymentech will return a "9717 Security Information - agent/chain/merchant is missing" error and you'll be scratching your head thinking, "But I SENT the Merchant ID! What else could be missing?!!"

Also, the "Paymentech Trace ID" field shown on the OSC Admin is actually the Paymentech "Terminal ID". "Terminal ID" doesn't seem to be included in any of the initial documents sent by Paymentech, but a quick call to their 800 number should provide that. If the wrong "Terminal ID" is sent, Paymentech will return a "523 An invalid TID was received (xxx)" (where xxx is the ID that was entered in the "Payment Trace ID" field through the OSC Admin.

Lastly, double-check everything. This seems obvious, but when you're trying to get a new module working and the pressure is on, it's easy to overlook stuff like this.

4. FIX: In the process of adding taxes (and other percentile amounts) to the order's total amount, OSC keeps everything as a float data type. Even though paymentech.php was coded things to multiply the total by 100 to eliminate decimal positions (which are not allowed on the authorizations), the total remains a float. Meaning, there are still decimal positions! This will cause the auth to fail with an "801 Error validating amount. Must be numerical and greater than 0 [xxxx.xxxx]" (where xxxx.xxxx is the total amount that was actually sent to Paymentech. I don't know if there's a specific setting in OSC's Admin to limit the number of decimal positions, but this will take care of things regardless:

Old Line:
tep_draw_hidden_field('my_totalamount', ($order->info['total'])*100) .

New Line:
tep_draw_hidden_field('my_totalamount', round(($order->info['total'] * 100), 0)) .

5. FIX: In tracing through the Line 337 error ("Fatal error: Call to a member function on a non-object in ... paymentech.php on line 337"), I discovered that line 337 was bombing because the $procstatus object was never created two lines earlier. No $procstatus object = No $procstatus value = BOOM! So, I contacted Wheat explaining what I had found and he sent me brand new versions of the following classes:

doc.inc.php
element.inc.php
node.inc.php
treecomp.inc.php

New versions located here listed as "Ver2 Update":
http://www.oscommerc...ity/contri...ns,1998/page,15

These worked like a charm with no further code changes needed oni my part! Big kudos to Wheat also for answering my cry for help as quickly as he did!

Hope this helps!

Paul
0

#5 User is offline   user435 Icon

  • Find Posts
  • Group: Community Member
  • Posts: 18
  • Joined: 05-November 05
  • Real Name:Phil

Posted 30 November 2005 - 01:39 AM

I'm at the point where I need to install a gateway for these CC transactions. I'm thinking of using paymentech, however from the search that I've done and the little information that I've found, paymentech's orbital gateway is either easy to setup (with the info above) or an absolute nightmare.

I would really like to talk with someone that is currently using paymentech for there online store before I dive into this.

In addition, if you have the experience that would suggest a better means, please reply.

Thanks.
0

#6 User is offline   mkmaurya Icon

  • Find Posts
  • Group: Community Member
  • Posts: 5
  • Joined: 05-January 06
  • Real Name:Manoj

Posted 06 January 2006 - 12:38 PM

Hi kitchenbitch,

I am facing the same issue which you have described below:

2. The Paymentech environments do not talk to each other. If you've got the OSC switch set to run in Test mode, you'll be sending data to their Test server. If you've got the OSC switch set to run in Production mode, you'll be sending data to their Production server. Each server needs to have your shopping cart's IP addresses loaded on it. If they're not, you'll bomb out with a 20412 error ("Precondition Failed: Security Information is missing"). The only way to get your IP addresses loaded on each server is to call the Orbital 800 number.

[FYI: Once the IP addresses have been added, you need to wait about an hour before you sending a sale through.]


If you can please tell me how to call this Orbital 800 number and get rid of this warning. Should I need to add some extra code or to do some extra setting.

Also my OSC Admin is not having the Test mode / Production mode option, which you are talking about in your statement.

Eagerly waiting for your response.

Thanks,
Manoj.
0

#7 User is offline   FlyingKites Icon

  • Find Posts
  • Group: Community Member
  • Posts: 1,250
  • Joined: 12-September 03
  • Real Name:Kym
  • Gender:Female
  • Location:ozEworks.com

Posted 08 February 2006 - 03:50 PM

We still get the 337 error even though we applied the patch. Anyone have any ideas?

Also it gives a choice of Tampa or Salem and our client has told us "Nashville" network. This a new one? How do we handle that?
Kym
0

#8 User is offline   FlyingKites Icon

  • Find Posts
  • Group: Community Member
  • Posts: 1,250
  • Joined: 12-September 03
  • Real Name:Kym
  • Gender:Female
  • Location:ozEworks.com

Posted 11 February 2006 - 03:03 PM

okay we fixed one - but Nashville?
Kym
0

#9 User is offline   wordx Icon

  • Find Posts
  • Group: Community Member
  • Posts: 12
  • Joined: 10-November 05
  • Real Name:Jeffrey Goldsmith

Posted 03 March 2006 - 02:33 PM

View PostFlyingKites, on Feb 11 2006, 07:03 AM, said:

okay we fixed one - but Nashville?


How did you fix the 337 error?
0

#10 User is offline   flying_kites Icon

  • Find Posts
  • Group: Community Member
  • Posts: 49
  • Joined: 24-March 06
  • Real Name:flyingkites

Posted 19 April 2006 - 12:13 AM

Hi

Sorry about the slow response. My account seemed to have gotten messed up somehow. I have been suspended until 1970! :)

Ask a member here called Kit. He is my team leader and may recall what he did.

regards
Kym
0

#11 User is offline   OSCommerceSurgeon Icon

  • Find Posts
  • Group: Community Member
  • Posts: 37
  • Joined: 08-August 04
  • Real Name:Adam
  • Location:canada

Posted 27 April 2006 - 08:19 PM

I downloaded and installed the paymentech contribution.

Then I applied the fixes as described above, super. It got rid of the decimal issue.

The module was still broken, no matter what I did it always sent back the error code of:
"20412:Presecurity condition not met"

After ignorning the documentation I decided to modify the headers and how CURL was sending the request to their server. I dont know if my fix is universal or not, or if it is because I am using Firefox and sending from a shared certificate SSL windows server.

In the beforeprocess(); after the curl_init and before the curl_exec, function you will notice this block of code:

 
 		// curl_setopt($ch, CURLOPT_VERBOSE, 1); // comment once in production
		  if(!curl_setopt($ch, CURLOPT_URL, GATEWAY_URL)) {echo 'CURLOPT URL Error<p>';}
		  if(!curl_setopt($ch, CURLOPT_HEADER, 1)) {echo 'CURLOPT Header Error<p>';}
		  if(!curl_setopt($ch, CURLOPT_HTTPHEADER, array('POST /AUTHORIZE HTTP/1.0', 'MIME-Version: 1.0', 'Content-type: application/PTI21',
			  'Content-transfer-encoding: text', 'Request-number: 1', 'Document-type: Request'))) {echo 'CURLOPT HTTPHEADER Error<p>';}
		  if(!curl_setopt($ch, CURLOPT_POST, 1)) {echo 'CURLOPT POST Error<p>';}
		  if(!curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest)) {echo 'CURLOPT POSTFIELDS Error<p>';}
		  if(!curl_setopt($ch, CURLOPT_TIMEOUT, 90)) {echo 'CURLOPT TIMEOUT Error<p>';} 
		  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // gives error, but keeps xml formatting


That is the one that was causing me extreme hurt.

If you are receiving the error that I was without anywhere else to turn and gave up on the documentation then change it to this:

if(!curl_setopt($ch, CURLOPT_URL, GATEWAY_URL)) {echo 'CURLOPT URL Error<p>';}
		  curl_setopt($ch, CURLOPT_HTTPHEADER, array('MIME-Version: 1.0','Content-transfer-encoding: text','Document-type: Request','Content-type: application/PTI34'));
		  if(!curl_setopt($ch, CURLOPT_POSTFIELDS, $xmlRequest)) {echo 'CURLOPT POSTFIELDS Error<p>';} 
		  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // gives error, but keeps xml formatting
		  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);


It worked for me and it only took 3 days to hack it out... wahoooo

This post has been edited by OSCommerceSurgeon: 27 April 2006 - 08:20 PM

While I'm operating on OSCommerce, I don't have to worry about silly vitals or forgetting to turn off the ane..the.. no wait I remember aes....thetic, or right I've got it Anaesthetic
0

#12 User is offline   OSCommerceSurgeon Icon

  • Find Posts
  • Group: Community Member
  • Posts: 37
  • Joined: 08-August 04
  • Real Name:Adam
  • Location:canada

Posted 27 April 2006 - 08:28 PM

I've read through all the documentation I could find on their site and as far as I understand their system there is no Nashville.

000001 = Salem
000002 = Tampa (default)

But that doesnt mean anything as I have found.

If your client insists that they should be submitting to Nashville then you have to find the numerical representation for Nashville.

In the actual XML submission the BIN is represented as a number: 000001 or 000002

If you want to change the BIN to where it is getting submitted to, the quick and easy way.

Edit your paymentech.php file.

Look for this line:
$BIN->text(MODULE_PAYMENT_PAYMENTECH_BIN);


Change it to:
$BIN->text('000003');


Or whatever numerical representation Nashville is, because I havent seen that BIN anywhere.

hope that helps
While I'm operating on OSCommerce, I don't have to worry about silly vitals or forgetting to turn off the ane..the.. no wait I remember aes....thetic, or right I've got it Anaesthetic
0

#13 User is offline   thakhin Icon

  • Find Posts
  • Group: Community Member
  • Posts: 1
  • Joined: 31-May 06
  • Real Name:Yadanar

Posted 06 June 2006 - 11:33 PM

I installed the Paymentech Orbital Gateway module ver 2 as instructed.
( cURL library function installed http://curl.haxx.se)
( miniXML php package installed as instructed - Ver2 - Update)

and I called Paymentech Gateway Support and got back as follow
Primary URL: https://orbitalvar1.paymentech.net
Secondary URL: https://orbitalvar2.paymentech.net
BIN: 000002, MID: #######, TID: 001

Then, all are configured thru OScommerce Admin and test this paymenttech Gateway module through my shopping cart system with the following data

Name ABC
Visa 4012888888881
Any expiration date
Credit Card Verification Number: 234

Whatever I put in the form field (Credit Card Verification) is received the same error message as follow

Credit Card Error!

Other fields are look like working well.

Has anyone gotten this error yet?
Any ideas will be appreciated !!
0

#14 User is offline   austintechsus Icon

  • Find Posts
  • Group: Community Member
  • Posts: 15
  • Joined: 10-July 06
  • Real Name:Tom

Posted 15 August 2006 - 06:39 PM

First, Thanks so much for this contribution, Wheat!

Thanks also for the explanation below, Paul!

I am not a programmer, but a hack and so far have been able to make things work.

I have a question for you, Paul about the Fix, Item 4. below...
Is this rounding to the nearest unit ($) because of the zero "0" or the 100th (penny)? If it is rounding to the dollar and I use a two (2) instead of the zero (0), can I get it to round to a penny?


Thanks in advance,

Tom


View Postkitchenbitch, on Sep 19 2005, 09:44 AM, said:

Getting things to work with Paymentech/Orbital is a bit challenging, but if it helps, here's some information, along with a couple of fixes, that I can pass along:

1. Paymentech has TWO environments: Test and Production. Each has to have a unique Merchant ID associated with it in order for things to be set up on their end correctly. Meaning, if you've selected Test mode through the OSC Admin and you pass Paymentech your Production Merchant ID, it won't work.

2. The Paymentech environments do not talk to each other. If you've got the OSC switch set to run in Test mode, you'll be sending data to their Test server. If you've got the OSC switch set to run in Production mode, you'll be sending data to their Production server. Each server needs to have your shopping cart's IP addresses loaded on it. If they're not, you'll bomb out with a 20412 error ("Precondition Failed: Security Information is missing"). The only way to get your IP addresses loaded on each server is to call the Orbital 800 number.

[FYI: Once the IP addresses have been added, you need to wait about an hour before you sending a sale through.]

3. Make sure that you've got the correct merchant information in the correct field in the OSC Admin. Paymentech sends their Orbital customers a document showing their "Group" number and "Merchant Number". The "Merchant Number" is the "Bank Merchant Number" or "Visa/Mastercard Merchant Number". Meaning, if there's ever a question about a sale and someone calls on it, the "Merchant Number" would come into play. For sending data to the Paymentech Test and Production environments, the GROUP number needs to be sent. If the Group number is NOT sent, Paymentech will return a "9717 Security Information - agent/chain/merchant is missing" error and you'll be scratching your head thinking, "But I SENT the Merchant ID! What else could be missing?!!"

Also, the "Paymentech Trace ID" field shown on the OSC Admin is actually the Paymentech "Terminal ID". "Terminal ID" doesn't seem to be included in any of the initial documents sent by Paymentech, but a quick call to their 800 number should provide that. If the wrong "Terminal ID" is sent, Paymentech will return a "523 An invalid TID was received (xxx)" (where xxx is the ID that was entered in the "Payment Trace ID" field through the OSC Admin.

Lastly, double-check everything. This seems obvious, but when you're trying to get a new module working and the pressure is on, it's easy to overlook stuff like this.

4. FIX: In the process of adding taxes (and other percentile amounts) to the order's total amount, OSC keeps everything as a float data type. Even though paymentech.php was coded things to multiply the total by 100 to eliminate decimal positions (which are not allowed on the authorizations), the total remains a float. Meaning, there are still decimal positions! This will cause the auth to fail with an "801 Error validating amount. Must be numerical and greater than 0 [xxxx.xxxx]" (where xxxx.xxxx is the total amount that was actually sent to Paymentech. I don't know if there's a specific setting in OSC's Admin to limit the number of decimal positions, but this will take care of things regardless:

Old Line:
tep_draw_hidden_field('my_totalamount', ($order->info['total'])*100) .

New Line:
tep_draw_hidden_field('my_totalamount', round(($order->info['total'] * 100), 0)) .

5. FIX: In tracing through the Line 337 error ("Fatal error: Call to a member function on a non-object in ... paymentech.php on line 337"), I discovered that line 337 was bombing because the $procstatus object was never created two lines earlier. No $procstatus object = No $procstatus value = BOOM! So, I contacted Wheat explaining what I had found and he sent me brand new versions of the following classes:

doc.inc.php
element.inc.php
node.inc.php
treecomp.inc.php

New versions located here listed as "Ver2 Update":
http://www.oscommerc...ity/contri...ns,1998/page,15

These worked like a charm with no further code changes needed oni my part! Big kudos to Wheat also for answering my cry for help as quickly as he did!

Hope this helps!

Paul

0

#15 User is offline   gooflox Icon

  • Find Posts
  • Group: Community Member
  • Posts: 1
  • Joined: 06-November 04
  • Real Name:Dan

Posted 17 February 2007 - 02:50 AM

I have tried all the suggestions and contributions (ver2 & Ver2 Update) and am still getting the 337 error. What am I missing? Any further insight would be great!!
0

#16 User is offline   arya Icon

  • Find Posts
  • Group: Community Member
  • Posts: 16
  • Joined: 28-June 05
  • Real Name:Madhab Chandra Nath

Posted 15 October 2007 - 04:02 PM

Hi,

I have configured exactly as brifed, also send my Server IP address to the Orbital and they add it. But i still got Page Can not be displayed error.

My Server is CURL enabled. I doubled checked that before sending request to the Paymentech Server everything is fine. But i can't get any response from them and i don't think that CURL is a problem. As i checked it and it's enabled in my server.

Any help will be appriciated !!!

arya
0

#17 User is offline   haritha Icon

  • Find Posts
  • Group: Community Member
  • Posts: 2
  • Joined: 18-February 08
  • Real Name:Haritha Tadiparthi

Posted 18 February 2008 - 12:01 PM

Hi All,

Could any one provide me information as to how I could affiliate an ip address with the paymentech Orbital gateway.

I couldn't find much information on the Paymentech site. I have read in the Paymentech COM SDK Documentation that the Orbital Gateway uses source IP authentication to authenticate the request generation. So I need to raise a request to the paymentech support.

Please let me know the number where I could contact Paymentech support or where I could raise a request online.

Any help would be highly appreciated.

Thanks
0

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic