Jump to content
View in the app

A better way to browse. Learn more.

FMForums.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Plastic works on 1 pc but not on others?

Featured Replies

  • Newbies

Greetings,

I have developed a POS system using 360Works Plastic (v 1.82) on Windows based systems (some Windows 7 Pro, some XP). The code works flawlessly on my pc (Windows 7). When I run the exact same code on other PCs (some Windows 7, some XP), they get an error message " java.lang.IllegalArgumentException: Missing Card-present transaction. Track 1 or Track 2 Data" I am using PayPal as the gateway in TEST MODE. Only the "card present" mode gives the error, the manual mode works fine. I am using the PayPal test card numbers for Visa, MC and Discover. Again, they all work fine on my pc. The PCs have the same version of Java (Version 6, Update 33). At this point, I don't think it is the Plastic plugin, the script or Filemaker. It must be something with the PCs. Any help would be appreciated. Thanks in advance.

Mark B.

I am not quite sure why you are getting varying results on your Windows machines, but in order to ensure proper transactions when usin the Plastic plug-in, make sure that:

1. If you are setting the "CardPresent" parameter to true in the CCSetGateway() function, this assumes that you will be passing in the Track 1/Track 2 data -- which in your last bug report was null.

If you have a card present and are swiping it into some card reader, the value that is returned should look similar to:

"%B1234123412341234^Carduser/John^030510100000019301000000877000000?;1234123412341234=0305103393010877?"

What you would need to do at this point is parse this "raw card data" and extract either the "Track 1" or "Track 2" data and pass the data (without the sentinels) into the CCProccessPayment() function. For example:

// FileMaker Calc to parse Track 1 from the Raw Card data

Let([start = Position (tmp::swipe ; "%" ; 1 ; 1 ); end = Position (tmp::swipe ; "?" ; 1 ; 1)] ; Middle(tmp::swipe ; start; end))






//FileMaker calculation to parse Track 2 from the Raw Card data

Let([start = Position (tmp::swipe ; ";" ; 1 ; 1 ); end = Position (tmp::swipe ; "?" ; 1 ; 2)] ; Middle(tmp::swipe ; start; end))







// Plastic plug-in call using Track data

Set Variable[ $gateway; CCSetGateway( "PayPal" ; "cardPresent=true" ); ]

If [$gateway = "ERROR" ]

Show Custom Dialog[ "Error" ; "And error occurred: " & CCLastError" ]

End If







Set Variable[ $process; CCProcessPayment( merchant, tx, amt, "", "", "track1=%B1234123412341234^Carduser/John^030510100000019301000000877000000?") ]

If [$process = "ERROR" ]

Show Custom Dialog[ "Error" ; "And error occurred: " & CCLastError" ]

End If

Regards,

Create an account or sign in to comment

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.