Dispatch Web Services API Guide

The hostedPCI Dispatch Web Services API can be accessed by any ecommerce system that needs to submit credit card transactions to a 3rd party web service with the use of the HPCI credit card token. Tokens can be obtained through the implementation of the HPCI Express Iframe solution or the HPCI mobile page proxy solution. This document assumes that HPCI tokens have been generated and available for use with the HPCI Dispatch Web Service API.

API Transaction services included in this document: DISPATCH


Implementation Platforms

HPCI Dispatch Web Service API can be used in any programming language that supports HTTPS calls. Examples include Java, PHP, and C #.Net.

 

Setting up API Calls

All API calls to HostedPCI are made over HTTPS to an HPCI hostname that will be provided to you during account setup. Parameters are passed to HCPI through standard the HTTPS POST method. Name-Value pairs are separated by & characters and are URL Encoded.

Required Parameters for All API Calls

      • apiVersion, value “1.0.1”
      • apiType, value “pxyhpci”
      • userName, value [API UserId]
      • userPassKey, value [API Passkey]

Specifying the Dispatch Profile Name

Multiple dispatch endpoints can be setup with HPCI and specified per API call. Dispatch profile names can be specified with the parameter below. This parameter is required. Dispatch profile names must be pre-arranged with the HPCI team.

      • dispatchRequest.profileName, value [Name of Dispatch Profile to use]

Reading Results from API Calls

Once an HTTPS call is made to an HPCI Web Service API, results will be returned in standard Name-Value pair format with URL Encoded values.

 

Credit Card Dispatch Transaction (DISPATCH)

API Endpoint: http://HPCI_API_HOSTNAME/iSynSApp/paymentMsgDispatch.action

Additional Required Parameters:

Dispatch Content Related Parameters

      • dispatchRequest.contentType, value [Content type for the dispatch request to destination e.g: urlencode / xml / html / plain / json ]
      • dispatchRequest.request, value [Fully prepared message for delivery to destination with place holders for Credit Card and CVV tokens]
      • dispatchRequest.prefixRequest, value [Any prefix that needs to be prefixed to the request data e.g: Softvoyage needs xml as the prefix]

Credit Card Token Related Parameters

Token details are passed as parameters in an array, notated by [ ] array syntax. Repeat the following parameters for each token that is being processed.

Where [x] starts at 0 and increases with each item added.

      • ccParamList[x].ccMsgToken, value  [Name of the place holder token for credit card number in the request message, e.g: %%CC1%%]
      • ccParamList[x].ccToken, value  [Tokenized CC value for the place holder value, this value is retrieved from the iframe]
      • ccParamList[x].cvvMsgToken, value [Name of the place holder token for CVV in the request message, e.g: %%CVV1%%]
      • ccParamList[x].cvvToken, value  [Tokenized CVV value for the place holder CVV]

Header Related Parameters (Optional)

HTTP Header values may also be sent to the destination along with the message payload. Details are passed as parameters in an array, notated by [ ] array syntax. Repeat the following parameters for each token that is being processed.

Where [x] starts at 0 and increases with each item added.

      • headerList[x].strValue1, value  [Name of the header for destination]
      • headerList[x].strValue2, value  [Value of the header for destination]

API Response Variables

This API call responds with the following name-value pairs.

      • status, value [success | error]

The Status response variable indicates if the API call is well formed, with an appropriate result. It does not guarantee a successful credit card transaction with a complete authorization or capture if the status is returned as success. Other parameters must be checked, see below

      • pxyResponse.responseStatus, value [approved I declined | error | review | dispatched]

The transaction response considered successful for pxyResponse.responseStatus is the approved or dispatched status. Any other response should be considered an error. In case of an error transaction, the error code may be obtained as per the following response variable:

      • pxyResponse.responseStatus.code, value [alphanumeric code representing response]
      • pxyResponse.responseStatus.description, value [long description and informational text of response]
      • pxyResponse.dispatchResp, value [Dispatch response]

The dispatch response variable contains the scrubbed response from the dispatch endpoint.