PaymentToken

POST api/PaymentToken/GetInfo

This operation provides information about a saved Credit Card or EFT payment method that corresponds to a specific token. A valid token and a valid authentication key must be provided in order to retrieve information.

GetInfoRequest

NameDescriptionTypeAdditional information
Token

Payment token

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Token": "97fa2f5e-35b2-4f93-9549-f00df4bbca40",
  "AuthenticationKey": "Authentication Key"
}
<GetInfoRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <Token>97fa2f5e-35b2-4f93-9549-f00df4bbca40</Token>
</GetInfoRequest>

Response Information

GetInfoResponse

NameDescriptionTypeAdditional information
TokenType

Token type

TokenType

None.

Eft

EFT details

TokenEftInfo

None.

CreditCard

Credit card details

TokenCreditCardInfo

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

TransactionId

Transaction ID

string

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

TokenType

Possible enumeration values:

NameValueDescription
Undefined

0

Token type is undefined

CreditCard

1

CreditCard

Eft

2

EFT

TokenEftInfo

NameDescriptionTypeAdditional information
RoutingNumber

The bank routing number. Must only contain numbers.

string

None.

LastFourDigits

Last 4 digits of account number

string

None.

Type

EFT account type - Checking / Savings

EftAccountType

None.

CustomerName

Customer name

string

None.

EftAccountType

Possible enumeration values:

NameValueDescription
Undefined

0

Undefined

Checking

1

Checking

Savings

2

Savings

TokenCreditCardInfo

NameDescriptionTypeAdditional information
LastFourDigits

Last 4 digits of credit card number

string

None.

Type

Credit card type

CreditCardType

None.

ExpirationYear

Year of the expiration of the credit card

integer

None.

ExpirationMonth

Month of the expiration of the credit card

integer

None.

Holder

Card holder

Customer

None.

BaseCardType

Base Credit Card type

CreditCardType

None.

CreditCardType

Possible enumeration values:

NameValueDescription
Undefined

0

Undefined

Visa

1

Visa

MasterCard

2

MasterCard

AmericanExpress

3

American Express

Discover

4

Discover

PinlessDebitGeneric

5

PINless Debit

Star

6

Star

Nyce

7

Nyce

Pulse

8

Pulse

Other

99

Other

Customer

NameDescriptionTypeAdditional information
Name

Customer name

string

None.

Zip

Customer ZIP code

string

None.

Address

Customer address

string

None.

ClientReferenceData

NameDescriptionTypeAdditional information
ClientReferenceData1

Used to pass a reference number such as Policy, Quote, or Claim Number. The value will be searchable in the transaction search report.

string

None.

ClientReferenceData2

Used to pass an external transaction identifier. The value will be searchable in the transaction search report.

string

None.

ClientReferenceData3

Used to pass location data such as the office the transaction originated. The value will be searchable in the transaction search report.

string

None.

ClientReferenceData4

Used to pass additional information with the transaction. The value will be displayed in the transaction details.

string

None.

ClientReferenceData5

Used to pass additional reference source account data such as an account number for a multi-policy account.The value will be searchable in the transaction search report.

string

None.

Response Formats

{
  "TokenType": 1,
  "Eft": null,
  "CreditCard": {
    "LastFourDigits": "1234",
    "Type": 1,
    "ExpirationYear": 2020,
    "ExpirationMonth": 11,
    "Holder": {
      "Name": "John Stevens",
      "Zip": "12345",
      "Address": "test address"
    },
    "BaseCardType": 0
  },
  "ClientReferenceData": null,
  "TransactionId": null,
  "ResponseCode": "Success",
  "Message": null
}
<GetInfoResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <Message i:nil="true" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" />
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <CreditCard>
    <BaseCardType>Undefined</BaseCardType>
    <ExpirationMonth>11</ExpirationMonth>
    <ExpirationYear>2020</ExpirationYear>
    <Holder xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:Address>test address</d3p1:Address>
      <d3p1:Name>John Stevens</d3p1:Name>
      <d3p1:Zip>12345</d3p1:Zip>
    </Holder>
    <LastFourDigits>1234</LastFourDigits>
    <Type>Visa</Type>
  </CreditCard>
  <Eft i:nil="true" />
  <TokenType>CreditCard</TokenType>
  <TransactionId i:nil="true" />
</GetInfoResponse>

Examples of usage

using System;

using OneInc.ProcessOne.RestApi.Client;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken;
using OneInc.ProcessOne.RestApi.Contracts.Enums;
using OneInc.ProcessOne.RestApi.Samples.Properties;

namespace OneInc.ProcessOne.RestApi.Samples.Net
{
    public class PaymentToken
    {
        public void GetInfo()
        {
            Console.WriteLine("Executing get info operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;
            var api = new ProcessOneApi(apiUri);

            // Make some operation to save data and receive the token
            var token = SaveCreditCard(api);

            // ...

            var getInfoRequest = new GetInfoRequest
            {
                // Set your ProcessOne Authentication Key
                AuthenticationKey = Settings.Default.AuthenticationKey, 
                Token = token
            };

            var result = api.PaymentToken.GetInfo(getInfoRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);

            if (result.TokenType == TokenType.CreditCard)
            {
                Console.WriteLine("Last four digits of the card: {0}", result.CreditCard.LastFourDigits);
            }
        }

        private string SaveCreditCard(ProcessOneApi api)
        {
            var saveCreditCardRequest = new SaveCreditCardRequest
            {
                // Set your ProcessOne Authentication Key
                AuthenticationKey = Settings.Default.AuthenticationKey,
                CreditCard = GetCreditCardDetails()
            };

            var result = api.CreditCard.Save(saveCreditCardRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Token: {0}", result.Token);

            return result.Token;
        }

        private static CreditCardDetails GetCreditCardDetails()
        {
            return new CreditCardDetails
            {
                Number = "4444444444444448",
                ExpirationMonth = 12,
                ExpirationYear = 2020,
                Holder = new Customer
                {
                    Name = "Holder Name",
                    Address = "Holder Billing Address",
                    Zip = "12345"
                },
                ValidationValue = "123"
            };
        }
    }
}
<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Payment token</title>
</head>
<body>
    <script src="../Scripts/jquery-1.12.4.min.js"></script>
    <script src="../Scripts/processOneApi.js"></script>
    <script>
        var application = {
            config: {
                 processOneUrl: 'http://processone/api/',
                 processOneAuthenticationKey: 'Authentication Key',
            }
        }

        var api = $.processOneApi(application.config.processOneUrl);

        api.creditCard
            .save({
                authenticationKey: application.config.processOneAuthenticationKey,
                creditCard: {
                    number: '4012000033330026',
                    validationValue: '123',
                    expirationYear: 2020,
                    expirationMonth: 12,
                    holder: {
                        name: 'Customer',
                        zip: '12345'
                    }
                }
            })
            .done(function(result) {
                api.paymentToken.getInfo(new ProcessOneApi.GetInfoRequest(application.config.processOneAuthenticationKey, result.token))
                    .done(function(info) {
                        // process the result
                        console.log(info);
                    })
                    .fail(function(error) {
                        console.error(error);
                    });
            });
    </script>
</body>
</html>

POST api/PaymentToken/GetTokenInfoBatch

This operation provides information about a saved Credit Card or EFT payment methods that corresponds to the specific tokens. The valid tokens and a valid authentication key must be provided in order to retrieve information.

GetTokenInfoBatchRequest

NameDescriptionTypeAdditional information
PaymentTokens

Payment tokens

Collection of String

None.

AuthenticationKey

Instance authentication key

string

Required

ListOfString

Request Formats

 
{
  "PaymentTokens": [
    "sample string 1",
    "sample string 2"
  ],
  "AuthenticationKey": "sample string 1"
}
<GetTokenInfoBatchRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 1</AuthenticationKey>
  <PaymentTokens xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>sample string 1</d2p1:string>
    <d2p1:string>sample string 2</d2p1:string>
  </PaymentTokens>
</GetTokenInfoBatchRequest>

Response Information

GetTokenInfoBatchResponse

NameDescriptionTypeAdditional information
TokenInfoResults

A tokens information

Collection of TokenInfo

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

ListOfTokenInfo

NameDescriptionTypeAdditional information
TokenType

Token type

TokenType

None.

Eft

EFT details

TokenEftInfo

None.

CreditCard

Credit card details

TokenCreditCardInfo

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

TransactionId

Transaction ID

string

None.

Response Formats

{
  "TokenInfoResults": [
    {
      "TokenType": 0,
      "Eft": {
        "RoutingNumber": "sample string 1",
        "LastFourDigits": "sample string 2",
        "Type": 0,
        "CustomerName": "sample string 3"
      },
      "CreditCard": {
        "LastFourDigits": "sample string 1",
        "Type": 0,
        "ExpirationYear": 1,
        "ExpirationMonth": 1,
        "Holder": {
          "Name": "sample string 1",
          "Zip": "sample string 2",
          "Address": "sample string 3"
        },
        "BaseCardType": 0
      },
      "ClientReferenceData": {
        "ClientReferenceData1": "sample string 1",
        "ClientReferenceData2": "sample string 2",
        "ClientReferenceData3": "sample string 3",
        "ClientReferenceData4": "sample string 4",
        "ClientReferenceData5": "sample string 5"
      },
      "TransactionId": "sample string 1"
    },
    {
      "TokenType": 0,
      "Eft": {
        "RoutingNumber": "sample string 1",
        "LastFourDigits": "sample string 2",
        "Type": 0,
        "CustomerName": "sample string 3"
      },
      "CreditCard": {
        "LastFourDigits": "sample string 1",
        "Type": 0,
        "ExpirationYear": 1,
        "ExpirationMonth": 1,
        "Holder": {
          "Name": "sample string 1",
          "Zip": "sample string 2",
          "Address": "sample string 3"
        },
        "BaseCardType": 0
      },
      "ClientReferenceData": {
        "ClientReferenceData1": "sample string 1",
        "ClientReferenceData2": "sample string 2",
        "ClientReferenceData3": "sample string 3",
        "ClientReferenceData4": "sample string 4",
        "ClientReferenceData5": "sample string 5"
      },
      "TransactionId": "sample string 1"
    }
  ],
  "ResponseCode": "sample string 1",
  "Message": "sample string 2"
}
<GetTokenInfoBatchResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 2</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 1</ResponseCode>
  <TokenInfoResults>
    <TokenInfo>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>sample string 1</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2>sample string 2</d4p1:ClientReferenceData2>
        <d4p1:ClientReferenceData3>sample string 3</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4>sample string 4</d4p1:ClientReferenceData4>
        <d4p1:ClientReferenceData5>sample string 5</d4p1:ClientReferenceData5>
      </ClientReferenceData>
      <CreditCard>
        <BaseCardType>Undefined</BaseCardType>
        <ExpirationMonth>1</ExpirationMonth>
        <ExpirationYear>1</ExpirationYear>
        <Holder xmlns:d5p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
          <d5p1:Address>sample string 3</d5p1:Address>
          <d5p1:Name>sample string 1</d5p1:Name>
          <d5p1:Zip>sample string 2</d5p1:Zip>
        </Holder>
        <LastFourDigits>sample string 1</LastFourDigits>
        <Type>Undefined</Type>
      </CreditCard>
      <Eft>
        <CustomerName>sample string 3</CustomerName>
        <LastFourDigits>sample string 2</LastFourDigits>
        <RoutingNumber>sample string 1</RoutingNumber>
        <Type>Undefined</Type>
      </Eft>
      <TokenType>Undefined</TokenType>
      <TransactionId>sample string 1</TransactionId>
    </TokenInfo>
    <TokenInfo>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>sample string 1</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2>sample string 2</d4p1:ClientReferenceData2>
        <d4p1:ClientReferenceData3>sample string 3</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4>sample string 4</d4p1:ClientReferenceData4>
        <d4p1:ClientReferenceData5>sample string 5</d4p1:ClientReferenceData5>
      </ClientReferenceData>
      <CreditCard>
        <BaseCardType>Undefined</BaseCardType>
        <ExpirationMonth>1</ExpirationMonth>
        <ExpirationYear>1</ExpirationYear>
        <Holder xmlns:d5p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
          <d5p1:Address>sample string 3</d5p1:Address>
          <d5p1:Name>sample string 1</d5p1:Name>
          <d5p1:Zip>sample string 2</d5p1:Zip>
        </Holder>
        <LastFourDigits>sample string 1</LastFourDigits>
        <Type>Undefined</Type>
      </CreditCard>
      <Eft>
        <CustomerName>sample string 3</CustomerName>
        <LastFourDigits>sample string 2</LastFourDigits>
        <RoutingNumber>sample string 1</RoutingNumber>
        <Type>Undefined</Type>
      </Eft>
      <TokenType>Undefined</TokenType>
      <TransactionId>sample string 1</TransactionId>
    </TokenInfo>
  </TokenInfoResults>
</GetTokenInfoBatchResponse>

POST api/PaymentToken/Remove

In case you want to delete a previously saved Credit Card or EFT payment method, you can remove the token that corresponds to it. Just provide the token you want to remove and your authentication key in your POST request, to delete the token.

RemovePaymentTokenRequest

NameDescriptionTypeAdditional information
Token

Payment token

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Token": "20a4f393-466b-4cd1-bb66-45433fa335d6",
  "AuthenticationKey": "Authentication Key"
}
<RemovePaymentTokenRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <Token>20a4f393-466b-4cd1-bb66-45433fa335d6</Token>
</RemovePaymentTokenRequest>

Response Information

RemovePaymentTokenResponse

NameDescriptionTypeAdditional information
ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ResponseCode": "Success",
  "Message": "Success"
}
<RemovePaymentTokenResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.PaymentToken">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
</RemovePaymentTokenResponse>

