Jump to content

Problems passing data values to a web page from FM...???


angelleye
 Share

This topic is 5670 days old. Please don't post here. Open a new topic instead.

Recommended Posts

I've developed a script that charges credit cards with Authorize.net that is activated from a button within Filemaker. When you click the button it opens a browser page and passes data as values in the URL to my script. Here is what the FM script does:

"https://www.dealsdirectinc.com/authNet/authTest.asp?phoneNumber="&Invoices::BillingPhone& "&name=" &Leads Clients::BillingName& "&street=" & Leads Clients::BillingAddress1 & " " & Leads Clients::BillingAddress2 & "&city="& Leads Clients::BillingCity& "&state="& Leads Clients::BillingState& "&zip=" & Leads Clients::BillingZipCode& "&invoice=" & GetAsNumber(Invoices::InvoiceNumber) & "&amount=" & GetAsNumber(Invoices::GrandTotal) & "&cardnumber=" & Invoices::CreditCardNumber & "&expdate=" & Invoices::CreditCardExp & "&description=Item+No.+" & InvoiceItems::ItemNumber&"&cardcode="&Invoices::CreditCardSecurityDigits&"&type="&Invoices::Terms

On any invoice I've ever manually put into these FM files, or any invoice that I've tested by inserting through the web shopping cart, the above passes the following string to my script:

x_login=dealexpress2&x_tran_key=yvvEjrzrsksFFk3T&x_version=3.1&x_test_request=true&x_delim_data=true&x_delim_char=|&x_relay_response=false&x_first_name=Andrew&x_last_name=Angell&x_address=805 E. 133rd St. &x_city=Grandview&x_state=MO&x_zip=64030&x_phone=816-729-6833&x_amount=9.99&x_method=CC&x_type=AUTH_CAPTURE&x_card_num=4007000000027&x_exp_date=906&x_card_code=433&x_invoice_num=10249

This is perfect. Somehow, though, my client is having issues with some of their invoices. For some reason many of the values are not getting passed on these particular invoices. Here is a screen shot of one of the invoices that isn't working correctly: http://www.dealsdirectinc.com/temp/fm.jpg

When I click the button that sends off the string to my script for this invoice, the same exact thing as all the rest that work, I end up with this string being passed:

x_login=dealexpress2&x_tran_key=yvvEjrzrsksFFk3T&x_version=3.1&x_test_request=true&x_delim_data=true&x_delim_char=|&x_relay_response=false&x_first_name=Steven&x_last_name=G Saltzman&x_address=954 W WASHINGTON BLVD&x_city=&x_state=&x_zip=&x_phone=312-948-9480&x_amount=&x_method=CC&x_type=AUTH_CAPTURE&x_card_num=&x_exp_date=&x_card_code=&x_invoice_num=

As you can see it's leaving out a bunch of the data. I don't know if it's simply not posting these items or they're being sent as blank or what. It's very hard to troubleshoot because everytime I do one myself it works perfectly. But something about this invoice is causing the problem.

Any information I can get on this would be greatly appreciated. Thanks!

P.S. The credit card number in the screenshot is a fake one used for testing on Authorize.net...so don't think I'm a complete idiot. :

Link to comment
Share on other sites

Ok, turns out it's the # sign in the Address 2 field of that invoice I gave a screenshot of. For some reason Filemaker gets screwed up at this point in sending the data to my script. So, in that string that creates the call to authorize.net, what do I need to change so that a # sign won't screw it up? Again, the line FM uses to create the string is:

"https://www.dealsdirectinc.com/authNet/authTest.asp?phoneNumber="&Invoices::BillingPhone& "&name=" &Leads Clients::BillingName& "&street=" & Leads Clients::BillingAddress1 & " " & Leads Clients::BillingAddress2 & "&city="& Leads Clients::BillingCity& "&state="& Leads Clients::BillingState& "&zip=" & Leads Clients::BillingZipCode& "&invoice=" & GetAsNumber(Invoices::InvoiceNumber) & "&amount=" & GetAsNumber(Invoices::GrandTotal) & "&cardnumber=" & Invoices::CreditCardNumber & "&expdate=" & Invoices::CreditCardExp & "&description=Item+No.+" & InvoiceItems::ItemNumber&"&cardcode="&Invoices::CreditCardSecurityDigits&"&type="&Invoices::Terms

And when there's a # in one of those fields it gets screwed up. Is there something I can put around the field name in the creation string in FM so that it'll ignore that or what?

Link to comment
Share on other sites

Ok, it seems that Filemaker is simply not correctly URL encoding that field before sending it to the browser. I guess I don't know how to specify that it even needs to be URL encoded within FM, but I know it's handling the spaces correctly by making them %20's. The # sign should be turned into %23 for URL encoding and that's not happening, therefore the browser reaches the # and sees it as an anchor.

Any information I can get on correctly URL encoding the field that holds the URL that is placed into the browser would be great.

Link to comment
Share on other sites

This topic is 5670 days old. Please don't post here. Open a new topic instead.

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
 Share

×
×
  • Create New...

Important Information

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