---
name: "Vend::Payment::Skipjack"
section: "3pm"
platform: "linux"
package: "interchange"
version: "5.7.7-2"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/Vend::Payment::Skipjack"
---

# Vend::Payment::Skipjack(3pm)

Interchange Skipjack Support

## NAME

Vend::Payment::Skipjack - Interchange Skipjack Support

## SYNOPSIS

```
    &charge=skipjack
        or
    [charge mode=skipjack param1=value1 param2=value2]
```

## PREREQUISITES

```
  Net::SSLeay

    or

  LWP::UserAgent and Crypt::SSLeay
```

Only one of these need be present and working.

## DESCRIPTION

The Vend::Payment::Skipjack module implements the *skipjack()* routine for using Skipjack IC payment services with Interchange. It is compatible on a call level with the other Interchange payment modules.

To enable this module, place this directive in `"interchange.cfg"`:

```
    Require module Vend::Payment::Skipjack
```

This *must* be in interchange.cfg or a file included from it.

NOTE: Make sure CreditCardAuto is off (default in Interchange demos).

The mode can be named anything, but the `"gateway"` parameter must be set to `"skipjack"`. To make it the default payment gateway for all credit card transactions in a specific catalog, you can set in `"catalog.cfg"`:

```
    Variable   MV_PAYMENT_MODE  skipjack
```

It uses several of the standard settings from Interchange payment. Any time we speak of a setting, it is obtained either first from the tag/call options, then from an Interchange order Route named for the mode, then finally a default global payment variable, For example, the `"id"` parameter would be specified by:

```
    [charge mode=skipjack id=YourSkipjackID]
```

or

```
    Route skipjack id YourSkipjackID
```

or with only Skipjack as a payment provider

```
    Variable MV_PAYMENT_ID      YourskipjackID
```

A fully valid catalog.cfg entry to work with the standard demo would be:

```
    Variable MV_PAYMENT_MODE      skipjack
    Route skipjack id             YourSkipjackID
    Route skipjack vendor         YourSkipjackVendor
```

The active settings are:

- id

  Your account ID number, supplied by Skipjack when you sign up. Use the supplied HTML Serial Numbers (Nova or Vital) while testing in development  mode. Global parameter is MV\_PAYMENT\_ID.

- vendor

  The developer ID of the system which interfaces with Skipjack. Global parameter is MV\_PAYMENT\_VENDOR.

- transaction

  The type of transaction to be run. Valid values are:

  ```
      Interchange         Skipjack
      ----------------    -----------------
          sale                sale
          recurring           recurring
  ```

  Default is `"sale"`.

  If you wish to do a recurring charge, you will have to ensure that the following Interchange values are set properly:

  ```
          Interchange variable     Skipjack variable
          --------------------     -----------------
          recurring_item           rtItemNumber
          recurring_desc           rtItemDescription
          recurring_start_date     rtStartingDate
          recurring_frequency      rtFrequency
          recurring_transactions   rtTotalTransactions
          recurring_comment        rtComment
  ```

- test

  If you set the `"test"` parameter, Interchange will remap some values and the URL for the transaction to point to the Skipjack test server. It will return a valid transaction if all is working.

- generate\_error

  To generate errors in test mode only, set the parameter `"generate_error"` to one of the following values (error it generates in parenthesese):

  ```
          number   (invalid credit card number)
          avs      (will succeed, but generate AVS message)
          exp      (expired card)
          id       (invalid Skipjack account?)
          vendor   (invalid vendor?)
  ```

The following should rarely be used, as the supplied defaults are usually correct.

- remap

  This remaps the form variable names to the ones needed by Skipjack. See the `"Payment Settings"` heading in the Interchange documentation for use.

- submit\_url

  The Skipjack URL to submit to. Default is:

  ```
          https://www.skipjackic.com/scripts/evolvcc.dll?Authorize
  ```

  Add the following to catalog.cfg while in development mode:

  ```
          Route skipjack submit_url 'https://developer.skipjackic.com/scripts/evolvcc.dll?Authorize'
  ```

### Troubleshooting

Try the instructions above, then enable test mode:

```
        Route skipjack  test           1
```

A test order should complete.

Then set a generate error

```
        Route skipjack  test           1
        Route skipjack  generate_error number
```

and try a sale. The sale should be denied, and the reason should be in \[data session payment\_error\].

If nothing works:

- •

  Make sure you "Require"d the module in interchange.cfg:

  ```
      Require module Vend::Payment::Skipjack
  ```

- •

  Make sure either Net::SSLeay or Crypt::SSLeay and LWP::UserAgent are installed and working. You can test to see whether your Perl thinks they are:

  ```
      perl -MNet::SSLeay -e 'print "It works\n"'
  ```

  or

  ```
      perl -MLWP::UserAgent -MCrypt::SSLeay -e 'print "It works\n"'
  ```

  If either one prints "It works." and returns to the prompt you should be OK (presuming they are in working order otherwise).

- •

  Check the error logs, both catalog and global.

- •

  Make sure you set your account ID properly.

- •

  Try an order, then put this code in a page:

  ```
      <XMP>
      [calc]
          my $string = $Tag->uneval( { ref => $Session->{payment_result} });
          $string =~ s/{/{\n/;
          $string =~ s/,/,\n/g;
          return $string;
      [/calc]
      </XMP>
  ```

  That should show what happened.

- •

  If all else fails, consultants are available to help with integration for a fee. See http://www.icdevgroup.org/

## BUGS

There is actually nothing \*in\* Vend::Payment::Skipjack. It changes packages to Vend::Payment and places things there.

## AUTHORS

Originally developed by New York Connect Net (http://nyct.net) Michael Bacarella \<mbac@nyct.net\>

Modified for GetCareer.com by Slipstream.com by Troy Davis \<troy@slipstream.com\>

LWP/Crypt::SSLeay interface code by Matthew Schick, \<mschick@brightredproductions.com\>.

Interchange implementation by Mike Heins.