CreditCard

Credit card operations

POST api/CreditCard/Save

This operation tokenizes all the required information about a credit card payment method. Once the card information is tokenized, you no longer have to provide us any sensitive credit card information. To initiate transactions with a tokenized card simply provide the token that is returned by our API.

SaveCreditCardRequest

NameDescriptionTypeAdditional information
CreditCard

Credit card information

CreditCardDetails

None.

CallbackId

A callback id associated to save credit card transaction

string

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

AuthenticationKey

Instance authentication key

string

Required

CreditCardDetails

NameDescriptionTypeAdditional information
ExpirationYear

Year of the expiration of the credit card

integer

None.

ExpirationMonth

Month of the expiration of the credit card

integer

None.

Holder

Card holder

Customer

None.

Number

Credit card number

string

None.

ValidationValue

Credit card CVV code

string

None.

Request Formats

 
{
  "CreditCard": {
    "ExpirationYear": 2019,
    "ExpirationMonth": 1,
    "Holder": {
      "Name": "John Stevens",
      "Zip": "12345",
      "Address": "test address"
    },
    "Number": "4012000033330026",
    "ValidationValue": "123"
  },
  "CallbackId": null,
  "ClientReferenceData": null,
  "AuthenticationKey": "Authentication Key"
}
<SaveCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId i:nil="true" />
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <CreditCard>
    <ExpirationMonth>1</ExpirationMonth>
    <ExpirationYear>2019</ExpirationYear>
    <Holder xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:Address>test address</d3p1:Address>
      <d3p1:Name>John Stevens</d3p1:Name>
      <d3p1:Zip>12345</d3p1:Zip>
    </Holder>
    <Number>4012000033330026</Number>
    <ValidationValue>123</ValidationValue>
  </CreditCard>
</SaveCreditCardRequest>

Response Information

SaveCreditCardResponse

NameDescriptionTypeAdditional information
Token

ProcessOne payment token

string

None.

TokenCreationTime

Token creation date and time in merchant time zone

date

None.

TimeZone

Short time zone name with daylight saving time suffix

string

None.

BaseCardType

Base Credit Card type

CreditCardType

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Token": "03305f1a-1b56-4c25-91cd-83a275485601",
  "TokenCreationTime": "2019-01-19T21:38:17.1677557-08:00",
  "TimeZone": "PST",
  "BaseCardType": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<SaveCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BaseCardType>Undefined</BaseCardType>
  <TimeZone>PST</TimeZone>
  <Token>03305f1a-1b56-4c25-91cd-83a275485601</Token>
  <TokenCreationTime>2019-01-19T21:38:17.1677557-08:00</TokenCreationTime>
</SaveCreditCardResponse>

POST api/CreditCard/Update

This operation provides a way to update information about a previously saved credit card. Refer to the table and examples below to see what information can be updated without a need to generate a new token.

UpdateCreditCardRequest

NameDescriptionTypeAdditional information
Token

Saved CreditCard token

string

None.

ExpirationYear

Year of the expiration of the credit card

integer

None.

ExpirationMonth

Month of the expiration of the credit card

integer

None.

ZipCode

CreditCard holder Zip code

string

None.

CreditCardNetworkType

Credit Card network type

CreditCardNetworkType

None.

HolderAddress

CreditCard holder address

string

None.

AuthenticationKey

Instance authentication key

string

Required

CreditCardNetworkType

Possible enumeration values:

NameValueDescription
Unknown

0

Unknown

Hybrid

1

Hybrid (Debit/Credit) card

Debit

2

Debit card

Credit

3

Credit card

Request Formats

 
{
  "Token": "3f0e20b6-67ee-4bb0-a9b7-fda135b3db42",
  "ExpirationYear": 2019,
  "ExpirationMonth": 1,
  "ZipCode": "12345",
  "CreditCardNetworkType": 3,
  "HolderAddress": null,
  "AuthenticationKey": "Authentication Key"
}
<UpdateCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CreditCardNetworkType>Credit</CreditCardNetworkType>
  <ExpirationMonth>1</ExpirationMonth>
  <ExpirationYear>2019</ExpirationYear>
  <HolderAddress i:nil="true" />
  <Token>3f0e20b6-67ee-4bb0-a9b7-fda135b3db42</Token>
  <ZipCode>12345</ZipCode>
</UpdateCreditCardRequest>

Response Information

UpdateCreditCardResponse

NameDescriptionTypeAdditional information
TimeZone

Short time zone name with daylight saving time suffix

string

None.

UpdateTime

Update date and time in merchant time zone

date

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "TimeZone": null,
  "UpdateTime": null,
  "ResponseCode": "Success",
  "Message": "Success"
}
<UpdateCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <TimeZone i:nil="true" />
  <UpdateTime i:nil="true" />
</UpdateCreditCardResponse>

POST api/CreditCard/Charge

This operation allows making a payment with a given credit card, which initiates a transfer of money from a particular customer account to the merchant account. You either have to provide a valid token or include credit card information in your request.

ChargeCreditCardRequest

NameDescriptionTypeAdditional information
Amount

Charge amount

decimal number

None.

ChargeFee

Should we charge with fee (default - true)

boolean

None.

Token

Saved CreditCard token

string

None.

CreditCard

Either CreditCard or token parameter is required. If both are sent, token will be used

CreditCardDetails

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

IsRecurring

Is recurring charge

boolean

None.

AccountGroupCode

Account group code

string

None.

CallbackId

A callback id associated to charge credit card transaction

string

None.

Save

Enables to save and tokenize credit card information

boolean

None.

ConvenienceFeeType

Customizable convenience fee type that is matched with different types of transactions

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Amount": 20.0,
  "ChargeFee": true,
  "Token": null,
  "CreditCard": {
    "ExpirationYear": 2019,
    "ExpirationMonth": 1,
    "Holder": {
      "Name": "John Stevens",
      "Zip": "12345",
      "Address": "test address"
    },
    "Number": "4012000033330026",
    "ValidationValue": "123"
  },
  "ClientReferenceData": null,
  "IsRecurring": false,
  "AccountGroupCode": "Default",
  "CallbackId": null,
  "Save": false,
  "ConvenienceFeeType": null,
  "AuthenticationKey": "Authentication Key"
}
<ChargeCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <AccountGroupCode>Default</AccountGroupCode>
  <Amount>20.00</Amount>
  <CallbackId i:nil="true" />
  <ChargeFee>true</ChargeFee>
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <ConvenienceFeeType i:nil="true" />
  <CreditCard>
    <ExpirationMonth>1</ExpirationMonth>
    <ExpirationYear>2019</ExpirationYear>
    <Holder xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:Address>test address</d3p1:Address>
      <d3p1:Name>John Stevens</d3p1:Name>
      <d3p1:Zip>12345</d3p1:Zip>
    </Holder>
    <Number>4012000033330026</Number>
    <ValidationValue>123</ValidationValue>
  </CreditCard>
  <IsRecurring>false</IsRecurring>
  <Save>false</Save>
  <Token i:nil="true" />
</ChargeCreditCardRequest>

Response Information

ChargeCreditCardResponse

NameDescriptionTypeAdditional information
Token

ProcessOne payment token

string

None.

TransactionId

Transaction ID

string

None.

TransactionDate

Transaction date and time

date

None.

TimeZone

Transaction time zone

string

None.

AuthorizationCode

A gateway Authorization Code

string

None.

BatchNumber

Number of the batch

integer

None.

CreditCardType

Credit Card type

CreditCardType

None.

HolderName

Card Holder Name

string

None.

HolderZip

Card Holder Zip code

string

None.

BaseCardType

Base Credit Card type

CreditCardType

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Token": null,
  "TransactionId": null,
  "TransactionDate": "2019-01-19T21:38:17.2927592-08:00",
  "TimeZone": "PST",
  "AuthorizationCode": null,
  "BatchNumber": 0,
  "CreditCardType": 1,
  "HolderName": "John Stevens",
  "HolderZip": "12345",
  "BaseCardType": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<ChargeCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <AuthorizationCode i:nil="true" />
  <BaseCardType>Undefined</BaseCardType>
  <BatchNumber>0</BatchNumber>
  <CreditCardType>Visa</CreditCardType>
  <HolderName>John Stevens</HolderName>
  <HolderZip>12345</HolderZip>
  <TimeZone>PST</TimeZone>
  <Token i:nil="true" />
  <TransactionDate>2019-01-19T21:38:17.2927592-08:00</TransactionDate>
  <TransactionId i:nil="true" />
</ChargeCreditCardResponse>

Examples of usage

using System;
using System.Threading.Tasks;

using OneInc.ProcessOne.RestApi.Client;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard;
using OneInc.ProcessOne.RestApi.Samples.Properties;

