Solved

read a "cgi post back to my server"

Posted on 2013-07-01
6
446 Views
Last Modified: 2013-12-25
I am setting up a payment confirmation/fail page and asked the processing vendor for some sample code for retrieving the transaction details and this is the response I got.

"Here is an example of a CGI response post back to the merchant.  

{status=DUPLICATE&failReason=The+order+already+exists+in+the+database.&OID=1339768581&OID=1339768581&ttime=06%2f15%2f12+02%3a39%3a47+PM&merchant=Hardin+Solutions&merchantphone=123-456-29003&merchantemail=Jeff.koenig%commercebank.com.com&txnorg=eci&subtotal=9.00&chargetotal=9.00&cardnumber=(Visa)++....1111&expmonth=01&expyear=2013&bname=Mike+Snide&baddr1=1245+S.+Todd+St.&City%2c+State%2c+Zip%3a=Wichita%2c+KS%2c+67207&bcountry=US&userid=A33AE3E33079&bcity=Wichita&suppressTitle=true&__VIEWSTATE=%2fwEPDwUJLTc0ODU2OTMzZGQ%3d&cctype=V&invoice_number=1339768581&bzip=67207&bstate=KS}
"

I really can't figure out how to access that in php,  but even in anything would steer me in the right direction.  Thanks in advance for any help/tips....
0
Comment
Question by:ststesting
  • 3
  • 3
6 Comments
 
LVL 34

Accepted Solution

by:
gr8gonzo earned 500 total points
Comment Utility
Usually this information comes back as a result of an attempt to send a credit card charge attempt. That's the important piece of information to confirm.

The data structure itself looks like a URL-encoded string enclosed in curly { } braces. I would normally decode it like this:

$response = "{ .... that response data .... }";
parse_str(urldecode(trim(trim($response),"{}")),$parsed_response);

// Now $parsed_response should be an array...
print_r($parsed_response);
0
 
LVL 2

Author Comment

by:ststesting
Comment Utility
Thanks, that's perfect for making it accessible for this test.

What would I set your first line $response = to in the actual code?
0
 
LVL 34

Expert Comment

by:gr8gonzo
Comment Utility
I'm not sure, that depends on your merchant / vendor. Usually it comes back as a response from the charge submission.

e.g.

$response = try_to_charge($creditcardnumber,$other_details,$apikey);
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 2

Author Comment

by:ststesting
Comment Utility
My charge submission is a form that redirects to their site, then the user is redirected to the confirmation page....
0
 
LVL 34

Expert Comment

by:gr8gonzo
Comment Utility
Usually in that model, the user is redirected back to the final page with the variables in the URL. If you don't see the variables in the URL, you'll have to ask the vendor how you can get them with the redirect approach.
0
 
LVL 2

Author Closing Comment

by:ststesting
Comment Utility
Taking it back to the support guy (who is terrible, or I wouldn't be on here...).

Thanks for the quick, quality response.  Have a good one!
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Popularity Can Be Measured Sometimes we deal with questions of popularity, and we need a way to collect opinions from our clients.  This article shows a simple teaching example of how we might elect a favorite color by letting our clients vote for …
Part of the Global Positioning System A geocode (https://developers.google.com/maps/documentation/geocoding/) is the major subset of a GPS coordinate (http://en.wikipedia.org/wiki/Global_Positioning_System), the other parts being the altitude and t…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now