namespace OneInc.ProcessOne.RestApi.Samples.Net
{
    public class CreditCard
    {
        /// 
        /// Charge Credit Card 
        /// 
        public void Charge()
        {
            Console.WriteLine("Executing credit card charge operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;

            var chargeRequest = new ChargeCreditCardRequest
            {
                // Set your ProcessOne Authentication Key
                AuthenticationKey   = Settings.Default.AuthenticationKey,
                Amount = 1,                             
                CreditCard = new CreditCardDetails
                {
                    Number = "4444444444444448",        
                    ExpirationMonth = 12,               
                    ExpirationYear = 2020,
                    Holder = new Customer
                    {
                        Name = "Holder Name",
                        Address = "Holder Billing Address",
                        Zip = "12345"
                    },
                    ValidationValue = "123"
                },
                ClientReferenceData = new ClientReferenceData
                {
                    ClientReferenceData1 = "POL12345"
                }
            };

            var result = new ProcessOneApi(apiUri)
                .CreditCard
                .Charge(chargeRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Transaction Id: {0}", result.TransactionId);
        }

        /// 
        /// Charge Credit Card asynchronously
        /// 
        public async Task ChargeAsync()
        {
            Console.WriteLine("Executing credit card charge operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;

            var chargeRequest = new ChargeCreditCardRequest
            {
             // Request Initialization
            };

            var result = await new ProcessOneApi(apiUri)
                .CreditCard
                .ChargeAsync(chargeRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Transaction Id: {0}", result.TransactionId);
        }
    }
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Credit card charge example</title>
</head>
<body>
    <script src="../Scripts/jquery-1.12.4.min.js"></script>
    <script src="../Scripts/processOneApi.js"></script>
    <script>
    var application = {
        config: {
            processOneUrl: 'http://processone/api/',
            processOneAuthenticationKey: 'Authentication Key',
        }
    }

    var creditCardChargeResponse;
    $.processOneApi(application.config.processOneUrl)
       .creditCard
       .charge({
           authenticationKey: application.config.processOneAuthenticationKey,
           amount: 1,
           creditCard: {
               number: '4012000033330026',
               validationValue: '123',
               expirationYear: 2020,
               expirationMonth: 12,
               holder: {
                   name: 'Customer',
                   zip: '12345'
               }
           }
       })
       .done(function (result) {
           creditCardChargeResponse = result;
           console.log("creditcard charged");
           // process the result
           console.log(result);
       })
       .fail(function (result) {
           // process the result
           console.error(result);
       });
    </script>
</body>
</html>

POST api/CreditCard/Void

This operation provides a way to void or cancel a previously made credit card payment that has not been fully processed yet. If a payment was already processed, a refund operation is required. You have to provide the transaction id of a transaction that you want to void. You can include a callback id if you prefer to get the information about a void transaction record by the callback id.

VoidCreditCardRequest

NameDescriptionTypeAdditional information
TransactionId

An id of transaction to void

string

None.

CallbackId

A callback id associated to void transaction

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": "99992",
  "CallbackId": null,
  "AuthenticationKey": "Authentication Key"
}
<VoidCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId i:nil="true" />
  <TransactionId>99992</TransactionId>
</VoidCreditCardRequest>

Response Information

VoidCreditCardResponse

NameDescriptionTypeAdditional information
TransactionId

An id of void transaction

string

None.

AuthorizationCode

A gateway AuthorizationCode

string

None.

BatchNumber

A batch number of void transaction

integer

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "TransactionId": "99992",
  "AuthorizationCode": null,
  "BatchNumber": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<VoidCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <AuthorizationCode i:nil="true" />
  <BatchNumber>0</BatchNumber>
  <TransactionId>99992</TransactionId>
</VoidCreditCardResponse>

POST api/CreditCard/Refund

This operation provides a way to refund a previously made credit card payment that has been fully processed. To initiate a refund, call this API operation and provide a valid transaction id. You can include a callback id if you prefer to get the information about the refund transaction record by the callback id.

RefundCreditCardRequest

NameDescriptionTypeAdditional information
TransactionId

An id of transaction to refund

string

None.

CallbackId

A callback id associated to refund transaction

string

None.

PartialRefundAmount

Amount to refund

decimal number

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": "99992",
  "CallbackId": null,
  "PartialRefundAmount": 10.0,
  "AuthenticationKey": "Authentication Key"
}
<RefundCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId i:nil="true" />
  <PartialRefundAmount>10</PartialRefundAmount>
  <TransactionId>99992</TransactionId>
</RefundCreditCardRequest>

Response Information

RefundCreditCardResponse

NameDescriptionTypeAdditional information
TransactionId

An id of refund transaction

string

None.

AuthorizationCode

A gateway AuthorizationCode

string

None.

BatchNumber

A batch number of refund transaction

integer

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "TransactionId": "99992",
  "AuthorizationCode": null,
  "BatchNumber": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<RefundCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <AuthorizationCode i:nil="true" />
  <BatchNumber>0</BatchNumber>
  <TransactionId>99992</TransactionId>
</RefundCreditCardResponse>

POST api/CreditCard/Verify

This operation verifies that a provided credit card information represents an existing and valid credit card.

VerifyCreditCardRequest

NameDescriptionTypeAdditional information
CreditCard

Credit card information

CreditCardDetails

None.

CallbackId

A callback id associated with this transaction

string

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "CreditCard": {
    "ExpirationYear": 1,
    "ExpirationMonth": 2,
    "Holder": {
      "Name": "sample string 1",
      "Zip": "sample string 2",
      "Address": "sample string 3"
    },
    "Number": "sample string 3",
    "ValidationValue": "sample string 4"
  },
  "CallbackId": "sample string 1",
  "ClientReferenceData": {
    "ClientReferenceData1": "sample string 1",
    "ClientReferenceData2": "sample string 2",
    "ClientReferenceData3": "sample string 3",
    "ClientReferenceData4": "sample string 4",
    "ClientReferenceData5": "sample string 5"
  },
  "AuthenticationKey": "sample string 2"
}
<VerifyCreditCardRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 2</AuthenticationKey>
  <CallbackId>sample string 1</CallbackId>
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
    <d2p1:ClientReferenceData1>sample string 1</d2p1:ClientReferenceData1>
    <d2p1:ClientReferenceData2>sample string 2</d2p1:ClientReferenceData2>
    <d2p1:ClientReferenceData3>sample string 3</d2p1:ClientReferenceData3>
    <d2p1:ClientReferenceData4>sample string 4</d2p1:ClientReferenceData4>
    <d2p1:ClientReferenceData5>sample string 5</d2p1:ClientReferenceData5>
  </ClientReferenceData>
  <CreditCard>
    <ExpirationMonth>2</ExpirationMonth>
    <ExpirationYear>1</ExpirationYear>
    <Holder xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:Address>sample string 3</d3p1:Address>
      <d3p1:Name>sample string 1</d3p1:Name>
      <d3p1:Zip>sample string 2</d3p1:Zip>
    </Holder>
    <Number>sample string 3</Number>
    <ValidationValue>sample string 4</ValidationValue>
  </CreditCard>
</VerifyCreditCardRequest>

Response Information

VerifyCreditCardResponse

NameDescriptionTypeAdditional information
ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ResponseCode": "sample string 1",
  "Message": "sample string 2"
}
<VerifyCreditCardResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 2</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 1</ResponseCode>
</VerifyCreditCardResponse>

POST api/CreditCard/GetCardData

This operation returns information about a specified credit card by the card number.

GetCardDataRequest

NameDescriptionTypeAdditional information
CreditCardNumber

Credit card number

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "CreditCardNumber": "4444444444444448",
  "AuthenticationKey": "Authentication Key"
}
<GetCardDataRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CreditCardNumber>4444444444444448</CreditCardNumber>
</GetCardDataRequest>

Response Information

GetCardDataResponse

NameDescriptionTypeAdditional information
BaseCardType

Base Credit Card type

CreditCardType

None.

CreditCardNetworkType

Credit Card network type

CreditCardNetworkType

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "BaseCardType": 1,
  "CreditCardNetworkType": 2,
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetCardDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BaseCardType>Visa</BaseCardType>
  <CreditCardNetworkType>Debit</CreditCardNetworkType>
</GetCardDataResponse>

POST api/CreditCard/GetConvenienceFee

This operation returns the credit card convenience fee ammount that corresponds to the specified fee type and dollar amount. If fee type is not provided, the API will return the default convenience fee type for your merchant. Convenience fee types vary from merchant to merchant and have to be addressed during contract negotiation.

ConvenienceFeeRequest

NameDescriptionTypeAdditional information
Amount

Charge amount for fee calculation

decimal number

None.

ConvenienceFeeType

Customizable convenience fee type that is matched with different types of transactions

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Amount": 100.0,
  "ConvenienceFeeType": null,
  "AuthenticationKey": "Authentication Key"
}
<ConvenienceFeeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <Amount>100</Amount>
  <ConvenienceFeeType i:nil="true" />
</ConvenienceFeeRequest>

Response Information

ConvenienceFeeResponse

NameDescriptionTypeAdditional information
ConvenienceFee

Amount of convenience fee

decimal number

None.

CalculationType

Fee calculation type for current fee tier

string

None.

FlatRate

Flat rate for fee tier, applicable for CalculationType = FlatRate

decimal number

None.

Percent

Percent rate for fee tier, applicable for CalculationType = Percent

decimal number

None.

MinimumAmount

Minimum fee amount, applicable for CalculationType = Percent

decimal number

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ConvenienceFee": 1.0,
  "CalculationType": null,
  "FlatRate": null,
  "Percent": null,
  "MinimumAmount": null,
  "ResponseCode": "Success",
  "Message": "Success"
}
<ConvenienceFeeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <CalculationType i:nil="true" />
  <ConvenienceFee>1</ConvenienceFee>
  <FlatRate i:nil="true" />
  <MinimumAmount i:nil="true" />
  <Percent i:nil="true" />
</ConvenienceFeeResponse>

POST api/CreditCard/GetAcceptedCardTypes

This operation returns the list of accepted by merchant card types .

GetAcceptedCardTypesRequest

NameDescriptionTypeAdditional information
AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "AuthenticationKey": "Authentication Key"
}
<GetAcceptedCardTypesRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
</GetAcceptedCardTypesRequest>

Response Information

GetAcceptedCardTypesResponse

NameDescriptionTypeAdditional information
AcceptedCardTypes

List of Accepted Card Types

Collection of CreditCardType

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

ListOfCreditCardType

Response Formats

{
  "AcceptedCardTypes": [
    3,
    4,
    2
  ],
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetAcceptedCardTypesResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.CreditCard">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <AcceptedCardTypes xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.Enums">
    <d2p1:CreditCardType>AmericanExpress</d2p1:CreditCardType>
    <d2p1:CreditCardType>Discover</d2p1:CreditCardType>
    <d2p1:CreditCardType>MasterCard</d2p1:CreditCardType>
  </AcceptedCardTypes>
</GetAcceptedCardTypesResponse>

HealthStatus

POST api/HealthStatus/Check

The easiest way to make sure you have a solid connection to our API is to check API helth status. All you need is a valid authentication key.

CheckHealthStatusRequest

NameDescriptionTypeAdditional information
AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "AuthenticationKey": "Authentication Key"
}
<CheckHealthStatusRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.HealthStatus">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
</CheckHealthStatusRequest>

Response Information

CheckHealthStatusResponse

NameDescriptionTypeAdditional information
IsAlive

Is service alive

boolean

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "IsAlive": true,
  "ResponseCode": "Success",
  "Message": "Success"
}
<CheckHealthStatusResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.HealthStatus">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <IsAlive>true</IsAlive>
</CheckHealthStatusResponse>

Transaction

POST api/Transaction/GetTransactionById

This operation provides detailed information about a particular, previously made, transaction. The API will look up the transaction by the Transaction ID that you provide in the body of the POST request. If a transation ID cannot be found or if your athentication key is not valid. API will respond with an error message.

GetTransactionByIdRequest

NameDescriptionTypeAdditional information
TransactionId

A Transaction Id

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": "99991",
  "AuthenticationKey": "Authentication Key"
}
<GetTransactionByIdRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <TransactionId>99991</TransactionId>
</GetTransactionByIdRequest>

Response Information

GetTransactionByIdResponse

NameDescriptionTypeAdditional information
TransactionInformation

A transaction information

TransactionInformation

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

TransactionInformation

NameDescriptionTypeAdditional information
TransactionId

Transaction Id

string

None.

InternalReferenceTransactionId

Internal Reference Transaction Id

string

None.

OriginalAmount

Original amount of the transaction

decimal number

None.

PostedAmount

Posted amount of the transaction

decimal number

None.

TransactionType

Transaction type

TransactionType

None.

TransactionStatus

Transaction status

TransactionStatus

None.

PaymentDate

Payment date

date

None.

TimeZone

Client time zone

string

None.

CreditCardType

Credit card type

CreditCardType

None.

LastFourDigits

Last 4 digits of the credit card or the bank account

string

None.

RoutingNumber

Routing number

string

None.

AccountNumber

Account number

string

None.

BatchNumber

Batch number

integer

None.

InstanceName

Merchant instance name

string

None.

CustomerName

Customer name

string

None.

ClientReferenceData

Client extra data

ClientReferenceData

None.

ProcessOneToken

ProcessOne token

string

None.

CreditCardExpirationMonth

Credit card expiration month

integer

None.

CreditCardExpirationYear

Credit card expiration year

integer

None.

BankName

Bank name

string

None.

BankAccountType

Bank account type

EftAccountType

None.

ReturnReasonType

Return reason type

ReturnReasonType

None.

ReturnReasonCode

Return reason code

string

None.

BaseCardType

Base card type

CreditCardType

None.

AccountGroupCode

Account group code

string

None.

TransactionType

Possible enumeration values:

NameValueDescription
Undefined

0

Undefined

ChargeCreditCard

1

Charge by Credit Card

RefundCreditCard

2

Refund payment by Credit Card

VoidCreditCard

3

Void payment by Credit Card

CreditEft

5

Charge by credit electronic fund transfer

DebitEftNoFee

6

Charge by debit electronic fund transfer

VoidEft

7

Void EFT payment

ChargeBackDebit

9

Chargeback debit

ChargeBackCredit

10

Chargeback Credit

SaveCreditCard

11

Save CreditCard

RemoveSavedCreditCard

12

Remove saved Credit Card

RecurringChargeCreditCard

13

Recurring Credit Card Charge

ChargeCreditCardNoFee

14

Charge by Credit Card without fee

ReturnedEft

15

EFT Returned

AchDebitPassthrough

16

ACH Debit Pass-through

AchCreditPassthrough

17

ACH Credit Pass-through

RefundEft

18

EFT Refund

DebitSweepForEftCredit

19

EFT Debit Sweep For EFT Credit

AchReturnPassthrough

20

ACH Return Pass-through

SaveEft

21

Save EFT

DebitEft

22

EFT Debit

RecurringEft

23

Recurring EFT Payment

RemoveSavedEft

24

Remove Saved EFT

AdjustmentDebit

25

Adjustment Debit

AdjustmentCredit

26

Adjustment Credit

VoidAdjustment

27

Void Adjustment

VerifyCreditCard

28

Verify Credit Card

VerifyBankAccount

29

Verify Bank Account

CreditBankAccount

31

Credit Bank Account

VoidBankAccountCredit

32

Void Bank Account Credit

CreatePrepaidProfile

33

Create Prepaid Profile

UpdatePrepaidProfile

34

Update Prepaid Profile

LoadPrepaidAccount

35

Load Prepaid Account

ReversePrepaidAccountLoad

36

Reverse Prepaid AccountLoad

ReleaseLoadPrepaidAccount

37

Release Load Prepaid Account

DisbursePrepaidAccountEft

38

Disburse Prepaid Account Eft

DisbursePrepaidAccountCheck

39

Disburse Prepaid Account Check

ChangePrepaidAccountStatus

40

Change Prepaid Account Status

AddPrepaidCard

41

Add Prepaid Card

ChangePrepaidCardStatus

42

Change Prepaid Card Status

ReplacePrepaidCard

43

Replace Prepaid Card

ActivatePrepaidCard

44

Activate Prepaid Card

ReservePrepaidCard

45

Reserve Prepaid Card

LoadReservedPrepaidCard

46

Load Reserved Prepaid Card

LostStolenPrepaidCard

47

Lost Stolen Prepaid Card

OrderPrepaidCards

48

Order Prepaid Cards

ReturnedCreditBankAccount

49

Returned Credit Bank Account

TransactionStatus

Possible enumeration values:

NameValueDescription
Undefined

0

Transaction status is undefined

InProcess

1

Transaction has been started

Successful

2

Transaction has been processed successfully

Failed

3

Transaction failed

Voided

4

Transaction voided

Canceled

5

Transaction canceled

Reversed

6

Transaction reversed

CardReleased

7

Card released

Returned

8

Transaction returned

ReturnReasonType

Possible enumeration values:

NameValueDescription
Chargeback

0

Chargeback

ChargebackCredit

1

Chargeback Credit

Eft

2

Eft

Response Formats

{
  "TransactionInformation": {
    "TransactionId": "99991",
    "InternalReferenceTransactionId": null,
    "OriginalAmount": 100.0,
    "PostedAmount": 100.0,
    "TransactionType": 5,
    "TransactionStatus": 2,
    "PaymentDate": "2019-01-19T21:38:17.7302676-08:00",
    "TimeZone": "PST",
    "CreditCardType": 0,
    "LastFourDigits": "1234",
    "RoutingNumber": "123123123",
    "AccountNumber": "123123124",
    "BatchNumber": 11,
    "InstanceName": "merchant instance name",
    "CustomerName": "John Stevens",
    "ClientReferenceData": {
      "ClientReferenceData1": "1234",
      "ClientReferenceData2": null,
      "ClientReferenceData3": "test address",
      "ClientReferenceData4": null,
      "ClientReferenceData5": null
    },
    "ProcessOneToken": null,
    "CreditCardExpirationMonth": null,
    "CreditCardExpirationYear": null,
    "BankName": null,
    "BankAccountType": 0,
    "ReturnReasonType": null,
    "ReturnReasonCode": null,
    "BaseCardType": null,
    "AccountGroupCode": null
  },
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetTransactionByIdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <TransactionInformation>
    <AccountGroupCode i:nil="true" />
    <AccountNumber>123123124</AccountNumber>
    <BankAccountType>Undefined</BankAccountType>
    <BankName i:nil="true" />
    <BaseCardType i:nil="true" />
    <BatchNumber>11</BatchNumber>
    <ClientReferenceData xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:ClientReferenceData1>1234</d3p1:ClientReferenceData1>
      <d3p1:ClientReferenceData2 i:nil="true" />
      <d3p1:ClientReferenceData3>test address</d3p1:ClientReferenceData3>
      <d3p1:ClientReferenceData4 i:nil="true" />
      <d3p1:ClientReferenceData5 i:nil="true" />
    </ClientReferenceData>
    <CreditCardExpirationMonth i:nil="true" />
    <CreditCardExpirationYear i:nil="true" />
    <CreditCardType>Undefined</CreditCardType>
    <CustomerName>John Stevens</CustomerName>
    <InstanceName>merchant instance name</InstanceName>
    <InternalReferenceTransactionId i:nil="true" />
    <LastFourDigits>1234</LastFourDigits>
    <OriginalAmount>100</OriginalAmount>
    <PaymentDate>2019-01-19T21:38:17.7302676-08:00</PaymentDate>
    <PostedAmount>100</PostedAmount>
    <ProcessOneToken i:nil="true" />
    <ReturnReasonCode i:nil="true" />
    <ReturnReasonType i:nil="true" />
    <RoutingNumber>123123123</RoutingNumber>
    <TimeZone>PST</TimeZone>
    <TransactionId>99991</TransactionId>
    <TransactionStatus>Successful</TransactionStatus>
    <TransactionType>CreditEft</TransactionType>
  </TransactionInformation>
</GetTransactionByIdResponse>

POST api/Transaction/GetTransactionByCallbackId

This operation provides a detailed information about a particular, previously made, transaction. A Callback ID is used to look up the transaction. Like other operations, a valid and existing callback id has to be provided in the request.

GetTransactionByCallbackIdRequest

NameDescriptionTypeAdditional information
CallbackId

A Transaction Callback Id

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "CallbackId": "123",
  "AuthenticationKey": "Authentication Key"
}
<GetTransactionByCallbackIdRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId>123</CallbackId>
</GetTransactionByCallbackIdRequest>

Response Information

GetTransactionByCallbackIdResponse

NameDescriptionTypeAdditional information
TransactionInformation

A transaction information

TransactionInformation

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "TransactionInformation": {
    "TransactionId": "1579",
    "InternalReferenceTransactionId": null,
    "OriginalAmount": 100.0,
    "PostedAmount": 100.0,
    "TransactionType": 5,
    "TransactionStatus": 2,
    "PaymentDate": "2019-01-19T21:38:17.8240185-08:00",
    "TimeZone": "PST",
    "CreditCardType": 0,
    "LastFourDigits": "1234",
    "RoutingNumber": "123123123",
    "AccountNumber": "123123124",
    "BatchNumber": 11,
    "InstanceName": "merchant instance name",
    "CustomerName": "John Stevens",
    "ClientReferenceData": {
      "ClientReferenceData1": "1234",
      "ClientReferenceData2": null,
      "ClientReferenceData3": "test address",
      "ClientReferenceData4": null,
      "ClientReferenceData5": null
    },
    "ProcessOneToken": null,
    "CreditCardExpirationMonth": null,
    "CreditCardExpirationYear": null,
    "BankName": null,
    "BankAccountType": 0,
    "ReturnReasonType": null,
    "ReturnReasonCode": null,
    "BaseCardType": null,
    "AccountGroupCode": null
  },
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetTransactionByCallbackIdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <TransactionInformation>
    <AccountGroupCode i:nil="true" />
    <AccountNumber>123123124</AccountNumber>
    <BankAccountType>Undefined</BankAccountType>
    <BankName i:nil="true" />
    <BaseCardType i:nil="true" />
    <BatchNumber>11</BatchNumber>
    <ClientReferenceData xmlns:d3p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
      <d3p1:ClientReferenceData1>1234</d3p1:ClientReferenceData1>
      <d3p1:ClientReferenceData2 i:nil="true" />
      <d3p1:ClientReferenceData3>test address</d3p1:ClientReferenceData3>
      <d3p1:ClientReferenceData4 i:nil="true" />
      <d3p1:ClientReferenceData5 i:nil="true" />
    </ClientReferenceData>
    <CreditCardExpirationMonth i:nil="true" />
    <CreditCardExpirationYear i:nil="true" />
    <CreditCardType>Undefined</CreditCardType>
    <CustomerName>John Stevens</CustomerName>
    <InstanceName>merchant instance name</InstanceName>
    <InternalReferenceTransactionId i:nil="true" />
    <LastFourDigits>1234</LastFourDigits>
    <OriginalAmount>100</OriginalAmount>
    <PaymentDate>2019-01-19T21:38:17.8240185-08:00</PaymentDate>
    <PostedAmount>100</PostedAmount>
    <ProcessOneToken i:nil="true" />
    <ReturnReasonCode i:nil="true" />
    <ReturnReasonType i:nil="true" />
    <RoutingNumber>123123123</RoutingNumber>
    <TimeZone>PST</TimeZone>
    <TransactionId>1579</TransactionId>
    <TransactionStatus>Successful</TransactionStatus>
    <TransactionType>CreditEft</TransactionType>
  </TransactionInformation>
</GetTransactionByCallbackIdResponse>

POST api/Transaction/GetTransactionsByBatchId

This operation provides a detailed information about all transactions that are included in the same batch with a specific batch id. In addition to your personal authentication key, you need to provide one or more authentication keys which will be used to filter transactions.

GetTransactionsByBatchIdRequest

NameDescriptionTypeAdditional information
QueryAuthenticationKeys

Authentication keys to limit search query

Collection of String

None.

BatchId

A Transaction Batch Id

string

None.

TransactionStatuses

Transaction statuses to limit search query

Collection of TransactionStatus

None.

AuthenticationKey

Instance authentication key

string

Required

String

Request Formats

 
{
  "QueryAuthenticationKeys": [
    "Authentication Key",
    "ae63e683-7837-445f-82eb-86c7ec0aec21"
  ],
  "BatchId": "11",
  "TransactionStatuses": null,
  "AuthenticationKey": "Authentication Key"
}
<GetTransactionsByBatchIdRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <BatchId>11</BatchId>
  <QueryAuthenticationKeys xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>Authentication Key</d2p1:string>
    <d2p1:string>ae63e683-7837-445f-82eb-86c7ec0aec21</d2p1:string>
  </QueryAuthenticationKeys>
  <TransactionStatuses xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.Enums" i:nil="true" />
</GetTransactionsByBatchIdRequest>

Response Information

GetTransactionsByBatchIdResponse

NameDescriptionTypeAdditional information
Transactions

A transactions information

Collection of TransactionInformation

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Transactions": [
    {
      "TransactionId": "1577",
      "InternalReferenceTransactionId": null,
      "OriginalAmount": 100.0,
      "PostedAmount": 100.0,
      "TransactionType": 5,
      "TransactionStatus": 2,
      "PaymentDate": "2019-01-19T21:38:17.9490206-08:00",
      "TimeZone": "PST",
      "CreditCardType": 0,
      "LastFourDigits": "1234",
      "RoutingNumber": "123123123",
      "AccountNumber": "123123124",
      "BatchNumber": 11,
      "InstanceName": "merchant instance name",
      "CustomerName": "John Stevens",
      "ClientReferenceData": {
        "ClientReferenceData1": "1234",
        "ClientReferenceData2": null,
        "ClientReferenceData3": "test address",
        "ClientReferenceData4": null,
        "ClientReferenceData5": null
      },
      "ProcessOneToken": null,
      "CreditCardExpirationMonth": null,
      "CreditCardExpirationYear": null,
      "BankName": null,
      "BankAccountType": 0,
      "ReturnReasonType": null,
      "ReturnReasonCode": null,
      "BaseCardType": null,
      "AccountGroupCode": null
    },
    {
      "TransactionId": "1578",
      "InternalReferenceTransactionId": null,
      "OriginalAmount": 100.0,
      "PostedAmount": 100.0,
      "TransactionType": 5,
      "TransactionStatus": 2,
      "PaymentDate": "2019-01-19T21:38:17.9490206-08:00",
      "TimeZone": "PST",
      "CreditCardType": 0,
      "LastFourDigits": "1234",
      "RoutingNumber": "123123123",
      "AccountNumber": "123123124",
      "BatchNumber": 11,
      "InstanceName": "merchant instance name",
      "CustomerName": "John Stevens",
      "ClientReferenceData": {
        "ClientReferenceData1": "1234",
        "ClientReferenceData2": null,
        "ClientReferenceData3": "test address",
        "ClientReferenceData4": null,
        "ClientReferenceData5": null
      },
      "ProcessOneToken": null,
      "CreditCardExpirationMonth": null,
      "CreditCardExpirationYear": null,
      "BankName": null,
      "BankAccountType": 0,
      "ReturnReasonType": null,
      "ReturnReasonCode": null,
      "BaseCardType": null,
      "AccountGroupCode": null
    }
  ],
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetTransactionsByBatchIdResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <Transactions>
    <TransactionInformation>
      <AccountGroupCode i:nil="true" />
      <AccountNumber>123123124</AccountNumber>
      <BankAccountType>Undefined</BankAccountType>
      <BankName i:nil="true" />
      <BaseCardType i:nil="true" />
      <BatchNumber>11</BatchNumber>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>1234</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2 i:nil="true" />
        <d4p1:ClientReferenceData3>test address</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4 i:nil="true" />
        <d4p1:ClientReferenceData5 i:nil="true" />
      </ClientReferenceData>
      <CreditCardExpirationMonth i:nil="true" />
      <CreditCardExpirationYear i:nil="true" />
      <CreditCardType>Undefined</CreditCardType>
      <CustomerName>John Stevens</CustomerName>
      <InstanceName>merchant instance name</InstanceName>
      <InternalReferenceTransactionId i:nil="true" />
      <LastFourDigits>1234</LastFourDigits>
      <OriginalAmount>100</OriginalAmount>
      <PaymentDate>2019-01-19T21:38:17.9490206-08:00</PaymentDate>
      <PostedAmount>100</PostedAmount>
      <ProcessOneToken i:nil="true" />
      <ReturnReasonCode i:nil="true" />
      <ReturnReasonType i:nil="true" />
      <RoutingNumber>123123123</RoutingNumber>
      <TimeZone>PST</TimeZone>
      <TransactionId>1577</TransactionId>
      <TransactionStatus>Successful</TransactionStatus>
      <TransactionType>CreditEft</TransactionType>
    </TransactionInformation>
    <TransactionInformation>
      <AccountGroupCode i:nil="true" />
      <AccountNumber>123123124</AccountNumber>
      <BankAccountType>Undefined</BankAccountType>
      <BankName i:nil="true" />
      <BaseCardType i:nil="true" />
      <BatchNumber>11</BatchNumber>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>1234</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2 i:nil="true" />
        <d4p1:ClientReferenceData3>test address</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4 i:nil="true" />
        <d4p1:ClientReferenceData5 i:nil="true" />
      </ClientReferenceData>
      <CreditCardExpirationMonth i:nil="true" />
      <CreditCardExpirationYear i:nil="true" />
      <CreditCardType>Undefined</CreditCardType>
      <CustomerName>John Stevens</CustomerName>
      <InstanceName>merchant instance name</InstanceName>
      <InternalReferenceTransactionId i:nil="true" />
      <LastFourDigits>1234</LastFourDigits>
      <OriginalAmount>100</OriginalAmount>
      <PaymentDate>2019-01-19T21:38:17.9490206-08:00</PaymentDate>
      <PostedAmount>100</PostedAmount>
      <ProcessOneToken i:nil="true" />
      <ReturnReasonCode i:nil="true" />
      <ReturnReasonType i:nil="true" />
      <RoutingNumber>123123123</RoutingNumber>
      <TimeZone>PST</TimeZone>
      <TransactionId>1578</TransactionId>
      <TransactionStatus>Successful</TransactionStatus>
      <TransactionType>CreditEft</TransactionType>
    </TransactionInformation>
  </Transactions>
</GetTransactionsByBatchIdResponse>

POST api/Transaction/GetTransactionsByType

This operation provides a detailed information about all transactions that match any of the specified transaction types. In your request, you can provide one or more transaction types and authentication keys to expand or limit the scope of your query. You have to provide a specific time frame to limit your search.

GetTransactionsByTypeRequest

NameDescriptionTypeAdditional information
Types

Transaction types

Collection of TransactionType

None.

StartDate

Start date

date

None.

EndDate

End date

date

None.

QueryAuthenticationKeys

Authentication keys to limit search query

Collection of String

None.

TransactionStatuses

Transaction statuses to limit search query

Collection of TransactionStatus

None.

AfterTransactionId

Minimum transaction number (will not be included in the result)

integer

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Types": [
    5,
    1
  ],
  "StartDate": "2019-01-09T21:38:18.0740216-08:00",
  "EndDate": "2019-01-19T21:38:18.0740216-08:00",
  "QueryAuthenticationKeys": [
    "Authentication Key",
    "ee4b3651-31da-4a75-a6df-b696585d1b1d"
  ],
  "TransactionStatuses": null,
  "AfterTransactionId": null,
  "AuthenticationKey": "Authentication Key"
}
<GetTransactionsByTypeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <AfterTransactionId i:nil="true" />
  <EndDate>2019-01-19T21:38:18.0740216-08:00</EndDate>
  <QueryAuthenticationKeys xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>Authentication Key</d2p1:string>
    <d2p1:string>ee4b3651-31da-4a75-a6df-b696585d1b1d</d2p1:string>
  </QueryAuthenticationKeys>
  <StartDate>2019-01-09T21:38:18.0740216-08:00</StartDate>
  <TransactionStatuses xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.Enums" i:nil="true" />
  <Types xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.Enums">
    <d2p1:TransactionType>CreditEft</d2p1:TransactionType>
    <d2p1:TransactionType>ChargeCreditCard</d2p1:TransactionType>
  </Types>
</GetTransactionsByTypeRequest>

Response Information

GetTransactionsByTypeResponse

NameDescriptionTypeAdditional information
Transactions

Collection of transactions

Collection of TransactionInformation

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Transactions": [
    {
      "TransactionId": "1580",
      "InternalReferenceTransactionId": null,
      "OriginalAmount": 100.0,
      "PostedAmount": 100.0,
      "TransactionType": 5,
      "TransactionStatus": 2,
      "PaymentDate": "2019-01-19T21:38:18.0740216-08:00",
      "TimeZone": "PST",
      "CreditCardType": 0,
      "LastFourDigits": "1234",
      "RoutingNumber": "123123123",
      "AccountNumber": "123123124",
      "BatchNumber": 11,
      "InstanceName": "merchant instance name",
      "CustomerName": "John Stevens",
      "ClientReferenceData": {
        "ClientReferenceData1": "1234",
        "ClientReferenceData2": null,
        "ClientReferenceData3": "test address",
        "ClientReferenceData4": null,
        "ClientReferenceData5": null
      },
      "ProcessOneToken": null,
      "CreditCardExpirationMonth": null,
      "CreditCardExpirationYear": null,
      "BankName": null,
      "BankAccountType": 0,
      "ReturnReasonType": null,
      "ReturnReasonCode": null,
      "BaseCardType": null,
      "AccountGroupCode": null
    },
    {
      "TransactionId": "1581",
      "InternalReferenceTransactionId": null,
      "OriginalAmount": 100.0,
      "PostedAmount": 100.0,
      "TransactionType": 5,
      "TransactionStatus": 2,
      "PaymentDate": "2019-01-19T21:38:18.0740216-08:00",
      "TimeZone": "PST",
      "CreditCardType": 0,
      "LastFourDigits": "1234",
      "RoutingNumber": "123123123",
      "AccountNumber": "123123124",
      "BatchNumber": 11,
      "InstanceName": "merchant instance name",
      "CustomerName": "John Stevens",
      "ClientReferenceData": {
        "ClientReferenceData1": "1234",
        "ClientReferenceData2": null,
        "ClientReferenceData3": "test address",
        "ClientReferenceData4": null,
        "ClientReferenceData5": null
      },
      "ProcessOneToken": null,
      "CreditCardExpirationMonth": null,
      "CreditCardExpirationYear": null,
      "BankName": null,
      "BankAccountType": 0,
      "ReturnReasonType": null,
      "ReturnReasonCode": null,
      "BaseCardType": null,
      "AccountGroupCode": null
    }
  ],
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetTransactionsByTypeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <Transactions>
    <TransactionInformation>
      <AccountGroupCode i:nil="true" />
      <AccountNumber>123123124</AccountNumber>
      <BankAccountType>Undefined</BankAccountType>
      <BankName i:nil="true" />
      <BaseCardType i:nil="true" />
      <BatchNumber>11</BatchNumber>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>1234</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2 i:nil="true" />
        <d4p1:ClientReferenceData3>test address</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4 i:nil="true" />
        <d4p1:ClientReferenceData5 i:nil="true" />
      </ClientReferenceData>
      <CreditCardExpirationMonth i:nil="true" />
      <CreditCardExpirationYear i:nil="true" />
      <CreditCardType>Undefined</CreditCardType>
      <CustomerName>John Stevens</CustomerName>
      <InstanceName>merchant instance name</InstanceName>
      <InternalReferenceTransactionId i:nil="true" />
      <LastFourDigits>1234</LastFourDigits>
      <OriginalAmount>100</OriginalAmount>
      <PaymentDate>2019-01-19T21:38:18.0740216-08:00</PaymentDate>
      <PostedAmount>100</PostedAmount>
      <ProcessOneToken i:nil="true" />
      <ReturnReasonCode i:nil="true" />
      <ReturnReasonType i:nil="true" />
      <RoutingNumber>123123123</RoutingNumber>
      <TimeZone>PST</TimeZone>
      <TransactionId>1580</TransactionId>
      <TransactionStatus>Successful</TransactionStatus>
      <TransactionType>CreditEft</TransactionType>
    </TransactionInformation>
    <TransactionInformation>
      <AccountGroupCode i:nil="true" />
      <AccountNumber>123123124</AccountNumber>
      <BankAccountType>Undefined</BankAccountType>
      <BankName i:nil="true" />
      <BaseCardType i:nil="true" />
      <BatchNumber>11</BatchNumber>
      <ClientReferenceData xmlns:d4p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
        <d4p1:ClientReferenceData1>1234</d4p1:ClientReferenceData1>
        <d4p1:ClientReferenceData2 i:nil="true" />
        <d4p1:ClientReferenceData3>test address</d4p1:ClientReferenceData3>
        <d4p1:ClientReferenceData4 i:nil="true" />
        <d4p1:ClientReferenceData5 i:nil="true" />
      </ClientReferenceData>
      <CreditCardExpirationMonth i:nil="true" />
      <CreditCardExpirationYear i:nil="true" />
      <CreditCardType>Undefined</CreditCardType>
      <CustomerName>John Stevens</CustomerName>
      <InstanceName>merchant instance name</InstanceName>
      <InternalReferenceTransactionId i:nil="true" />
      <LastFourDigits>1234</LastFourDigits>
      <OriginalAmount>100</OriginalAmount>
      <PaymentDate>2019-01-19T21:38:18.0740216-08:00</PaymentDate>
      <PostedAmount>100</PostedAmount>
      <ProcessOneToken i:nil="true" />
      <ReturnReasonCode i:nil="true" />
      <ReturnReasonType i:nil="true" />
      <RoutingNumber>123123123</RoutingNumber>
      <TimeZone>PST</TimeZone>
      <TransactionId>1581</TransactionId>
      <TransactionStatus>Successful</TransactionStatus>
      <TransactionType>CreditEft</TransactionType>
    </TransactionInformation>
  </Transactions>
</GetTransactionsByTypeResponse>

Examples of usage

using System;
using System.Linq;

using OneInc.ProcessOne.RestApi.Client;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction;
using OneInc.ProcessOne.RestApi.Contracts.Enums;
using OneInc.ProcessOne.RestApi.Samples.Properties;

namespace OneInc.ProcessOne.RestApi.Samples.Net
{
    public class Transaction
    {
        public void GetTransactionsByType()
        {
            Console.WriteLine("Executing GetTransactionsByType operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;

            var request = new GetTransactionsByTypeRequest
            {
                // Set your ProcessOne Authentication Key
                AuthenticationKey = Settings.Default.AuthenticationKey, 
                StartDate = DateTime.Today.AddDays(-1),
                EndDate = DateTime.Today,
                QueryAuthenticationKeys = new[]
                {
                    Settings.Default.AuthenticationKey
                },
                Types = new[]
                {
                    TransactionType.CreditEft, 
                    TransactionType.ChargeCreditCard
                }
            };
            var result = new ProcessOneApi(apiUri).Transaction.GetTransactionsByType(request);
            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Transactions were found: {0}", result.Transactions.Count());
        }
    }
}
<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>Transaction search example</title>
</head>
<body>
    <script src="../Scripts/jquery-1.12.4.min.js"></script>
    <script src="../Scripts/processOneApi.js"></script>
    <script>
        var application = {
            config: {
                 processOneUrl: 'http://processone/api/',
                 processOneAuthenticationKey: 'Authentication Key',
            }
        }

        var api = $.processOneApi(application.config.processOneUrl);
        var request = new ProcessOneApi.GetTransactionsByTypeRequest(
            application.config.processOneAuthenticationKey,
            [ ProcessOneApi.TransactionType.ChargeCreditCard ],
            new Date(2017, 1, 27),
            new Date(2017, 1, 28),
            [application.config.processOneAuthenticationKey]
        );
        api.transaction
            .getTransactionsByType(request)
            .done(function(result) {
                // process the result
                console.log(result);
            })
            .fail(function(error) {
                console.error(error);
            });
    </script>
</body>
</html>

POST api/Transaction/UpdateTransactionMetadata

Most of the transactions include ClientReferenceData metadata fileds that you can use to link additional information to transaction record. This operation allows to update the metadata fields of a particular transaction with a specific transaction id. Specify the Transaction ID and the new value of the metadata fileds that you want to update.

UpdateTransactionMetadataRequest

NameDescriptionTypeAdditional information
TransactionId

Transaction id

integer

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": 99991,
  "ClientReferenceData": {
    "ClientReferenceData1": "1234",
    "ClientReferenceData2": null,
    "ClientReferenceData3": "test address",
    "ClientReferenceData4": "additional info",
    "ClientReferenceData5": null
  },
  "AuthenticationKey": "Authentication Key"
}
<UpdateTransactionMetadataRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
    <d2p1:ClientReferenceData1>1234</d2p1:ClientReferenceData1>
    <d2p1:ClientReferenceData2 i:nil="true" />
    <d2p1:ClientReferenceData3>test address</d2p1:ClientReferenceData3>
    <d2p1:ClientReferenceData4>additional info</d2p1:ClientReferenceData4>
    <d2p1:ClientReferenceData5 i:nil="true" />
  </ClientReferenceData>
  <TransactionId>99991</TransactionId>
</UpdateTransactionMetadataRequest>

Response Information

UpdateTransactionMetadataResponse

NameDescriptionTypeAdditional information
ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ResponseCode": "Success",
  "Message": "Success"
}
<UpdateTransactionMetadataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Transaction">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
</UpdateTransactionMetadataResponse>

Eft

POST api/Eft/Save

This operation tokenizes all the required information about a bank account payment method. Once the bank account information has been tokenized, you no longer have to provide us any sensitive and personal information to debit or credit a bank account, just use the token that is retunred by our API.

SaveEftRequest

NameDescriptionTypeAdditional information
EftDetails

Eft details

EftDetails

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

CallbackId

A callback id associated to save EFT transaction

string

None.

BypassBankAccountValidation

Bypassing bank account validation

boolean

None.

AuthenticationKey

Instance authentication key

string

Required

EftDetails

NameDescriptionTypeAdditional information
RoutingNumber

The bank routing number. Must only contain numbers.

string

None.

AccountNumber

Account number. Must contain only numbers.

string

None.

Type

EFT account type - Checking / Savings.

EftAccountType

None.

AccountGroupCode

This field is used to route money to different accounts based on a predefined groups.

string

None.

CustomerName

Customer name

string

None.

Request Formats

 
{
  "EftDetails": {
    "RoutingNumber": "123123123",
    "AccountNumber": "123123124",
    "Type": 0,
    "AccountGroupCode": "Default",
    "CustomerName": "John Stevens"
  },
  "ClientReferenceData": null,
  "CallbackId": null,
  "BypassBankAccountValidation": false,
  "AuthenticationKey": "Authentication Key"
}
<SaveEftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <BypassBankAccountValidation>false</BypassBankAccountValidation>
  <CallbackId i:nil="true" />
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <EftDetails>
    <AccountGroupCode>Default</AccountGroupCode>
    <AccountNumber>123123124</AccountNumber>
    <CustomerName>John Stevens</CustomerName>
    <RoutingNumber>123123123</RoutingNumber>
    <Type>Undefined</Type>
  </EftDetails>
</SaveEftRequest>

Response Information

SaveEftResponse

NameDescriptionTypeAdditional information
Token

Saved Eft token

string

None.

BankName

Bank name

string

None.

ServerReferenceData

Additional response data

ServerReferenceData

None.

TimeZone

Short time zone name with daylight saving time suffix

string

None.

TokenCreationTime

Token creation date and time in merchant time zone

date

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

ServerReferenceData

NameDescriptionTypeAdditional information
ServerReferenceData1

Operation result description

string

None.

Response Formats

{
  "Token": "49dbfa63-f272-4e12-b61f-3fe8723f15a6",
  "BankName": null,
  "ServerReferenceData": null,
  "TimeZone": null,
  "TokenCreationTime": null,
  "ResponseCode": "Success",
  "Message": "Success"
}
<SaveEftResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BankName i:nil="true" />
  <ServerReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <TimeZone i:nil="true" />
  <Token>49dbfa63-f272-4e12-b61f-3fe8723f15a6</Token>
  <TokenCreationTime i:nil="true" />
</SaveEftResponse>

POST api/Eft/Credit

This operation allows to credit a given bank account, which initiates a transfer of money from the merchant to a particular customer bank account. You can either provide a bank account information or use a previously saved token.

CreditEftRequest

NameDescriptionTypeAdditional information
Amount

Amount to charge

decimal number

None.

Token

Saved Eft token

string

None.

EftDetails

Eft details

EftDetails

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

IsRecurring

Is recurring charge

boolean

None.

CallbackId

Callback ID

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Amount": 100.0,
  "Token": null,
  "EftDetails": {
    "RoutingNumber": "123123123",
    "AccountNumber": "123123124",
    "Type": 0,
    "AccountGroupCode": "Default",
    "CustomerName": "John Stevens"
  },
  "ClientReferenceData": null,
  "IsRecurring": false,
  "CallbackId": null,
  "AuthenticationKey": "Authentication Key"
}
<CreditEftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <Amount>100</Amount>
  <CallbackId i:nil="true" />
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <EftDetails>
    <AccountGroupCode>Default</AccountGroupCode>
    <AccountNumber>123123124</AccountNumber>
    <CustomerName>John Stevens</CustomerName>
    <RoutingNumber>123123123</RoutingNumber>
    <Type>Undefined</Type>
  </EftDetails>
  <IsRecurring>false</IsRecurring>
  <Token i:nil="true" />
</CreditEftRequest>

Response Information

CreditEftResponse

NameDescriptionTypeAdditional information
BankName

Bank name

string

None.

TransactionId

Transaction ID

string

None.

TransactionDate

Transaction date and time

date

None.

TimeZone

Transaction time zone

string

None.

BatchNumber

Number of the batch

integer

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "BankName": "Bank name",
  "TransactionId": "04b0c673-f757-42eb-bb78-efd06ffb0340",
  "TransactionDate": "2019-01-19T21:38:18.3865302-08:00",
  "TimeZone": "PST",
  "BatchNumber": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<CreditEftResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BankName>Bank name</BankName>
  <BatchNumber>0</BatchNumber>
  <TimeZone>PST</TimeZone>
  <TransactionDate>2019-01-19T21:38:18.3865302-08:00</TransactionDate>
  <TransactionId>04b0c673-f757-42eb-bb78-efd06ffb0340</TransactionId>
</CreditEftResponse>

POST api/Eft/Debit

This operation allows debiting a given bank account, which initiates a transfer of money from a particular customer bank account to the merchant. You can either provide a bank account information or use a previously saved token.

DebitEftRequest

NameDescriptionTypeAdditional information
Save

Enables to save and tokenize eft information

boolean

None.

ChargeFee

Should we charge with fee

boolean

None.

ConvenienceFeeType

Customizable convenience fee type that is matched with different types of transactions

string

None.

BypassBankAccountValidation

Bypassing bank account validation

boolean

None.

Amount

Amount to charge

decimal number

None.

Token

Saved Eft token

string

None.

EftDetails

Eft details

EftDetails

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

IsRecurring

Is recurring charge

boolean

None.

CallbackId

Callback ID

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Save": false,
  "ChargeFee": false,
  "ConvenienceFeeType": null,
  "BypassBankAccountValidation": false,
  "Amount": 100.0,
  "Token": null,
  "EftDetails": {
    "RoutingNumber": "123123123",
    "AccountNumber": "123123124",
    "Type": 0,
    "AccountGroupCode": "Default",
    "CustomerName": "John Stevens"
  },
  "ClientReferenceData": {
    "ClientReferenceData1": "1234",
    "ClientReferenceData2": "1ac57da3-3763-4dcd-95ac-35bf1ec718a9",
    "ClientReferenceData3": "Location",
    "ClientReferenceData4": null,
    "ClientReferenceData5": null
  },
  "IsRecurring": false,
  "CallbackId": null,
  "AuthenticationKey": "Authentication Key"
}
<DebitEftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <Amount>100</Amount>
  <CallbackId i:nil="true" />
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">
    <d2p1:ClientReferenceData1>1234</d2p1:ClientReferenceData1>
    <d2p1:ClientReferenceData2>1ac57da3-3763-4dcd-95ac-35bf1ec718a9</d2p1:ClientReferenceData2>
    <d2p1:ClientReferenceData3>Location</d2p1:ClientReferenceData3>
    <d2p1:ClientReferenceData4 i:nil="true" />
    <d2p1:ClientReferenceData5 i:nil="true" />
  </ClientReferenceData>
  <EftDetails>
    <AccountGroupCode>Default</AccountGroupCode>
    <AccountNumber>123123124</AccountNumber>
    <CustomerName>John Stevens</CustomerName>
    <RoutingNumber>123123123</RoutingNumber>
    <Type>Undefined</Type>
  </EftDetails>
  <IsRecurring>false</IsRecurring>
  <Token i:nil="true" />
  <BypassBankAccountValidation>false</BypassBankAccountValidation>
  <ChargeFee>false</ChargeFee>
  <ConvenienceFeeType i:nil="true" />
  <Save>false</Save>
</DebitEftRequest>

Response Information

DebitEftResponse

NameDescriptionTypeAdditional information
Token

ProcessOne payment token

string

None.

ServerReferenceData

Additional response data

ServerReferenceData

None.

BankName

Bank name

string

None.

TransactionId

Transaction ID

string

None.

TransactionDate

Transaction date and time

date

None.

TimeZone

Transaction time zone

string

None.

BatchNumber

Number of the batch

integer

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Token": null,
  "ServerReferenceData": null,
  "BankName": "Bank name",
  "TransactionId": "99991",
  "TransactionDate": "2019-01-19T21:38:18.4490301-08:00",
  "TimeZone": "PST",
  "BatchNumber": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<DebitEftResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BankName>Bank name</BankName>
  <BatchNumber>0</BatchNumber>
  <TimeZone>PST</TimeZone>
  <TransactionDate>2019-01-19T21:38:18.4490301-08:00</TransactionDate>
  <TransactionId>99991</TransactionId>
  <ServerReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <Token i:nil="true" />
</DebitEftResponse>

Examples of usage

using System;
using System.Threading.Tasks;

using OneInc.ProcessOne.RestApi.Client;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts;
using OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft;
using OneInc.ProcessOne.RestApi.Samples.Properties;

namespace OneInc.ProcessOne.RestApi.Samples.Net
{
    public class Eft
    {
        /// <summary>
        /// Eft Debit operation
        /// </summary>
        public void Debit()
        {
            Console.WriteLine("Executing debit EFT operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;

            var debitEftRequest = new DebitEftRequest
            {
                // Set your ProcessOne Authentication Key
                AuthenticationKey = Settings.Default.AuthenticationKey,
                Amount = 1,
                EftDetails = new EftDetails
                {
                    AccountGroupCode = "Default",
                    AccountNumber = "123123123",
                    RoutingNumber = "123123123",
                    CustomerName = "John Stevense"
                },
                ClientReferenceData = new ClientReferenceData
                {
                    ClientReferenceData1 = "POL12345"
                }
            };

            var result = new ProcessOneApi(apiUri)
                .Eft
                .Debit(debitEftRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Transaction Id: {0}", result.TransactionId);
        }

        /// <summary>
        /// Execute Eft Debit operation asynchronously
        /// </summary>
        public async Task DebitAsync()
        {
            Console.WriteLine("Executing credit card charge operation");

            // Set an actual ProcessOne RestAPI url
            var apiUri = Settings.Default.ProcessOneApiUrl;

            var debitEftRequest = new DebitEftRequest
            {
                // Request Initialization
            };

            var result = await new ProcessOneApi(apiUri)
                .Eft
                .DebitAsync(debitEftRequest);

            Console.WriteLine("Execution result code: {0}", result.ResponseCode);
            Console.WriteLine("Message: {0}", result.Message);
            Console.WriteLine("Transaction Id: {0}", result.TransactionId);
        }
    }
}
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Debit EFT example</title>
</head>
<body>
    <script src="../Scripts/jquery-1.12.4.min.js"></script>
    <script src="../Scripts/processOneApi.js"></script>
    <script>
    var application = {
        config: {
            processOneUrl: 'http://processone/api/',
            processOneAuthenticationKey: 'Authentication Key',
        },
        accountData: {
            routingNumber: "123123123",
            accountNumber: "123123123",
            accountGroupCode: "Default",
            holderName: "John Smitt"
        }
    }

    var eftDetail = new ProcessOneApi.EftDetails(
        application.accountData.routingNumber,
        application.accountData.accountNumber,
        application.accountData.accountGroupCode,
        application.accountData.holderName);

    var debitRequest = new ProcessOneApi.DebitEftRequest(
        application.config.processOneAuthenticationKey,
        1,      // amount
        null,   // token
        eftDetail);
        
    $.processOneApi(application.config.processOneUrl)
       .eft
       .debit(debitRequest)
       .done(function (result) {
           console.log("debit eft processed");
           // process the result
           console.log(result);
       })
       .fail(function (result) {
           // process the result
           console.error(result);
       });
    </script>
</body>
</html>

POST api/Eft/Void

This operation provides a way to void or cancel a previously made EFT payment that has not been fully processed yet. If a payment was already processed, a refund operation is required. You have to provide the transaction id of a transaction that you want to void. You can include a callback id if you prefer to get the information about a void transaction record by the callback id.

VoidEftRequest

NameDescriptionTypeAdditional information
TransactionId

Transaction ID

string

None.

CallbackId

Callback ID

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": "99991",
  "CallbackId": null,
  "AuthenticationKey": "Authentication Key"
}
<VoidEftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId i:nil="true" />
  <TransactionId>99991</TransactionId>
</VoidEftRequest>

Response Information

VoidEftResponse

NameDescriptionTypeAdditional information
ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ResponseCode": "Success",
  "Message": "Success"
}
<VoidEftResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
</VoidEftResponse>

POST api/Eft/Refund

This operation provides a way to refund a previously made EFT payment that has been fully processed. To initiate a refund, call this API operation and provide a valid transaction id. You can include a callback id if you prefer to get the information about the refund transaction record by the callback id.

RefundEftRequest

NameDescriptionTypeAdditional information
TransactionId

Transaction ID to refund

string

None.

CallbackId

CallBack ID

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "TransactionId": "99991",
  "CallbackId": null,
  "AuthenticationKey": "Authentication Key"
}
<RefundEftRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <CallbackId i:nil="true" />
  <TransactionId>99991</TransactionId>
</RefundEftRequest>

Response Information

RefundEftResponse

NameDescriptionTypeAdditional information
TransactionId

Transaction ID

string

None.

BatchNumber

integer

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "TransactionId": null,
  "BatchNumber": 0,
  "ResponseCode": "Success",
  "Message": "Success"
}
<RefundEftResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BatchNumber>0</BatchNumber>
  <TransactionId i:nil="true" />
</RefundEftResponse>

POST api/Eft/VerifyBankAccount

This operation provides a way to verify the validity of a bank account information. Verification of bank account ensures that our customers have valid bank information before authorizing payments. This also prevents users from inputting incorrect bank account number.

VerifyBankAccountRequest

NameDescriptionTypeAdditional information
EftDetails

EFT details

EftDetails

None.

Token

Saved Eft Token

string

None.

ClientReferenceData

Client reference data

ClientReferenceData

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "EftDetails": {
    "RoutingNumber": "122199983",
    "AccountNumber": "92361077941",
    "Type": 0,
    "AccountGroupCode": "Default",
    "CustomerName": "John Stevens"
  },
  "Token": null,
  "ClientReferenceData": null,
  "AuthenticationKey": "Authentication Key"
}
<VerifyBankAccountRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <ClientReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
  <EftDetails>
    <AccountGroupCode>Default</AccountGroupCode>
    <AccountNumber>92361077941</AccountNumber>
    <CustomerName>John Stevens</CustomerName>
    <RoutingNumber>122199983</RoutingNumber>
    <Type>Undefined</Type>
  </EftDetails>
  <Token i:nil="true" />
</VerifyBankAccountRequest>

Response Information

VerifyBankAccountResponse

NameDescriptionTypeAdditional information
ServerReferenceData

Additional response data

ServerReferenceData

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ServerReferenceData": null,
  "ResponseCode": "Success",
  "Message": "Success"
}
<VerifyBankAccountResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <ServerReferenceData xmlns:d2p1="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts" i:nil="true" />
</VerifyBankAccountResponse>

POST api/Eft/GetBankData

This operation provides information about the bank that is associated with the provided routing number. If a non-esixting routing number is provided in the request, the API will respond with an appropriate error message.

GetBankDataRequest

NameDescriptionTypeAdditional information
RoutingNumber

The bank routing number. Must only contain numbers.

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "RoutingNumber": "123123123",
  "AuthenticationKey": "Authentication Key"
}
<GetBankDataRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Authentication Key</AuthenticationKey>
  <RoutingNumber>123123123</RoutingNumber>
</GetBankDataRequest>

Response Information

GetBankDataResponse

NameDescriptionTypeAdditional information
Description

Description

string

None.

BankName

Name of Bank based of Routing Number.

string

None.

BankAddress

Bank Institution Address.

string

None.

BankCity

City Name of Bank Institution.

string

None.

BankState

State of Bank.

string

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "Description": null,
  "BankName": "Test Bank",
  "BankAddress": "test address",
  "BankCity": "Test city",
  "BankState": "State",
  "ResponseCode": "Success",
  "Message": "Success"
}
<GetBankDataResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">Success</ResponseCode>
  <BankAddress>test address</BankAddress>
  <BankCity>Test city</BankCity>
  <BankName>Test Bank</BankName>
  <BankState>State</BankState>
  <Description i:nil="true" />
</GetBankDataResponse>

POST api/Eft/GetConvenienceFee

This operation returns the EFT convenience fee amount that corresponds to the specified fee type and dollar amount. If fee type is not provided, the API will return the default convenience fee type for your merchant. Convenience fee types vary from merchant to merchant and have to be addressed during contract negotiation.

ConvenienceFeeRequest

NameDescriptionTypeAdditional information
Amount

Charge amount

decimal number

None.

ConvenienceFeeType

Convenience fee type

string

None.

AuthenticationKey

Instance authentication key

string

Required

Request Formats

 
{
  "Amount": 1.0,
  "ConvenienceFeeType": "sample string 1",
  "AuthenticationKey": "sample string 2"
}
<ConvenienceFeeRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <AuthenticationKey xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 2</AuthenticationKey>
  <Amount>1</Amount>
  <ConvenienceFeeType>sample string 1</ConvenienceFeeType>
</ConvenienceFeeRequest>

Response Information

ConvenienceFeeResponse

NameDescriptionTypeAdditional information
ConvenienceFee

Convenience fee

decimal number

None.

CalculationType

Fee calculation type for current fee tier

string

None.

FlatRate

Flat rate for fee tier, applicable for CalculationType = FlatRate

decimal number

None.

Percent

Percent rate for fee tier, applicable for CalculationType = Percent

decimal number

None.

MinimumAmount

Minimum fee amount, applicable for CalculationType = Percent

decimal number

None.

ResponseCode

Operation response code

string

None.

Message

Response message

string

None.

Response Formats

{
  "ConvenienceFee": 1.0,
  "CalculationType": "sample string 2",
  "FlatRate": 1.0,
  "Percent": 1.0,
  "MinimumAmount": 1.0,
  "ResponseCode": "sample string 3",
  "Message": "sample string 4"
}
<ConvenienceFeeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts.Eft">
  <Message xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 4</Message>
  <ResponseCode xmlns="http://schemas.datacontract.org/2004/07/OneInc.ProcessOne.RestApi.Contracts.DataContracts">sample string 3</ResponseCode>
  <CalculationType>sample string 2</CalculationType>
  <ConvenienceFee>1</ConvenienceFee>
  <FlatRate>1</FlatRate>
  <MinimumAmount>1</MinimumAmount>
  <Percent>1</Percent>
</ConvenienceFeeResponse>

Test Data

You can use the following card numbers for testing purposes.

Card Type Card number Cvv2 Expiration date Comments
Visa 4111111111111111 Any 3 digit Any future date
MasterCard 5431111111111111 Any 3 digit Any future date
Discover 6011601160116611 Any 3 digit Any future date
AmericanExpress 341111111111111 Any 4 digit Any future date
Hybrid Visa PinlessDebit Star 4024007167282317 Any 3 digit Any future date This is as a Hybrid Visa card. If your Merchant is provisioned for Pinless Debit cards, the card will process as a pinless debit Star. If your merchant account is not setup for Pinless Debit, it will process as a Visa
Hybrid Discover PinlessDebit Pulse 6011172923498605 Any 3 digit Any future date This is as a Hybrid Discover card. If your Merchant is provisioned for Pinless Debit cards, the card will process as a pinless debit Pulse. If your merchant account is not setup for Pinless Debit, it will process as a Discover
Hybrid MasterCard PinlessDebit Nyce 5384483278305365 Any 3 digit Any future date This is as a Hybrid Mastercard. If your Merchant is provisioned for Pinless Debit cards, the card will process as a pinless debit Nyce. If your merchant account is not setup for Pinless Debit, it will process as a Mastercard

Use the following card number and amount combination to simulate different API response codes

Card number Amount Response Code Description
4444444444444448 1.00 or any not listed amount Success Test: Charge approved
4444444444444448 2.00 or 12.00 IncorrectValidationValue Test: CVV2 code is invalid
4444444444444448 3.00 or 13.00 Declined Test: Declined
4444444444444448 4.00 OverMaximumPayment Test: Exceed max payment amount
4444444444444448 5.00 or 15.00 DuplicateTransaction Test: Duplicate transaction
4444444444444448 6.00 or 16.00 GatewayInternalError Test: System is down
4444444444444448 7.00 or 17.00 InvalidCardNumber Test: Invalid card number returned by gateway
4444444444444448 14.00 AvsVerificationFailed Test: Avs verification failed
4444444444444448 18.00 Call Test: Issuer wants voice contact with cardholder
4444444444444448 19.00 NoProcessorResponse Test: No response from Processor

You can use the following EFT data for testing purposes.

Account Number Routing Number Account Type
123456789 121042882 Checking

Use the following bank account number and amount combination to simulate different API response codes.

Test Data for Credit and Debit transaction types.
Account Number Amount Response Code Description
1234567890 $0.00 Success Test: Successfully saved
1234567890 $1.00 Success Test: Transaction approved
1234567890 $2.00 ACHTransactionFailed Test: Not able to process bank account payment
1234567890 $3.00 GatewayInternalError Test: System is down
1234567890 $4.00 NoProcessorResponse Test: No response from Processor
Test Data for Void and Refund transaction types. You can only void or refund an already existing transaction.
Account Number Amount Response Code Description
1234567890 $11.00 ACHTransactionFailed Test: Not able to process bank account payment
1234567890 $12.00 GatewayInternalError Test: System is down
1234567890 $13.00 NoProcessorResponse No response from Processor

You can use the following EFT data to simulate Bank Account Validation response codes.

For testing, any valid routing number shall be used. The results will depend on bank account number.
Account Number Response Code Description
1234567890 Success Test: Charge approved
2234567890 InvalidAccountNumber Test: Invalid Account Number
3234567890 InvalidRoutingNumber Test: Invalid Routing Number
4234567890 GatewayInternalError Test: System is down

Response Code Definitions

Response Code Description Applicable Methods
Success Indicates a successful transaction. All
InvalidAuthenticationKey Invalid Authentication Key. This key will be assigned to you by One Inc. All
MerchantDisabled Your Merchant account is disabled. All
IncorrectValidationValue The CVV2 code is invalid. ChargeCreditCard | ChargeCreditCardNoFee
AvsVerificationFailed AVS failed. ChargeCreditCard | ChargeCreditCardNoFee
IncorrectTransactionId Indicates that the transactionID that you are sending for a refund or void is not a valid transaction or cannot be found. GetTokenInfo | RefundCreditCard | RefundEFT | UpdateCreditCard | UpdateTransactionMetadata | VoidCreditCard | VoidEFT
InvalidCardNumber This is an invalid card number. Can also indicate that this is a closed account. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
CardExpired The Card is Expired. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
MaxAllowablePaymentsExceeded Maximum Allowable payments exceeded for policy or account. ChargeCreditCard | ChargeCreditCardNoFee | DebitEFT | DebitEFTWithFee
CardTypeNotAccepted The card type provided is not supported. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
Declined The transaction was declined by the issuing bank. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
Call Indicates that the merchant should call the issuing bank. It is likely fraud. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
GatewayInternalError This generic error can happen for different reasons. The error description will contain more detailed information as to the core of the problem. All
InvalidRoutingNumber You have sent in an invalid Routing Number. GetBankData | CreditEFT | DebitEFT | DebitEFTWithFee | SaveEFT | VerifyBankAccount
InvalidAccountNumber You have sent in an invalid Account Number. CreditEFT | DebitEFT | DebitEFTWithFee | SaveEFT | VerifyBankAccount
BlockedBankAccount This bank account has been blocked due to past failed payments. DebitEFT | DebitEFTWithFee | SaveEFT
InvalidEFTAmount Amount must be greater than $0. CreditEFT | DebitEFT | DebitEFTWithFee | GetEftConvenienceFee
EFTCustomerNameMissing When processing an EFT, you must supply the customer name or you will receive this error. CreditEFT | DebitEFT | DebitEFTWithFee | SaveEFT
CreditCardCustomerNameMissing When saving a credit card you must provide the customer name. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | VerifyCreditCard
ACHTransactionFailed Returned when an error returns for processing EFTDebit transactions. CreditEFT | DebitEFT | DebitEFTWithFee
CreditCardVoidFailed The voiding of the credit card transaction has failed. VoidCreditCard
CreditCardVoidFailed The voiding of the credit card transaction has failed. VoidCreditCard
BatchHasBeenClosed This error message is returned when you attempt to void a transaction when the batch has already been closed. VoidCreditCard | VoidEFT
OverMaximumPayment Payment Amount has exceeded maximum allowed. ChargeCreditCard | ChargeCreditCardNoFee | CreditEFT | DebitEFT | DebitEFTWithFee
InvalidCreditCardAmount You have sent in an invalid amount for credit card transaction. Usually occurs when sending in a zero dollar amount. ChargeCreditCard | ChargeCreditCardNoFee | GetCreditCardConvenienceFeeAmount | RefundCreditCard
DuplicateTransaction A duplicate payment has been entered into the system with the same Amount, Last 4, PolicyNumber (ClientRefData1) in the configured specified amount of time. Default is 2 min but this can be changed. Please contact support team to change this amount. ChargeCreditCard | ChargeCreditCardNoFee | CreditEFT | DebitEFT | DebitEFTWithFee | RefundCreditCard
InvalidZipcode An invalid zip code was passed. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | UpdateCreditCard | VerifyCreditCard
InvalidExpirationDate An invalid expiration date was passed. ChargeCreditCard | ChargeCreditCardNoFee | SaveCreditCard | UpdateCreditCard | VerifyCreditCard
UnableToRefundTransaction Transaction has already been refunded. RefundCreditCard | RefundEFT
PartialRefundIsNotAllowed Your merchant is not setup to process partial refunds. Please reach out to the support team if you would like this feature enabled. RefundCreditCard
InvalidPartialRefundAmount An attempt was made to refund more than the original payment. RefundCreditCard
BatchHasNotBeenClosed You have attempted to refund a payment but the batch has not closed. You should void payment instead. RefundCreditCard
NoProcessorResponse An attempt to authorize a card through the card network has timed out. You should try again. All
OperationNotSupportedByGateway This error may occur when trying to execute operation with incorrect settings. VerifyCreditCard
OperationNotSupportedByMerchant This error may occur when trying to execute operation which is currently disabled for merchant. VerifyBankAccount, VerifyCreditCard